Update and maintain project documentation for local code changes using multi-agent workflow with tech-writer agents. Covers docs/, READMEs, JSDoc, and API documentation.
User can provide specific focus areas or documentation types:
$ARGUMENTS
If nothing is provided, focus on all documentation needs for uncommitted changes. If everything is committed, cover the latest commit.
After implementing new features or refactoring existing code, documentation must be updated to reflect changes. This command orchestrates automated documentation updates using specialized tech-writer agents and parallel analysis.
Ensure all code changes are properly documented with clear, maintainable documentation that helps users accomplish real tasks.
Read SADD skill if available
Discover documentation infrastructure
Inventory existing documentation
# Find all documentation files
find . -name "*.md" -o -name "*.rst" | grep -E "(README|CHANGELOG|CONTRIBUTING|docs/)"
# Check for generated docs
find . -name "openapi.*" -o -name "*.graphql" -o -name "swagger.*"
Do steps 4-5 in parallel using haiku agents:
Analyze documentation structure
Analyze local changes
git status -u to identify all changed files (including untracked)
git show --name-status for latest commitREADME.md - if new modules/features affect project overview, High probability of needing update.README.md - if module's purpose, exports, or usage changeddocs/ index files - if documentation structure changedIf changes are simple, write documentation yourself following this guideline:
.opencode/agents/sdd-tech-writer.mdEnsure documentation:
If there are multiple changed files or significant documentation needs, use specialized agents:
Launch doc-analysis agents (parallel) (Haiku models)
Launch sdd-tech-writer agents for documentation (parallel) (Sonnet or Opus models)
.opencode/agents/sdd-tech-writer.md for best practicesLaunch quality review agents (parallel) (Sonnet or Opus models)
sdd-tech-writer agents again for quality reviewIterate if needed
Final verification
Analyze documentation needs for changes in {DOCUMENTATION_AREA}.
Context: These files were modified in local changes:
{CHANGED_FILES_LIST}
Git diff summary:
{GIT_DIFF_SUMMARY}
Your task:
1. Review the changes and understand their documentation impact
2. Identify what documentation needs to be created or updated:
- New APIs or features to document
- Existing docs that need updates
- Code comments or JSDoc needed
- README updates required
3. Identify index documents requiring updates:
- Module README.md files affected by changes
- Root README.md if features or modules changed
- docs/ index files (index.md, SUMMARY.md, guides.md, getting-started.md, references, resources, etc.)
- Navigation files (_sidebar.md, mkdocs.yml nav section)
4. Check existing documentation to avoid duplication
5. Create prioritized list of documentation tasks:
- CRITICAL: Breaking changes, new public APIs
- IMPORTANT: New features, configuration changes, index updates
- NICE_TO_HAVE: Code comments, minor clarifications
Output format:
- List of documentation tasks with descriptions
- Priority level for each
- Suggested documentation file locations
- Index documents requiring updates
- Existing docs to reference for style
Create/update documentation for {DOCUMENTATION_AREA}.
Documentation requirements identified:
{DOCUMENTATION_TASKS_LIST}
Your task:
1. Read Tech Writer Agent guidelines `.opencode/agents/sdd-tech-writer.md`
2. Read @README.md for project context and conventions
3. Review existing documentation for style and patterns
4. Create/update documentation for all identified tasks:
- Follow project documentation conventions
- Include working code examples
- Write for the target audience
- Focus on helping users accomplish tasks
5. Ensure documentation:
- Is clear and concise
- Avoids duplication with existing docs
- Has valid links and references
- Includes necessary context and examples
Target files: {TARGET_DOCUMENTATION_FILES}
Review documentation quality for {DOCUMENTATION_AREA}.
Context: Documentation was created/updated for local code changes.
Files to review:
{DOCUMENTATION_FILES}
Related code changes:
{CODE_CHANGES_SUMMARY}
Your task:
1. Read the documentation created/updated
2. Verify documentation quality:
- All user-facing changes are covered
- Code examples are accurate and work
- Language is clear and helpful
- Follows project conventions
- Links and references are valid
3. Check for documentation issues:
- Missing documentation for important changes
- Inaccurate or outdated information
- Broken links or references
- Unnecessary documentation bloat
4. Verify no conflicts with existing documentation
Output:
- PASS: Documentation is complete and high quality ✅
- ISSUES: List specific problems that need to be fixed
CRITICAL: Documentation must justify its existence
├── Does it help users accomplish real tasks? → Keep
├── Is it discoverable when needed? → Improve or remove
├── Will it be maintained? → Keep simple or automate
└── Does it duplicate existing docs? → Remove or consolidate
User-Facing Documentation:
Developer Documentation:
Documentation Debt Generators:
Red Flags - Stop and Reconsider:
<mcp_usage> Use Context7 MCP to gather accurate information about:
Inventory Existing Documentation:
# Find all documentation files
find . -name "*.md" -o -name "*.rst" -o -name "*.txt" | grep -E "(README|CHANGELOG|CONTRIBUTING|docs/)"
# Find index documents specifically
find . -name "index.md" -o -name "SUMMARY.md" -o -name "_sidebar.md" -o -name "getting-started.md"
find . -name "mkdocs.yml" -o -name "docusaurus.config.js"
# Check for generated docs
find . -name "openapi.*" -o -name "*.graphql" -o -name "swagger.*"
# Look for JSDoc/similar
grep -r "@param\|@returns\|@example" --include="*.js" --include="*.ts"
Identify critical user paths:
High-Impact Gaps (address first):
Low-Impact Gaps (often skip):
Use Automated Generation For:
Write Manual Documentation For:
OpenAPI/Swagger:
GraphQL Introspection:
Prisma Schema:
JSDoc/TSDoc:
For each existing document, ask:
High-Impact, Low-Effort Updates:
Automate Where Possible:
Project Root README:
# Project Name
Brief description (1-2 sentences max).
## Quick Start
[Fastest path to success - must work in <5 minutes]
## Documentation
- [API Reference](./docs/api/) - if complex APIs
- [Guides](./docs/guides/) - if complex workflows
- [Contributing](./CONTRIBUTING.md) - if accepting contributions
## Status
[Current state, known limitations]
Module README Pattern:
# Module Name
**Purpose**: One sentence describing why this module exists.
**Key exports**: Primary functions/classes users need.
**Usage**: One minimal example.
See: [Main documentation](../docs/) for detailed guides.
Index documents serve as navigation aids and entry points for documentation. When updating documentation, always check if related index documents need updates.
Common Index Documents to Update:
| Document | Location | Update When |
|---|---|---|
README.md | Project root | New features, modules, or significant changes |
README.md | Module directories | Module API, exports, or purpose changes |
index.md | docs/ root | New documentation pages or structure changes |
getting-started.md | docs/ | Setup steps, prerequisites, or quickstart changes |
guides.md | docs/ | New guides added or guide categories change |
reference.md | docs/ | New API references or reference structure |
resources.md | docs/ | New tools, links, or resources added |
SUMMARY.md | docs/ (GitBook) | Any documentation structure changes |
_sidebar.md | docs/ (Docsify) | Navigation structure changes |
mkdocs.yml | Project root (MkDocs) | Documentation navigation changes |
Index Document Update Checklist:
When documentation changes affect a module or feature:
Module-level index - Update the module's README.md:
Section-level index - Update relevant docs/ index files:
docs/guides.md - if adding new guidesdocs/reference.md - if adding new API docsdocs/tutorials.md - if adding new tutorialsProject-level index - Update root README.md:
Navigation index - Update site navigation if present:
SUMMARY.md for GitBook projects_sidebar.md for Docsify projectsmkdocs.yml nav section for MkDocs projectsExample: Adding a New Feature
When adding a new "export" feature to a reporting module:
Files to update:
├── src/reporting/README.md → Add export to key exports
├── docs/guides/index.md → Link to new export guide
├── docs/guides/exporting.md → Create new guide (main content)
├── docs/reference/index.md → Link to export API reference
├── README.md → Mention export in features list
└── SUMMARY.md → Add navigation entries
Document These:
/**
* Processes payment with retry logic and fraud detection.
*
* @param payment - Payment details including amount and method
* @param options - Configuration for retries and validation
* @returns Promise resolving to transaction result with ID
* @throws PaymentError when payment fails after retries
*
* @example
* ```typescript
* const result = await processPayment({
* amount: 100,
* currency: 'USD',
* method: 'card'
* });
* ```
*/
async function processPayment(payment: PaymentRequest, options?: PaymentOptions): Promise<PaymentResult>
Don't Document These:
// ❌ Obvious functionality
getName(): string
// ❌ Simple CRUD
save(user: User): Promise<void>
// ❌ Self-explanatory utilities
toLowerCase(str: string): string
Before Publishing:
Documentation Debt Prevention:
## Documentation Updates Completed
### Files Updated
- [ ] README.md (root)
- [ ] Module README.md files
- [ ] docs/ directory organization
- [ ] API documentation (generated/manual)
- [ ] JSDoc comments for complex logic
### Index Documents Updated
- [ ] Root README.md - features list, quick start
- [ ] Module README.md files - exports, usage
- [ ] docs/index.md or SUMMARY.md - navigation
- [ ] docs/tutorials.md or getting-started.md - tutorials
- [ ] docs/guides.md - guides
- [ ] docs/reference.md - API reference
- [ ] Other index files: [list any others]
### Changes Documented
- [List code changes that were documented]
- [New documentation created]
- [Existing documentation updated]
### Quality Review
- [ ] All examples tested and working
- [ ] Links verified
- [ ] Index documents link to new content
- [ ] Follows project conventions
### Next Steps
- [Any follow-up documentation tasks]
- [Maintenance notes]