Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Documentation accompanies code — no code is done without docs. Enforces a minimum documentation checklist per session, maintains a canonical documentation ledger across projects, and synchronizes documentation rules across all tools and agents. Use when writing code, creating features, modifying APIs, establishing new integrations, asking about documentation requirements, or managing documentation gates.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 42% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 18% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 276% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 57% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 44% | 0% |
Code without documentation is not done. Documentation is context; context is long-term memory for AI agents and future developers. Without it, each new session or developer starts from zero.
For every session involving code changes, this checklist must be satisfied:
docs/<feature>-spec.md or dedicated section in existing spec)docs/architecture.md updated with structural changes and impactsCHANGELOG.md or equivalent with entry for this changeAll AI agents and developers working on a project must maintain rule parity across tool configurations:
.rules/ or documentation directories must be mirrored in all active development tools (editor configs, linter configs, etc.)CLAUDE.md, AGENTS.md, etc. when they exist) must stay synchronizedDebt visibility principle: If code changes must skip documentation "for now," explicitly record this as doc-debt in a visible location (session-handoff.md, PROGRESS.md, or backlog). Invisible debt is unacceptable; visible debt can be tracked and cleared later.
Every non-trivial software project must maintain these living artifacts in the repository. This applies universally to all projects and teams:
| Artifact | Purpose | Format | |---|---|---| | Spec / Charter / README | What the project is, scope, non-goals, decided constraints | Markdown; updated as scope changes | | ARCHITECTURE.md | System structure, component interfaces, security invariants, extension points | Markdown; keep synchronized with code structure | | CHANGELOG.md | Versioned record of all changes, using Keep a Changelog format | One entry per significant change, newest at top | | ADRs (Architecture Decision Records) | Immutable records of architectural and technology decisions | Numbered files in docs/adr/ (e.g., ADR-001-title.md) or single file ARCHITECTURE-DECISIONS.md; format: Title, Number, Date, Status, Context, Decision, Consequences | | SESSION-HANDOFF.md | State transfer between sessions for multi-session or multi-phase projects | Markdown; preserve unresolved entries; never delete without justification | | REVIEW-DECISIONS.md | Decisions made during formal reviews (security, performance, architecture) | Markdown; record Decision + Rationale + Approver + Date | | docs/review/ | Version-controlled review reports | Numbered by pass (charter-review-pass-01.md, charter-review-pass-02.md, etc.); never overwrite |
| Artifact | Required When | |---|---| | Spec, CHANGELOG, ARCHITECTURE | Any non-trivial project | | ADRs | Any non-trivial architecture, technology, or process decision | | SESSION-HANDOFF | Multi-phase, multi-session, or long-running projects | | REVIEW-DECISIONS | From first formal review onward | | docs/review/ (numbered) | From first review pass onward |
# ADR-NNN: [Title]
**Status:** Proposed | Accepted | Superseded | Deprecated
**Date:** YYYY-MM-DD
## Context
[Problem or requirement that prompted this decision]
## Decision
[What was decided and why]
## Consequences
[Expected outcomes, trade-offs, downstream impacts]Mark superseded ADRs with a reference to the new ADR that replaces it; never delete old ADRs.
Each review cycle gets a new numbered file:
charter-review-pass-01.md — first reviewcharter-review-pass-02.md — second review (addresses feedback from pass-01)Never overwrite prior reports. This preserves the audit trail of iterations and deltas.
Conversation + decision without a written record in an artifact = did not happen.
If something was decided in chat and not written to a file in the same session, assume it is lost for the next session. This applies universally to all AI agents, team members, and future developers.
New features, architectural decisions, bug fixes, and design trade-offs must all be recorded before work is considered complete. The record is the contract for the next person or AI who picks up the work.
Before marking work as done:
Documentation is not a nice-to-have. It is the binding contract between the implementer (developer or AI) and the maintainer (future developer or AI). Code changes are only complete when they are documented.
Other measured skills in the registry, with their headline benchmark lift.