adr-documentation
Skill2 starsChanged 3 months agoMITView on GitHub
Creates, updates, reviews, indexes, and supersedes local Architecture Decision Records and related architecture documentation. Use for ADR work, documenting design decisions, checking implementation against accepted decisions, maintaining docs/adr files, or reconciling architecture docs with code.
In this repository11 other files it gives its agents.
- AGENTS.mdAGENTS.md
- global/AGENTS.mdAGENTS.md
- direnv-1passwordSkill
- dreamingSkill
- linear-task-managementSkill
- researchSkill
- code-review-and-qualitySkill
- debugging-and-error-recoverySkill
- security-and-hardeningSkill
- test-driven-developmentSkill
- zikra-memorySkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
27 rules. About 0 are common, 26 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈26
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 12
Before creating or modifying an ADR:
- Distinctive: line 16
Read the local ADR README/template and at least two recent ADRs, including the newest accepted ADR when possible.
- Distinctive: line 24
Search for related ADRs and architecture documents before proposing a new record.
- Very specific: line 26
Use codebase-memory-mcp for broad architectural discovery when available, then confirm exact wording and implementation with Pi's read and …
- Distinctive: line 32
Amend: add a dated clarification when the original decision remains valid but needs material qualification.
- Distinctive: line 37
Do not mark a proposal as accepted unless the user explicitly says the decision is accepted or repository governance clearly establishes …
- Distinctive: line 53
Write the decision as a specific, testable statement—not a project summary or implementation diary.
- Distinctive: line 57
Update the ADR index or README if local convention requires it.
- Distinctive: line 58
Search for architecture documents that now conflict with the decision and update them in the same change when safe.
- Distinctive: line 64
Do not change the original decision merely because implementation later drifted.
- Distinctive: line 66
Use a dated amendment or a superseding ADR for material decision changes.
- Distinctive: line 67
When changing status, preserve the old state in history or metadata if local conventions support it.
- Distinctive: line 69
Keep links relative and verify that referenced local files exist.
- Distinctive: line 73
When asked whether code meets an ADR:
- Distinctive: line 75
Read the ADR completely, including referenced ADRs and architecture documents.
- Distinctive: line 86
Do not treat comments, plans, proposed documents, or disabled code as proof of runtime enforcement.
- Distinctive: line 93
verify numbering and filename uniqueness
- Distinctive: line 94
verify frontmatter or status/date fields
- Distinctive: line 95
verify local Markdown links and referenced paths
- Distinctive: line 96
check index ordering and entries
- Distinctive: line 97
search for stale references to superseded decisions
- Distinctive: line 98
run repository documentation lint, formatting, or link-check commands when available
- Distinctive: line 101
Never run broad auto-formatters that rewrite unrelated documentation without explicit approval.
- Distinctive: line 107
Use present tense for the accepted decision and past tense for historical context.
- Distinctive: line 108
Avoid secrets, transient credentials, personal data, and environment-specific values.
- Distinctive: line 109
Avoid claims such as “secure,” “sandboxed,” or “isolated” without naming the concrete enforcement mechanism and failure behavior.
- Distinctive: line 110
Use Mermaid only when it materially clarifies boundaries or execution flow and local docs support it.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
ADR and Documentation Management
Manage ADRs in the current repository using its existing local conventions. Treat the repository—not a generic template—as the source of truth for paths, numbering, structure, terminology, and lifecycle states.
Discover local conventions first
Before creating or modifying an ADR:
- Find repository guidance such as
AGENTS.md,CONTRIBUTING.md, documentation READMEs, and ADR templates. - Locate ADR directories and indexes. Common paths include
docs/adr/,doc/adr/,docs/decisions/, andarchitecture/decisions/, but do not assume one. - Read the local ADR README/template and at least two recent ADRs, including the newest accepted ADR when possible.
- Determine:
- filename and sequence-number format
- required sections and heading style
- accepted status vocabulary
- date format
- cross-reference style
- whether an index or generated table must be updated
- Search for related ADRs and architecture documents before proposing a new record. Update an existing draft when it already covers the same decision.
Use codebase-memory-mcp for broad architectural discovery when available, then confirm exact wording and implementation with Pi's read and search tools.
Decide the correct operation
- Create: a durable architectural choice has been made and no existing ADR records it.
- Update: fix clarity, references, consequences, or implementation status without rewriting historical facts.
- Amend: add a dated clarification when the original decision remains valid but needs material qualification.
- Supersede: a newer decision replaces all or part of an accepted ADR. Create the new ADR and link both directions; do not silently rewrite history.
- Deprecate: the decision no longer applies and no replacement decision is required.
- Review only: report drift or gaps without editing when the user asks for evaluation rather than changes.
Do not mark a proposal as accepted unless the user explicitly says the decision is accepted or repository governance clearly establishes acceptance.
Creating an ADR
- Select the next number by inspecting existing filenames. Re-check immediately before writing to avoid collisions.
- Copy the repository's template and section order. If no convention exists, use:
- Title
- Status
- Date
- Context and Problem Statement
- Decision Drivers
- Considered Options
- Decision Outcome
- Consequences
- Security and Operational Considerations, when relevant
- References
- Write the decision as a specific, testable statement—not a project summary or implementation diary.
- Explain meaningful alternatives and why they were rejected. Do not fabricate options that were never considered.
- Record positive, negative, and neutral consequences honestly.
- Link related ADRs, source files, tests, plans, issues, specifications, and operational documentation using repository-relative links where appropriate.
- Update the ADR index or README if local convention requires it.
- Search for architecture documents that now conflict with the decision and update them in the same change when safe.
Updating existing ADRs
Preserve historical integrity:
- Do not change the original decision merely because implementation later drifted.
- Correct typos and broken links directly.
- Use a dated amendment or a superseding ADR for material decision changes.
- When changing status, preserve the old state in history or metadata if local conventions support it.
- For supersession, add
Superseded byto the old ADR andSupersedesto the new ADR. - Keep links relative and verify that referenced local files exist.
Implementation-alignment review
When asked whether code meets an ADR:
- Read the ADR completely, including referenced ADRs and architecture documents.
- Convert its decision and required controls into a checklist of observable claims.
- Trace each claim into actual entry points, configuration, workflows, tests, deployment manifests, and failure paths.
- Distinguish clearly between:
- implemented and tested
- implemented but untested
- partially implemented
- documented only or feature-flagged off
- contradicted by code
- unverifiable from the repository
- Cite exact paths and line ranges for every material conclusion.
- Do not treat comments, plans, proposed documents, or disabled code as proof of runtime enforcement.
- Recommend whether to fix code, amend documentation, or supersede the ADR.
Documentation quality checks
After edits:
- verify numbering and filename uniqueness
- verify frontmatter or status/date fields
- verify local Markdown links and referenced paths
- check index ordering and entries
- search for stale references to superseded decisions
- run repository documentation lint, formatting, or link-check commands when available
- inspect
git diffto ensure only intended documentation changed
Never run broad auto-formatters that rewrite unrelated documentation without explicit approval.
Writing style
- Be concise, factual, and durable.
- Explain why the decision exists and what constraints it creates.
- Use present tense for the accepted decision and past tense for historical context.
- Avoid secrets, transient credentials, personal data, and environment-specific values.
- Avoid claims such as “secure,” “sandboxed,” or “isolated” without naming the concrete enforcement mechanism and failure behavior.
- Use Mermaid only when it materially clarifies boundaries or execution flow and local docs support it.
Completion report
Summarize:
- ADRs and related documents created or changed
- status and decision recorded
- superseded or related ADRs
- implementation evidence reviewed
- documentation checks run
- unresolved governance or implementation gaps
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

