update-docs
Update Documentation
CRITICAL: Oracle-First Protocol
BEFORE making ANY changes to documentation, you MUST consult the Oracle to understand what exists and what must be preserved.
Documentation often contains hard-won knowledge, historical context, and decisions that aren't obvious from code alone. Blindly updating docs risks losing this irreplaceable information.
Mandatory Pre-Update Oracle Consultation
For EACH significant document (especially CLAUDE.md, architecture docs, decision records):
Task(
subagent_type: "general-purpose",
model: "opus",
prompt: """
You are The Oracle - analyze this documentation before it gets updated.
DOCUMENT PATH: [path]
DOCUMENT CONTENT:
[full content]
ANALYSIS REQUIRED:
1. **Critical Knowledge Inventory**
- What unique insights/decisions does this document contain?
- What historical context would be lost if overwritten?
- What hard-won lessons or gotchas are documented?
- What non-obvious information exists that code doesn't reveal?
2. **Preservation Requirements**
- List specific sections/paragraphs that MUST be preserved
- Identify any warnings, caveats, or "don't do X" guidance
- Note any project-specific conventions explained here
- Flag any links to external resources or related docs
3. **Safe to Update**
- What sections are purely factual and safe to update from code?
- What sections are demonstrably outdated based on codebase?
- What can be verified objectively vs. requires human judgment?
4. **Update Recommendations**
- Specific guidance for updating this document safely
- Sections to leave untouched without human approval
- Suggested merge strategy (preserve + add vs. replace)
Be thorough. Assume any knowledge lost here is lost forever.
"""
)
When Oracle Consultation is MANDATORY
- ALWAYS for: CLAUDE.md files, architecture docs, decision records, onboarding guides
- ALWAYS for: Any doc >200 lines or last modified >30 days ago
- ALWAYS for: Docs with sections titled "Why", "History", "Decisions", "Gotchas", "Warnings"
- RECOMMENDED for: All other significant documentation
When You Can Skip Oracle (rare)
- Trivial typo fixes
- Adding new sections (not modifying existing)
- Updating version numbers or dates
- Fixing broken links to known-good targets
Instructions
Systematically review and update all project documentation to ensure accuracy, completeness, and alignment with current codebase state.
Phase 0: Oracle Pre-Analysis (NEW - MANDATORY)
Before touching ANY documentation:
- Identify high-value documents - CLAUDE.md, architecture docs, decision records
- Run Oracle analysis on each high-value document
- Create preservation checklist from Oracle findings
- Add preservation requirements to TodoWrite - these are non-negotiable
Example TodoWrite entries from Oracle:
- [ ] PRESERVE: Authentication decision rationale in CLAUDE.md (lines 45-67)
- [ ] PRESERVE: Database migration warnings in architecture.md
- [ ] PRESERVE: "Why we don't use X" section in conventions.md
- [ ] SAFE TO UPDATE: API endpoint list (verify against code)
Phase 1: Discovery & Analysis
-
Find all documentation files:
.plans/**/*.md- Plan documents**/CLAUDE.md- Claude-specific guidelinesdocs/**/*- General documentation.tasks/**/*- Task tracking files- Any other doc files the user specifies
-
Git analysis (if applicable):
- Check when docs were last modified
- Identify code changes since last doc update
- Use
git logto understand what changed
-
Create comprehensive todo list - One item per document to review
- Include Oracle preservation requirements from Phase 0
Phase 2: Systematic Document Review
For EACH document in the todo list:
Step 1: Read & Understand
- Fully read the document
- Understand its purpose and scope
- Note any references to code, features, or architecture
- Check Oracle preservation list for this document
Step 2: Validate Against Codebase
Audit the codebase to check if documentation is:
- Misleading: Claims something that isn't true
- Outdated: References old code, deprecated patterns, or removed features
- Wrong: Contains factual errors about implementation
- Missing: Lacks important information about current state
- Redundant: Duplicates information found elsewhere
CRITICAL: Cross-reference with Oracle preservation list. If something seems outdated but Oracle flagged it as "preserve", DO NOT modify without explicit confirmation.
Step 3: Check Compliance
Verify document follows guidelines in CLAUDE.md:
- Naming conventions
- Architecture patterns
- Code style requirements
- File organization rules
Step 4: Special Handling for Plan Documents
Plans in .plans/ require careful status tracking:
Investigation:
- Thoroughly audit codebase to determine implementation status
- Check each item in the plan against actual code
- NEVER assume - verify everything with code inspection
Status Categorization:
- Todo (rename to
*.todo.md): Plan not yet implemented or partially implemented - Done (rename to
*.done.md): Plan completely implemented and verified - Obsolete (rename to
*.obsolete.md): Plan no longer relevant or superseded
Progress Marking:
- Mark implemented items with
āprefix - Keep unimplemented items without checkmark
- Be conservative - only mark as done with 100% confirmation
CRITICAL: NEVER mark a plan as done until you have 100% confirmation through code audit that EVERY item is implemented.
Step 5: Update Document (WITH PRESERVATION PROTOCOL)
Before ANY edit, verify:
- Oracle preservation requirements are honored
- No "Why", "History", or "Decision" sections are being removed
- Warnings and gotchas are being kept
- You're ADDING to existing knowledge, not replacing it
Safe update patterns:
- Fix factual errors (wrong file paths, outdated API signatures)
- Add new information alongside existing
- Update status markers and dates
- Fix broken links
Dangerous patterns (require confirmation):
- Deleting any paragraph >2 sentences
- Rewriting explanatory sections
- Removing "deprecated" or "don't use" warnings
- Changing architectural guidance
Step 6: Validate Changes
- Ensure changes are accurate
- Verify Oracle preservation requirements were followed
- Verify no information was lost
- Check that references/links still work
Step 7: Document Changes
Add to running change log:
- File: [path]
- Changes made: [description]
- Reason: [why it was updated]
- Preserved sections: [what was kept per Oracle guidance]
Step 8: Mark Complete
Update todo list to mark this document as completed
Phase 3: Cross-Document Analysis
After reviewing all individual documents:
-
Consistency check:
- Ensure all docs use consistent terminology
- Verify no conflicting information between docs
- Check that cross-references are valid
-
Coverage analysis:
- Identify features/code that lack documentation
- Find orphaned docs (no corresponding code)
- Note gaps in documentation coverage
-
Link validation:
- Verify internal references point to existing files
- Check that example code paths are correct
- Validate any external links
Phase 4: Summary & Recommendations
- Generate update summary:
# Documentation Update Summary - [Date]
## Oracle Consultation
- Documents analyzed: X
- Critical sections preserved: Y
- Preservation requirements followed: ā
/ā
## Files Updated: X
## Changes Made:
### Plans Status
- ā
Done: [list]
- š Todo: [list]
- ā ļø Obsolete: [list]
### Updates by Document
- **[file path]**
- Fixed: [what was wrong]
- Added: [what was missing]
- Removed: [what was redundant]
- **Preserved**: [what was kept per Oracle]
### Coverage Gaps
- [Undocumented features]
- [Orphaned documentation]
### Recommendations
1. [Suggested improvements]
2. [New docs needed]
- Save summary to
.docs-updates/update-[timestamp].md
Phase 5: Validation
- Build check - Ensure any doc-related code samples build correctly
- Link check - Verify all internal references work
- Completeness check - Confirm all todos were addressed
- Preservation check - Verify Oracle requirements were honored
Critical Principles
- ORACLE FIRST - Always consult Oracle before modifying significant docs
- PRESERVE OVER REPLACE - Add new info, don't delete old wisdom
- 100% VERIFICATION REQUIRED - Never mark plans as done without complete code audit
- NEVER SKIP DOCUMENTS - Review every file in the todo list
- BE CONSERVATIVE - When in doubt about plan status, keep as todo
- THOROUGH INVESTIGATION - Actually read the code to verify claims
- PRESERVE INTENT - Keep the original purpose while updating facts
- TRACK CHANGES - Document what was changed and why
- COMPLIANCE FIRST - ALWAYS follow CLAUDE.md guidelines
- NO ASSUMPTIONS - Verify everything against actual code
The Documentation Preservation Hierarchy
NEVER delete without explicit approval:
- Architectural decisions and their rationale
- "Why we did X" explanations
- Warnings, gotchas, and "don't do this" guidance
- Historical context and migration notes
- Non-obvious conventions and their reasons
Safe to update freely:
- Code examples (verify against actual code)
- File paths and line numbers
- Version numbers and dates
- Status markers and checkboxes
- Broken links (to known-good targets)
Plan Status Decision Tree
Is EVERY item in the plan implemented?
āā YES (verified in code) ā Mark items with ā
ā āā Are ALL items marked ā
?
ā āā YES ā Rename to .done.md
ā āā NO ā Rename to .todo.md (still has work)
ā
āā NO (some items not implemented) ā Rename to .todo.md
ā āā Mark implemented items with ā
ā
āā Plan is superseded or irrelevant ā Rename to .obsolete.md
Mermaid Diagrams in Documentation
When updating documentation, add or update Mermaid diagrams to visualize complex concepts.
When to Add Diagrams
| Document Type | Diagram Use |
|---|---|
| Architecture docs | Component relationships, data flow |
| API documentation | Request/response sequences |
| Process guides | Workflow flowcharts |
| Decision records | Before/after state diagrams |
Diagram Maintenance
When updating docs:
- Check existing diagrams - Are they still accurate?
- Update outdated diagrams - Reflect current architecture
- Add missing diagrams - Where text alone is insufficient
- Remove obsolete diagrams - If they show removed features
Example: Architecture Update
## Current Architecture
```mermaid
flowchart TD
subgraph Frontend
A[React App] --> B[API Client]
end
subgraph Backend
B --> C[Express Server]
C --> D[PostgreSQL]
C --> E[Redis Cache]
end
```
Note: Diagrams in documentation should be verified against actual code, just like text.
Supporting Tools Integration
- Use Task (Oracle) to analyze docs before modification
- Use Grep to search for TODOs or implementation evidence
- Use Glob to find related files
- Use Bash for git operations
- Use Read to examine code thoroughly
- Use Edit to update documentation
- Use TodoWrite to track review progress AND preservation requirements