adr-writer
Use when the user explicitly invokes /adr or asks to "record an architecture decision" / "write an ADR." Produces an MADR-format Architecture Decision Record.
Skill by drumfiend21
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/drumfiend21-adr-writer
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/adr-writer
What's inside
- Skill name
adr-writer- Description
- Use when the user explicitly invokes /adr or asks to "record an architecture decision" / "write an ADR." Produces an MADR-format Architecture Decision Record. Pattern from adr.github.io and the AgDR (Agent Decision Record) extension at me2resh/agent-decision-record. Lightweight, in-repo, future-engineer-readable.
- License
- Apache-2.0
- Instructions
- 112 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# ADR writer
You are recording an Architecture Decision Record (ADR) — a
permanent, in-repo document of a decision made and why. ADRs are
how teams remember "why did we pick X" three years later.
## Output format (MADR)
Save to `${CLAUDE_PROJECT_DIR}/adr/NNNN-<slug>.md` where NNNN is the
next-numbered ADR (look at existing files; start at 0001).
```markdown
# NNNN. <Decision title — short, declarative>
Date: YYYY-MM-DD
Status: Proposed | Accepted | Deprecated | Superseded by [NNNN]
## Context and Problem Statement
What's the situation? What forces are at play? What problem are we
trying to solve? 2-4 sentences.
## Decision Drivers
- Driver 1 (constraint, requirement, or quality attribute)
- Driver 2
- ...
## Considered Options
- **Option A**: short description
- **Option B**: short description
- **Option C**: short description (often: "do nothing")
## Decision Outcome
Chosen option: **Option X**, because [reason].
### Consequences
- **Positive**: ...
- **Negative**: ...
- **Neutral**: ...
## Pros and Cons of the Options (optional, when nuance matters)
### Option A
- Pro: ...
- Con: ...
### Option B
- Pro: ...
- Con: ...
## More Information (optional)
- Links to related design docs, RFCs, prototypes.
- Reference to the spec this ADR supports (if any).
- Reference to the PR that implements it (added later).
```
## When to write an ADR
- Picking a library / framework that locks the codebase in.
- Choosing between architectural patterns (event-driven vs
request-response, monorepo vs polyrepo, REST vs GraphQL).
- Database schema decisions that are hard to reverse.
- Authentication / authorization model.
- Anything where future-you would ask "why did we do X?"
## When NOT to write an ADR
- Code style choices (those go in CONVENTIONS.md).
- Bug fixes (those are commit messages).
- Feature additions following an existing pattern (those are PR
descriptions).
- Tiny choices ("which date library" if it's reversible).
## Process
1. **Identify the decision**. What was actually chosen, vs the
alternatives that were rejected?
2. **Survey existing ADRs** (`ls adr/*.md`). Number the new one
sequentially. If the decision supersedes an older one, mark the
older as `Status: Superseded by NNNN`.
3. **Write the draft**. Keep it under 1 page. The point is durable
context, not exhaustive prose.
4. **Show the user**. Ask: APPROVED / REVISE / ABORT.
5. **On APPROVED**: commit on its own (`docs(adr): NNNN <title>`).
Suggest linking the ADR from the relevant code (file header
comment or README).
## Agent-Decision-Record (AgDR) variant
For decisions made BY an AI agent (library pick, pattern choice
during implementation), prefix the title with `[AgDR]` and add an
"AI involvement" section mirroring the PR template:
```markdown
## AI involvement
- **Prompt / task**: [what was asked]
- **Agent**: [tdd-driver, /feature, etc.]
- **Why this option**: the model's stated reasoning
- **Author review**: I read the alternatives and confirmed the
pick. ✅
```
This makes AI-made architectural decisions traceable and reviewable
later, which is the modern (2026) governance norm.From drumfiend21/claude-tdd-pro, Apache-2.0.
More from drumfiend21/claude-tdd-pro
- 0.474score
google-style-py
drumfiend21
Auto-attaches when Python files are touched.
SkillCFreshness: CClaude Code +9 - 0.474score
google-style-ts
drumfiend21
Auto-attaches when JS/TS files are touched.
SkillCFreshness: CClaude Code +9 - 0.474score
ide-rules-export
drumfiend21
X-6 per §23 — one-way IDE rules export.
SkillCFreshness: CClaude Code +9 - 0.474score
agent-continuity
drumfiend21
H-13 long-running agent harness continuity per §26 v1.11.
SkillCFreshness: CClaude Code +9 - 0.474score
failure-domain-log
drumfiend21
Use when a refusal fires, a bug recurs, the agent makes a mistake the user has to correct twice, or the user explicitly invokes /failure-log.
SkillCFreshness: CClaude Code +9 - 0.474score
tdd-pro-bash32-portability
drumfiend21
macOS bash 3.2 + BSD-tool portability checklist for substrate writing in claude-tdd-pro.
SkillCFreshness: CClaude Code +9 - 0.474score
bug-fix-discipline
drumfiend21
Use when the user reports a BUG (existing behavior is wrong) — phrases like "X breaks when Y", "this used to work", "got an error/exception/500"…
SkillCFreshness: CClaude Code +9 - 0.471score
tdd-pro-cl-workflow
drumfiend21
The per-CL workflow loop for developing the claude-tdd-pro plugin.
SkillCFreshness: CClaude Code +9 - 0.471score
architect
drumfiend21
Interactive architecture elicitation.
SkillCFreshness: CClaude Code +9 - 0.471score
feature
drumfiend21
TDD green-phase implementer.
SkillCFreshness: CClaude Code +9 - 0.471score
tdd-pro-batch-cl
drumfiend21
Substrate-touch CL batching convention for claude-tdd-pro.
SkillCFreshness: CClaude Code +9 - 0.471score
install-hooks
drumfiend21
X-7 per §23 — installs the packaged Claude Code hooks bundle (Stop, PreToolUse, PostToolUse, SessionStart subset) plus slash commands, agents, and detectors…
SkillCFreshness: CClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- May 4, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/drumfiend21/claude-tdd-pro
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from drumfiend21
- 0.474score
google-style-ts
drumfiend21
Auto-attaches when JS/TS files are touched.
SkillCFreshness: CClaude Code +9 - 0.474score
ide-rules-export
drumfiend21
X-6 per §23 — one-way IDE rules export.
SkillCFreshness: CClaude Code +9 - 0.474score
bug-fix-discipline
drumfiend21
Use when the user reports a BUG (existing behavior is wrong) — phrases like "X breaks when Y", "this used to work", "got an error/exception/500"…
SkillCFreshness: CClaude Code +9 - 0.474score
agent-continuity
drumfiend21
H-13 long-running agent harness continuity per §26 v1.11.
SkillCFreshness: CClaude Code +9 - 0.474score
google-style-py
drumfiend21
Auto-attaches when Python files are touched.
SkillCFreshness: CClaude Code +9 - 0.474score
tdd-pro-bash32-portability
drumfiend21
macOS bash 3.2 + BSD-tool portability checklist for substrate writing in claude-tdd-pro.
SkillCFreshness: CClaude Code +9
Cite this page
adr-writer skill. Agent Mart. https://agentmart.dev/skills/drumfiend21-adr-writer (last updated 2026-10-24)