Write and maintain Architecture Decision Records. Trigger: propose/update/accept/deprecate an ADR, bootstrap adr folder.
ADRs created with this skill are executable specifications for coding agents. A human approves the decision; an agent implements it. The ADR must contain everything the agent needs to write correct code without asking follow-up questions.
This means:
Write an ADR when a decision:
Do NOT write an ADR for:
When in doubt: if a future agent working in this codebase would benefit from knowing why this choice was made, write the ADR.
If you are an agent coding in a repo and you encounter any of these situations, stop and propose an ADR before continuing:
How to propose: Tell the human what decision you've hit, why it matters, and ask if they want to capture it as an ADR. If yes, run the full four-phase workflow. If no, note the decision in a code comment and move on.
| Task | Reference |
|---|---|
| Write a new ADR | references/workflow.md — the four phases: scan the codebase → capture intent (Socratic) → draft → review against the checklist |
| Implement in a repo that has ADRs | references/consulting.md — how to find, read and respect existing decisions, and how to link code ↔ ADR |
| Accept, deprecate, supersede, index, bootstrap | references/operations.md — status changes, post-acceptance lifecycle, categories for large repos |
| Run the scripts / pick a template | references/resources.md — new_adr.js, set_adr_status.js, bootstrap_adr.js, template usage |
| Review an ADR for agent-readiness | references/review-checklist.md |
| Directory, filename and status conventions | references/adr-conventions.md |
| Simple vs MADR template | references/template-variants.md |
| See a filled-out ADR | references/examples.md |
Never draft an ADR without running the four phases — skipping the codebase scan is what produces a decision that contradicts the code it is supposed to govern.
36f5af5
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.