doc-maintenance
npx skills add https://github.com/nickcrew/claude-ctx-plugin --skill doc-maintenance
Agent 安装分布
Skill 文档
Documentation Maintenance
Systematically audit, organize, and remediate project documentation by comparing the codebase against existing docs to find staleness, gaps, and misorganization.
When to Trigger
- After merging a feature branch or completing a refactor
- After dependency upgrades or API changes
- When onboarding surfaces confusion about project docs
- Periodic maintenance (monthly or per-release)
- When
scripts/doc_audit.pyis run manually and reports findings
Workflow Overview
Phase 1: Audit â Run deterministic scan + haiku search agents
Phase 2: Triage â Classify findings by severity and action type
Phase 3: Remediate â Dispatch specialized agents to fix/create docs
Phase 4: Quality â docs-architect reviews all changes
Phase 1: Audit
Step 1a â Run the deterministic scan
Execute the bundled audit script to get a baseline report:
python3 skills/doc-maintenance/scripts/doc_audit.py
The script produces a structured report covering:
- Broken internal links (markdown
[text](path)pointing to missing files) - Orphan docs (files not linked from any other doc or README)
- Missing required structure (expected folders/files absent from
docs/ormanual/) - Stale timestamp indicators (files unchanged for >90 days with code siblings that changed)
- Empty or stub files (< 3 lines of content)
Pass --json for machine-readable output. Pass --root PATH to override project root detection.
Step 1b â Dispatch haiku search agents
After the deterministic scan, launch parallel haiku subagents to perform deeper analysis.
Use model: "haiku" on all Task calls in this phase to minimize cost.
See references/agent-dispatch.md for full prompt templates.
Agent 1 â Code-to-doc coverage scan (subagent_type: "Explore", model: "haiku"):
Search the codebase for public APIs, CLI commands, config schemas, and exported modules.
Cross-reference against existing docs. Report anything undocumented.
Agent 2 â Doc-to-code freshness scan (subagent_type: "Explore", model: "haiku"):
Read each doc file and verify the code constructs it references still exist and match
current signatures/behavior. Report mismatches.
Agent 3 â Structure compliance scan (subagent_type: "Explore", model: "haiku"):
Compare current docs/ and manual/ layout against the prescribed folder structure
in references/folder-structure.md. Report missing folders, misplaced files, naming violations.
Agent 4 â Diagram opportunity scan (subagent_type: "Explore", model: "haiku"):
Scan all markdown files for ASCII/text diagrams (box-drawing characters, arrow notation,
indented tree structures beyond a few simple nodes) that should be converted to Mermaid.
Also identify sections describing flows, architectures, state machines, sequences, or
relationships where a diagram would add clarity but none exists. Report the file path,
line range, diagram type (flowchart, sequence, state, ER, etc.), and whether it is a
conversion or a net-new diagram.
Launch all four agents in parallel.
Step 1c â Merge results
Combine the script output with agent findings into a single audit report. Deduplicate overlapping findings. The report becomes the input for Phase 2.
Phase 2: Triage
Classify each finding into one of these action categories:
| Category | Description | Example |
|---|---|---|
| stale | Doc exists but references outdated code/behavior | CLI flag renamed but docs show old name |
| missing | No doc exists for a documented-worthy item | Public API endpoint with no reference doc |
| orphan | Doc exists but is unreachable / unlinked | Guide file not in any index or nav |
| misplaced | Doc exists but is in the wrong folder | Tutorial sitting in docs/architecture/ |
| irrelevant | Doc covers removed functionality | Guide for a deleted feature |
| structural | Folder structure deviates from prescribed layout | Missing docs/security/ folder |
| diagram-convert | ASCII/text diagram should be Mermaid | Complex box-drawing flowchart in architecture doc |
| diagram-missing | Section would benefit from a diagram | Multi-step process described only in prose |
Assign severity:
- P0 â User-facing doc is factually wrong (manual/)
- P1 â Developer doc references nonexistent code
- P2 â Missing doc for public API or feature
- P3 â Structural / organizational issues
- P4 â Minor staleness, cosmetic
Phase 3: Remediate
Route each finding to the appropriate specialist agent. Use the Task tool with
the subagent types listed below. See references/agent-dispatch.md for detailed
prompt templates.
| Doc type | Subagent type | Target location |
|---|---|---|
| API reference docs | reference-builder |
docs/reference/ or docs/api/ |
| Architecture docs | technical-writer |
docs/architecture/ |
| Developer guides (style, local dev, workflows) | technical-writer |
docs/development/ |
| Testing docs | technical-writer |
docs/testing/ |
| Security docs | technical-writer |
docs/security/ |
| User-facing tutorials | learning-guide |
manual/tutorials/ |
| User-facing how-to guides | learning-guide |
manual/guides/ |
| User-facing getting started | learning-guide |
manual/getting-started/ |
| Plans and proposals | technical-writer |
docs/plans/ |
| ASCII diagram conversion | mermaid-expert |
Inline in existing doc |
| New diagrams for prose sections | mermaid-expert |
Inline in existing doc |
Parallel dispatch: Group independent remediation tasks and dispatch them simultaneously. Only serialize when one doc depends on another (e.g., an API reference needed before a tutorial that links to it). Dispatch up to 4 remediation agents in parallel per batch.
For updates to existing docs: Provide the agent with the current file contents and the specific finding to fix. Instruct it to make minimal, targeted edits.
For new docs: Provide the agent with the relevant source code, the target file path, and the folder-structure spec so it follows naming conventions.
Phase 4: Quality Gate
After all remediation agents complete, dispatch a single docs-architect agent to review
the full set of changes. The quality gate checks:
- Accuracy â Do docs match current code?
- Completeness â Are all public interfaces covered?
- Organization â Does folder structure match the prescribed layout?
- Cross-references â Are all internal links valid?
- Consistency â Tone, formatting, heading levels
- No orphans â Every new doc is linked from an index or parent doc
If the quality gate fails, loop back to Phase 3 for the specific issues flagged. Maximum 2 remediation loops before escalating to the user.
Folder Structure
The prescribed folder layout is defined in references/folder-structure.md. Summary:
docs/ â Internal / developer documentation
docs/
âââ architecture/ â System design, ADRs, component diagrams
âââ development/ â Developer guides: style, local setup, issue tracking
âââ plans/ â Proposals, RFCs, roadmaps
âââ reviews/ â Code review records, audit reports
âââ testing/ â Test strategy, coverage reports, test plans
âââ reports/ â Generated reports, metrics, analysis
âââ security/ â Security policies, threat models, audit findings
âââ api/ â Internal API docs (OpenAPI specs, gRPC protos)
âââ reference/ â CLI reference, config reference, manpages
âââ ideas/ â Exploratory notes, spikes, brainstorms
âââ archive/ â Deprecated docs preserved for history
manual/ â User-facing documentation (project root)
manual/
âââ getting-started/ â Installation, quickstart, first steps
âââ guides/ â How-to guides for common tasks
âââ tutorials/ â Step-by-step learning paths
âââ reference/ â User-facing command/config reference
âââ troubleshooting/ â FAQ, common errors, known issues
README.md â Project root
The main README is audited for accuracy but not reorganized. Findings about the README are reported as stale/missing items for manual remediation.
Anti-Patterns
- Do not delete docs without confirming the feature they describe is truly removed
- Do not reorganize docs without updating all internal cross-references
- Do not create stub files just to fill the folder structure â only create docs with real content
- Do not duplicate content between
docs/andmanual/â link instead - Do not move user-facing docs into
docs/or developer docs intomanual/