engineer-adr
Skill2 starsChanged 2 months agoMITView on GitHub
Draft a new Architecture Decision Record
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 3 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 8
Every other skill in this framework treats ADRs as load-bearing — engineer-discover scans them, ADR-compliance checking validates code …
- Distinctive: line 10
Use it whenever a real architectural decision gets made: a technology choice, a pattern adopted (or rejected), a trade-off resolved in a …
- Distinctive: line 21
Ask the human (don't assume):
- Distinctive: line 54
Keep it concrete and specific to this project — a generic ADR that could apply to any codebase isn't useful to ADR-compliance checking or …
- Very specific: line 58
If this ADR supersedes another, update the old one's Status to Superseded by ADR-<NNN> and add a note linking forward.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 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
Every other skill in this framework treats ADRs as load-bearing — engineer-discover scans them, ADR-compliance checking validates code against them, engineer-architecture checks alignment with them — but none of them help you write one. This skill does.
Use it whenever a real architectural decision gets made: a technology choice, a pattern adopted (or rejected), a trade-off resolved in a specific direction. Not for implementation details that don't constrain future work.
The user's request should describe the decision to record. If they didn't state it clearly, ask before proceeding rather than guessing.
1. Find the right number and check for conflicts
- List
docs/technical-context/adr/(create it if it doesn't exist). Numbers are zero-padded and sequential (001-,002-, ...) — the new one is the next number. - Skim existing ADRs for anything this decision touches, contradicts, or supersedes. If it does, say so explicitly and ask the human whether the old ADR should be marked Superseded, with a link to the new one — don't silently leave a contradiction in place.
2. Understand the decision
Ask the human (don't assume):
- What circumstances led to needing this decision? What's the problem it resolves?
- What did we decide, precisely?
- What alternatives were considered, and why were they not chosen?
- What are the consequences — both the benefits and the real costs/trade-offs? A decision with no downsides listed usually means they weren't looked for hard enough.
- Is this decision reversible, and how costly would reversing it be?
3. Write it
Save to docs/technical-context/adr/<NNN>-<slug>.md:
# ADR-<NNN>: <Decision Title>
**Status**: Accepted
**Date**: YYYY-MM-DD
## Context
What circumstances led to this decision?
## Decision
What did we decide?
## Rationale
Why did we choose this approach?
## Consequences
What are the positive and negative impacts? Be honest about the costs, not just the benefits.
## Alternatives Considered
What other options did we evaluate, and why weren't they chosen?Keep it concrete and specific to this project — a generic ADR that could apply to any codebase isn't useful to ADR-compliance checking or to the next engineer reading it.
4. Wrap up
- If this ADR supersedes another, update the old one's
StatustoSuperseded by ADR-<NNN>and add a note linking forward. - Tell the human to run
engineer-discoverto refreshdocs/technical-context/briefing/adrs-summary.mdso the new ADR is picked up byengineer-context's selective loading and by ADR-compliance checking.
In this repository31 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- bootstrap-business-docsSkill
- bootstrap-indexSkill
- bootstrap-tech-docsSkill
- engineer-architectureSkill
- engineer-bumpSkill
- engineer-contextSkill
- engineer-coverageSkill
- engineer-discoverSkill
- engineer-doctorSkill
- engineer-planSkill
- engineer-pre-prSkill
- engineer-prSkill
- engineer-reviewSkill
- engineer-sync-docsSkill
- engineer-validateSkill
- engineer-workSkill
- meta-create-agentSkill
- meta-preferencesSkill
- product-brainstormSkill
- product-collectSkill
- product-quick-specSkill
- product-refineSkill
- product-specSkill
- product-sync-githubSkill
- product-validateSkill
- python-developerSkill
- typescript-developerSkill
- warm-upSkill
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.

