adr-manager
Add Architecture Decision Record (ADR) entries to an ADR file. This skill should be used when recording significant architectural decisions during development. It handles formatting and appending entries using Michael Nygard's ADR template.
Best use case
adr-manager is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Add Architecture Decision Record (ADR) entries to an ADR file. This skill should be used when recording significant architectural decisions during development. It handles formatting and appending entries using Michael Nygard's ADR template.
Teams using adr-manager should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/adr-manager/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How adr-manager Compares
| Feature / Agent | adr-manager | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Add Architecture Decision Record (ADR) entries to an ADR file. This skill should be used when recording significant architectural decisions during development. It handles formatting and appending entries using Michael Nygard's ADR template.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# ADR Manager ## Overview This skill appends Architecture Decision Record entries to an ADR file. ADRs capture significant architectural decisions, providing future maintainers with context about why decisions were made. Based on [Michael Nygard's ADR template](http://thinkrelevance.com/blog/2011/11/15/documenting-architecture-decisions). ## Adding an ADR Entry Read the existing ADR file to determine the next sequential number, then append a new entry. ALWAYS include a context link: `**Build:** [bld-<project-slug>](./.artifacts/bld-<project-slug>/)` ### Entry Format ```markdown ## ADR-<NNN>: <Title> <context-link> ### Status <status> ### Context <context> ### Decision <decision> ### Consequences <consequences> --- ``` ### Field Guidance - **ADR-NNN**: Sequential number (ADR-001, ADR-002, etc.). Read existing entries to determine next number. - **Title**: Concise description of the decision (e.g., "Use PostgreSQL for persistence", "Adopt event-driven architecture") - **Context link**: If provided by caller, include as `**Build:** [link](./path/)` or similar. Omit if not provided. - **Status**: One of `proposed`, `accepted`, `rejected`, `deprecated`, `superseded` - **Context**: The issue or situation motivating this decision. What forces are at play? - **Decision**: What was decided and why. Be specific about the choice made. - **Consequences**: What becomes easier or harder as a result. Include both positive and negative impacts. ### When to Add an Entry Add an ADR entry when: - Choosing between competing technologies or frameworks - Selecting significant architectural patterns - Making trade-offs with meaningful consequences - Deviating from the original plan - Making decisions that future maintainers would benefit from understanding Do NOT add entries for: - Routine implementation details - Minor code organization choices - Decisions that are easily reversible with no significant impact ### Example Scenarios ✅ **Add ADR:** "Chose Next.js App Router over Pages Router for better streaming support" ✅ **Add ADR:** "Adopted Zustand for state management due to simplicity vs Redux complexity" ✅ **Add ADR:** "Implemented optimistic UI updates to improve perceived performance despite network latency" ✅ **Add ADR:** "Selected PostgreSQL over MongoDB for ACID guarantees in financial transactions" ❌ **Skip ADR:** Used standard file structure conventions ❌ **Skip ADR:** Followed existing error handling patterns ❌ **Skip ADR:** Wrote unit tests using the project's existing test framework ❌ **Skip ADR:** Applied consistent naming conventions across components ### Quality Guidelines - Keep entries concise — capture the "why" for future reference, not exhaustive documentation - Focus on decisions with lasting impact - Be honest about trade-offs and consequences - Write for someone encountering this codebase months or years later