adr
Write an Architecture Decision Record capturing the why behind a decision — the constraints, alternatives ruled out, and trade-offs accepted.
Skill by clemens33
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/clemens33-adr
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: documents, design, writing
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
What's inside
- Skill name
adr- Description
- Write an Architecture Decision Record capturing the why behind a decision — the constraints, alternatives ruled out, and trade-offs accepted. Use when the user says "create an ADR", "document this decision", "write this up as an ADR", or after a design discussion that resolved with a clear choice. Code captures what; an ADR captures why future-you and future-teammates would have made the same call.
- License
- MIT
- Metadata
- category: preference
- Instructions
- 350 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# ADR
Architecture Decision Records preserve the reasoning behind decisions across
time and team turnover. The code shows what got built — an ADR shows why this
option won, what was ruled out, and what trade-offs were accepted on purpose.
## When to use
Trigger phrases: "create an ADR", "write this up as an ADR", "document this
decision", "ADR for this", "this is ADR-worthy".
Write an ADR when:
- A non-obvious architectural choice was made (technology, boundary, protocol,
data model, deployment topology)
- A trade-off was accepted on purpose and a future reader would otherwise
reverse it without context
- A constraint forced a non-default choice (compliance, performance budget,
legacy compatibility)
- The conversation surfaced alternatives that were considered and rejected
Skip the ADR when:
- The choice is local and reversible (variable naming, formatter config,
test layout)
- It's a TODO or aspiration, not a resolved decision
- The "decision" is just following the existing pattern in the codebase
- It's already documented in code comments where the constraint lives
## Process
### Step 1: Detect the repo's ADR convention
First, check for an `.adr-dir` file at the repo root (adr-tools convention) —
it points at the ADR directory. If present, use it.
Otherwise, check in this order for an existing ADR directory:
1. `docs/architecture/adr/`
2. `docs/decisions/` (MADR default)
3. `docs/adr/`
4. `adr/`
5. `doc/adr/`
6. `architecture/decisions/`
7. `decisions/`
If found:
- Read 1–2 existing ADRs to detect the template structure, frontmatter format,
numbering pattern (`0001`, `ADR-001`, date-based), and slug style
(`kebab-case`, `snake_case`)
- Look for a `template.md` in the same directory and reuse it verbatim if
present
- Match the existing convention exactly — consistency beats opinion
- Skip subdirectories named `archived/`, `superseded/`, `examples/`, or
prefixed `_` when computing the next number; only count files matching the
detected naming pattern
**Repo convention vs mandatory visualization — precedence:** The repo's
template wins for section names and order. Insert the Mermaid block into the
closest equivalent decision/outcome section (or `Context` for before/after
diagrams). If the repo template explicitly disallows diagrams or has no
sensible place for one, write `No diagram: follows repo ADR template` in
place of the visualization.
If not found:
- Use the opinionated default: create `docs/adr/` and use the MADR-inspired
fallback template below
- Numbering: `0001-` zero-padded 4-digit sequential
- Filename: `NNNN-imperative-kebab-case-title.md`
### Step 2: Confirm this is actually a decision
Before writing, verify the input qualifies:
- **Is it resolved?** "We should consider X" is a TODO, not an ADR. Push back
if the conversation didn't reach a clear conclusion.
- **Is it architectural?** Variable names and lint rules don't get ADRs.
Boundaries, protocols, technology choices, and trade-offs do.
- **Is there a meaningful "why"?** Capture at least one of: an alternative
considered, a rejected baseline, or a forcing constraint (compliance,
vendor, migration, safety, compatibility). A "constraint-forced
non-choice" is one of the most valuable ADR types — explain *why* the
apparently odd constraint was accepted, even if no realistic alternative
survived. The status-quo "do nothing" option is a valid alternative if
applicable.
If the input fails the "resolved" or "architectural" gates, tell the user
and don't write the ADR. If alternatives are absent, write the ADR with the
constraint that forced the call (and use "Only viable option because
\<constraint>" in Decision Outcome).
### Step 3: Gather inputs
**From the conversation, without re-asking:**
- The decision being made
- Alternatives that were discussed and rejected
- File paths, modules, or systems that were touched or referenced
- Constraints mentioned (deadlines, compliance, performance, compatibility)
- Tickets, prior ADRs, or external docs that came up
**Ask the user only for what's missing or unclear:**
- A clear imperative title ("Use Postgres for primary store" — not "Database
decision")
- The final decision wording (the one-line outcome)
- The **negative** consequences and trade-offs — these are usually understated
in chat and are the most valuable part of the ADR
- Status: usually "Proposed" unless the decision is already shipped, in which
case "Accepted"
Don't fabricate alternatives that weren't actually considered. Don't invent
constraints that weren't mentioned. If a section would be guesswork, leave it
short and honest rather than padding it.
### Step 4: Add a visualization (default ON)From clemens33/dotfiles, MIT.
More from clemens33/dotfiles
- 0.570score
catch-up
clemens33
Brief the human after time away, or record a dropped idea.
SkillAFreshness: AClaude Code +9 - 0.565score
large-feature
clemens33
7-stage playbook for large features — multi-slice work where blast radius is real, design isn't trivial, or the deliverable must stay defensible post-ship.
SkillAFreshness: AClaude Code +9 - 0.565score
quiz-diff
clemens33
Quiz the human on a diff to fight comprehension debt, then teach only the gaps.
SkillAFreshness: AClaude Code +9 - 0.560score
cross-model-review
clemens33
How to get a second model provider onto a problem: classify the producer by its served model, pick a reviewer seat on another provider, ae routing…
SkillAFreshness: AClaude Code +9 - 0.529score
gcp-operations
clemens33
Install or operate Google Cloud safely with gcloud and bq: select explicit projects, authenticate with user credentials, ADC, or federation, control BigQuery…
SkillBFreshness: BClaude Code +9 - 0.524score
refactor-audit
clemens33
Audit a codebase for architecture drift and produce a `refactor-audit.md` with evidence, recommendation, and guardrail candidates.
SkillBFreshness: BClaude Code +9 - 0.524score
collab
clemens33
Structured research and collaboration protocol for one or more agents.
SkillBFreshness: BClaude Code +9 - 0.524score
drawio-diagrams-enhanced
clemens33
Write editable draw.io / diagrams.net XML (.drawio files) with PMP/PMBOK methodologies, icon libraries, and industry-standard templates.
SkillBFreshness: BClaude Code +9 - 0.524score
humanizer
clemens33
Rewrite text that reads as AI-generated so it sounds human.
SkillBFreshness: BClaude Code +9 - 0.524score
scope
clemens33
Decompose a task into a phased implementation plan with test gates.
SkillBFreshness: BClaude Code +9 - 0.524score
code-review
clemens33
Adversarial code review with structured findings.
SkillBFreshness: BClaude Code +9 - 0.520score
manage-skills
clemens33
Create, update, and manage Claude Code skills across the public dotfiles repo and the optional private overlay.
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 7, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/clemens33/dotfiles
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from clemens33
- 0.570score
catch-up
clemens33
Brief the human after time away, or record a dropped idea.
SkillAFreshness: AClaude Code +9 - 0.565score
large-feature
clemens33
7-stage playbook for large features — multi-slice work where blast radius is real, design isn't trivial, or the deliverable must stay defensible post-ship.
SkillAFreshness: AClaude Code +9 - 0.565score
quiz-diff
clemens33
Quiz the human on a diff to fight comprehension debt, then teach only the gaps.
SkillAFreshness: AClaude Code +9 - 0.560score
cross-model-review
clemens33
How to get a second model provider onto a problem: classify the producer by its served model, pick a reviewer seat on another provider, ae routing…
SkillAFreshness: AClaude Code +9 - 0.529score
gcp-operations
clemens33
Install or operate Google Cloud safely with gcloud and bq: select explicit projects, authenticate with user credentials, ADC, or federation, control BigQuery…
SkillBFreshness: BClaude Code +9 - 0.524score
drawio-diagrams-enhanced
clemens33
Write editable draw.io / diagrams.net XML (.drawio files) with PMP/PMBOK methodologies, icon libraries, and industry-standard templates.
SkillBFreshness: BClaude Code +9
Cite this page
adr skill. Agent Mart. https://agentmart.dev/skills/clemens33-adr (last updated 2026-10-24)