Documentation standards and automation. Use when updating docs, writing guides, or synchronizing code with documentation.
Ensures all documentation is consistent, current, and complete. Used by the doc-master agent.
All CHANGELOG entries MUST follow Keep a Changelog format.
# Changelog
## [Unreleased]
### Added
- New authentication module (#123)
### Fixed
- Token expiry off-by-one error (#124)
## [1.2.0] - 2026-02-15
### Added
- Batch processing support (#100)
The [Unreleased] section MUST always exist at the top for accumulating changes.
Every README.md MUST contain these sections in order:
All public functions MUST have Google-style docstrings.
def process_data(
data: List[Dict],
*,
validate: bool = True,
) -> ProcessResult:
"""Process input data with optional validation.
Args:
data: Input records as list of dicts with 'id' and 'content' keys.
validate: Whether to validate input before processing.
Returns:
ProcessResult with metrics and processed items.
Raises:
ValueError: If data is empty or missing required keys.
"""
Include Args, Returns, and Raises for every public function. Omit sections only if truly not applicable (e.g., no exceptions raised).
Documentation MUST stay in sync with code at all times.
FORBIDDEN:
REQUIRED:
| Change Type | README | CHANGELOG | Docstrings | ADR |
|---|---|---|---|---|
| API change | Yes | Yes | Yes | Maybe |
| New feature | Yes | Yes | Yes | Maybe |
| Bug fix | No | Yes | No | No |
| Refactor (no behavior change) | No | No | Maybe | Maybe |
| Architecture decision | No | No | No | Yes |
| Config change | Yes | Yes | No | No |
| Deprecation | Yes | Yes | Yes | Maybe |
For major architectural decisions, create an ADR (Architecture Decision Record).
# ADR-NNN: [Title]
**Date**: YYYY-MM-DD
**Status**: Proposed | Accepted | Deprecated | Superseded by ADR-NNN
## Context
What is the issue or decision we need to make?
## Decision
What did we decide and why?
## Consequences
What are the positive and negative outcomes?
## Alternatives Considered
What other options were evaluated and why were they rejected?
Store ADRs in docs/adr/ directory, numbered sequentially.
This project has 17 agents and 40 skills.
These numbers drift immediately. Verify against filesystem or use dynamic discovery.
# Count before documenting
ls plugins/autonomous-dev/agents/*.md | wc -l
ls plugins/autonomous-dev/skills/*/SKILL.md | wc -l
See [architecture guide](docs/ARCHITECTURE.md) for details.
If docs/ARCHITECTURE.md was renamed to docs/ARCHITECTURE-OVERVIEW.md, this link is broken.
Check all links exist before committing documentation changes.
Shipping a user-visible feature with no CHANGELOG entry. Users cannot discover what changed.
Write the CHANGELOG entry before or during implementation, not as an afterthought.