/documentation
Document decisions, not just implementations. ADRs for architectural choices, inline docs for non-obvious code, and runbooks for operational knowledge.
$ npx -y skills add DevelopersGlobal/ai-agent-skills --skill documentation --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/documentation
Context preview
The summary Claude sees to decide when to auto-load this skill.
Document decisions, not just implementations. ADRs for architectural choices, inline docs for non-obvious code, and runbooks for operational knowledge.
SKILL.md
documentation.SKILL.mdname: documentation
description: Document decisions, not just implementations. ADRs for architectural choices, inline docs for non-obvious code, and runbooks for operational knowledge.
category: review
applies-to: [claude, gemini, cursor, copilot, any]
version: 1.0.0
Overview
Code explains what. Documentation explains why. The most valuable documentation records decisions that aren't obvious from reading the code: why this architecture, why this tradeoff, why not the obvious alternative.
When to Use
- After any significant architectural decision
- Before complex code that future maintainers will question
- When an operational procedure isn't self-evident
- When a non-obvious tradeoff was made
Process
Step 1: Architectural Decision Records (ADRs)
For every significant architectural decision: 1. Write an ADR with:
- **Context**: What was the situation requiring a decision?
- **Decision**: What was decided?
- **Alternatives considered**: What else was evaluated and why rejected?
- **Consequences**: What are the positive and negative consequences?
- **Status**: Proposed | Accepted | Deprecated | Superseded
2. Store ADRs in `docs/decisions/` as numbered markdown files.
**Verify:** Every significant decision in the last sprint has an ADR.
Step 2: Code-Level Documentation
3. Document the WHY, not the WHAT:
- ✅ `// Using exponential backoff here — the payment API has strict rate limits (3 req/sec)`
- ❌ `// Retry the request`
4. Document non-obvious algorithmic choices. 5. Document external constraints (rate limits, API quirks, platform limitations). 6. Remove comments that state the obvious — they add noise.
**Verify:** Every non-obvious code block has a "why" comment.
Step 3: Runbooks
7. For every production process that humans execute, write a runbook:
- When is this runbook used?
- What steps to execute?
- What does "done" look like?
- What could go wrong and how to recover?
8. Runbooks live in `docs/runbooks/`.
**Verify:** Every on-call alert has a linked runbook.
Step 4: README Currency
9. README reflects current state (not v1 state). 10. Setup instructions work on a fresh machine. 11. Architecture diagram updated after significant changes.
Common Rationalizations (and Rebuttals)
| Excuse | Rebuttal | |--------|----------| | "The code is self-documenting" | Code says what; documentation says why. Both are needed. | | "I'll document it later" | The context in your head right now is irreplaceable. Write it now. | | "Docs go stale" | Outdated docs are better than no docs. Update when you touch the code. |
Verification
- [ ] ADRs written for significant architectural decisions
- [ ] Non-obvious code blocks have "why" comments
- [ ] Every production alert has a linked runbook
- [ ] README is current and setup instructions work
References
- [git-workflow skill](../git-workflow/SKILL.md)
- [Michael Nygard's ADR template](https://github.com/joelparkerhenderson/architecture-decision-record)
Read more
name: documentation description: Document decisions, not just implementations. ADRs for architectural choices, inline docs for non-obvious code, and runbooks for operational knowledge. category: review applies-to: [claude, gemini, cursor, copilot, any] version: 1.0.0
Overview
Code explains what. Documentation explains why. The most valuable documentation records decisions that aren't obvious from reading the code: why this architecture, why this tradeoff, why not the obvious alternative.
When to Use
- After any significant architectural decision
- Before complex code that future maintainers will question
- When an operational procedure isn't self-evident
- When a non-obvious tradeoff was made
Process
Step 1: Architectural Decision Records (ADRs)
For every significant architectural decision: 1. Write an ADR with:
- **Context**: What was the situation requiring a decision?
- **Decision**: What was decided?
- **Alternatives considered**: What else was evaluated and why rejected?
- **Consequences**: What are the positive and negative consequences?
- **Status**: Proposed | Accepted | Deprecated | Superseded
2. Store ADRs in `docs/decisions/` as numbered markdown files.
**Verify:** Every significant decision in the last sprint has an ADR.
Step 2: Code-Level Documentation
3. Document the WHY, not the WHAT:
- ✅ `// Using exponential backoff here — the payment API has strict rate limits (3 req/sec)`
- ❌ `// Retry the request`
4. Document non-obvious algorithmic choices. 5. Document external constraints (rate limits, API quirks, platform limitations). 6. Remove comments that state the obvious — they add noise.
**Verify:** Every non-obvious code block has a "why" comment.
Step 3: Runbooks
7. For every production process that humans execute, write a runbook:
- When is this runbook used?
- What steps to execute?
- What does "done" look like?
- What could go wrong and how to recover?
8. Runbooks live in `docs/runbooks/`.
**Verify:** Every on-call alert has a linked runbook.
Step 4: README Currency
9. README reflects current state (not v1 state). 10. Setup instructions work on a fresh machine. 11. Architecture diagram updated after significant changes.
Common Rationalizations (and Rebuttals)
| Excuse | Rebuttal | |--------|----------| | "The code is self-documenting" | Code says what; documentation says why. Both are needed. | | "I'll document it later" | The context in your head right now is irreplaceable. Write it now. | | "Docs go stale" | Outdated docs are better than no docs. Update when you touch the code. |
Verification
- [ ] ADRs written for significant architectural decisions
- [ ] Non-obvious code blocks have "why" comments
- [ ] Every production alert has a linked runbook
- [ ] README is current and setup instructions work
References
- [git-workflow skill](../git-workflow/SKILL.md)
- [Michael Nygard's ADR template](https://github.com/joelparkerhenderson/architecture-decision-record)
AI agent skills for production grade applications
Other skills on ai-agent-skills.
- /ai-output-validation
Validates, parses, and sanitizes AI-generated outputs before they reach end users or downstream systems. Structured output enforcement, schema validation, and fallback handling.
Open skill - /api-design
Design stable, versioned, self-documenting APIs. Easy to use correctly, hard to use incorrectly. Apply Hyrum's Law from day one.
Open skill - /ci-cd-pipelines
Automated quality gates from commit to production. Every merge to main is potentially shippable. No manual steps in the deployment path.
Open skill - /code-explanation
Get layered, context-aware explanations of unfamiliar code. Understand what it does, why it was written that way, and how to work with it safely.
Open skill - /code-review
Structured code review focusing on correctness, security, and maintainability. Correctness before style. Every reviewer comment must be actionable.
Open skill - /context-loading
Load minimum necessary context into agent context windows. Prevents token bloat, reduces cost, and improves focus. Only load what the current task needs.
Open skill

