skills/documentation-and-adrs/SKILL.md
Use when making significant architectural decisions, changing public APIs, or shipping features where future engineers and agents will need context to understand why things are built the way they are.
npx skillsauth add paulund/skills documentation-and-adrsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Decide if an ADR is needed — write one when the decision is:
Fill the ADR template — save to docs/adrs/ADR-NNN-<slug>.md:
# ADR-NNN: <Title>
## Status
Accepted | Superseded by ADR-XXX | Deprecated
## Date
YYYY-MM-DD
## Context
What situation or constraint forced this decision?
## Decision
What we chose and why.
## Alternatives Considered
What was rejected and why — be specific.
## Consequences
What becomes easier, what becomes harder, what we're betting on.
Comment the why, not the what — inline comments explain non-obvious intent, constraints, or known gotchas. Never restate what the code already says.
README covers quick start — every project needs: one-paragraph description, quick start steps, command table (dev / test / build / lint), architecture overview, contributing guide.
Changelog for shipped features — follow Keep a Changelog format: Added / Fixed / Changed / Removed sections per version.
Agent context files stay current — keep AGENTS.md, CONTEXT.md, and spec files updated. Agents use them to avoid re-deciding what's already been decided.
| Rationalization | Reality | |---|---| | "The code is self-documenting" | Code shows what. It doesn't show why, what alternatives were rejected, or what constraints apply. | | "ADRs are overhead" | A 10-minute ADR prevents a 2-hour debate about the same decision 6 months later. | | "Nobody reads docs" | Agents do. Future engineers do. Your 3-months-later self does. | | "We'll write docs when the API stabilises" | APIs stabilise faster when you document them. The doc is the first test of the design. | | "Comments get outdated" | Comments on why are stable. Comments on what get outdated — that's why you only write the former. |
AGENTS.md or CONTEXT.md out of date with the current architectureAfter documenting:
docs/adrs/ with sequential numbering.development
Use when implementing any logic, fixing any bug, or changing any behaviour. Use when you need to prove code works, when a bug report arrives, or when modifying existing functionality. Do NOT use for config changes, data migrations, or dependency updates.
development
Use when starting a new feature, when requirements are unclear, when asked to write code without a clear spec, or before any non-trivial implementation. Do NOT use for trivial bug fixes or one-line changes.
development
Use when you want authoritative, source-cited code free from outdated patterns. Use when building with any framework or library where correctness matters. Detects the stack from dependency files, fetches official documentation, implements following documented patterns, and cites sources for every framework-specific decision.
development
Use when preparing to ship a feature, release, or deployment. Use before merging to main, creating a release, or deploying to production. Do NOT use for CI-only changes or internal refactors that don't reach production.