adr-author
Guide writing clear, enforceable Architectural Decision Records (ADRs) that work with AI-powered review systems and human teams alike.
Skill by delexw
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/delexw-adr-author
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, security, 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-author
Tools it pre-approves 4
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
Read,Glob,Write,Edit
What's inside
- Skill name
adr-author- Description
- Guide writing clear, enforceable Architectural Decision Records (ADRs) that work with AI-powered review systems and human teams alike. Use this skill whenever a user wants to create, improve, review, or learn about ADRs — including when they mention "architecture decision", "ADR", "document a decision", "tech decision record", or want to make an existing ADR more specific and enforceable. Also use when reviewing PRs that reference ADR compliance or when someone asks how to write decisions that automated tools can check.
- License
- MIT
- Allowed tools
- Read,, Glob,, Write,, Edit
- Instructions
- 325 lines in SKILL.md · view on GitHub
Files (3)
- SKILL.md
- enforceability-patterns.md · references/
- templates.md · references/
SKILL.md (first lines)
# ADR Authoring Guide
Help users write Architectural Decision Records that future developers actually
read and that automated review systems can enforce. Based on Michael Nygard's
format from [Documenting Architecture Decisions](https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions).
## How to Think About ADRs
An ADR captures a decision at a moment in time. It answers: what did we decide,
why, and what happens because of it? The audience is a future developer (or an
AI reviewer) who encounters code that seems odd and needs to understand the
reasoning behind it.
The Decision section is the heart of an ADR — it's what gets enforced. The rest
(Context, Consequences) provides the reasoning that makes enforcement feel
reasonable rather than arbitrary. Spend most of your effort on the Decision
section, and write it at the enforceability level the team actually needs.
## Workflow
### Step 1: Read Existing ADRs
Before writing anything, find and read the project's existing ADRs. They're
typically in `docs/adr/`, `doc/arch/`, or `decisions/`. Look for:
- Numbering scheme (sequential integers, date-prefixed, etc.)
- Section structure (some teams add "Alternatives Considered" or "References")
- Tone and detail level
- Status conventions
Match what's already there. Consistency matters more than any template.
### Step 2: Understand the Decision
Ask the user (if not already clear from context):
1. **What's the decision?** What architectural choice is being made?
2. **What's the problem?** What forces or tensions led here?
3. **What alternatives were considered?** Even briefly — this goes in Context.
4. **How should this be enforced?** This determines enforceability level.
The fourth question is the key one this skill adds. Most ADR guides skip it,
but it determines whether the ADR becomes a living contract or shelf-ware.
### Step 3: Choose an Enforceability Level
Enforceability isn't about quality — a LOW enforceability ADR can be excellent.
It's about what kind of verification is possible and appropriate.
**HIGH** — Automated tools can check compliance. Use when there are concrete,
measurable requirements: file paths, numeric thresholds, version constraints,
exact formats. The Decision section needs 2+ specific, verifiable patterns.
**MEDIUM** — A human reviewer can check compliance with clear guidance. Use for
architectural patterns, prohibitions, and quality guidelines that require
judgment. The Decision section needs 1+ clear guideline with enough specificity
that two reviewers would agree on whether code complies.
**LOW** — Reference and context only. Use for principles, historical rationale,
and recommendations. No enforcement mechanism needed. These ADRs are valuable
for understanding *why* things are the way they are.
Ask the user which level they want. If they're unsure, help them choose based on
the nature of the decision: if you can write a linter rule or script to check
it, it's HIGH. If a reviewer can check it with a clear yes/no, it's MEDIUM. If
it's guidance that reasonable people might apply differently, it's LOW.
### Step 4: Draft the ADR
Use Michael Nygard's four sections. Write in full sentences and paragraphs —
ADRs are a conversation with future developers, not a requirements spec.
```markdown
# ADR [NUMBER]: [Short noun phrase]
## Status
[Proposed | Accepted | Deprecated | Superseded by ADR-XXX]
## Context
[Forces at play — technological, political, social, project-local.
Present tensions neutrally. Explain why a decision is needed now.]
## Decision
We will [decision in active voice].
[The enforceable substance goes here — see patterns below.]
## Consequences
[What becomes easier, what becomes harder, what new problems arise,
what trade-offs are we accepting. Be honest about downsides.]
```
**Formatting guidelines** (per Nygard):
- One to two pages total
- Full sentences in paragraphs, not just bullet lists
- Active voice in Decision ("We will..." not "It was decided...")
- Neutral tone in Context, save opinions for Decision
- Sequential numbering, never reused
### Step 5: Write the Decision Section for Your Target Level
This is where enforceability patterns matter. The Decision section is what
automated tools scan and what reviewers check against PRs.
#### Writing HIGH Enforceability Decisions
A HIGH decision reads like natural prose but contains specific, extractable
constraints. Think of it as embedding verifiable facts in readable writing.
**The six pattern types that enable automation:**
1. **File paths** — exact locations in backticks
> All API routes will be in `src/api/v2/`. Components follow
> `src/components/{feature}/{ComponentName}.tsx`.From delexw/claude-code-misc, MIT.
More from delexw/claude-code-misc
- 0.448score
animejs
delexw
Write correct anime.js v4 animations with the right imports, API patterns, easing, timelines, and advanced features.
SkillDFreshness: D★ 2Claude Code +9 - 0.448score
telegram-bot
delexw
Interact with Telegram — read messages from your channel and send messages back.
SkillDFreshness: D★ 2Claude Code +9 - 0.448score
inktui
delexw
Build beautiful CLI apps with Ink (React for terminals), ink-ui components, and create-ink-app scaffolding.
SkillDFreshness: D★ 2Claude Code +9 - 0.448score
ladybugdb
delexw
Expert guide for LadybugDB — an embedded, in-process property graph database using openCypher.
SkillDFreshness: D★ 2Claude Code +9 - 0.448score
tauri-v2
delexw
Use this skill whenever "tauri" appears in the user's message, or they reference tauri.conf.json, src-tauri, or @tauri-apps packages.
SkillDFreshness: D★ 2Claude Code +9 - 0.443score
oxfmt
delexw
Run and configure oxfmt — the high-performance JavaScript/TypeScript formatter built on the Oxc compiler stack, ~30x faster than Prettier.
SkillDFreshness: D★ 2Claude Code +9 - 0.443score
oxlint
delexw
Run and configure oxlint — the high-performance JavaScript/TypeScript linter built on the Oxc compiler stack.
SkillDFreshness: D★ 2Claude Code +9 - 0.439score
a2a-js-dev
delexw
Build A2A (Agent-to-Agent) protocol applications using the @a2a-js/sdk TypeScript/JavaScript SDK.
SkillDFreshness: D★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Mar 28, 2026 (7 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/delexw/claude-code-misc
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from delexw
- 0.448score
animejs
delexw
Write correct anime.js v4 animations with the right imports, API patterns, easing, timelines, and advanced features.
SkillDFreshness: D★ 2Claude Code +9 - 0.448score
telegram-bot
delexw
Interact with Telegram — read messages from your channel and send messages back.
SkillDFreshness: D★ 2Claude Code +9 - 0.448score
inktui
delexw
Build beautiful CLI apps with Ink (React for terminals), ink-ui components, and create-ink-app scaffolding.
SkillDFreshness: D★ 2Claude Code +9 - 0.448score
ladybugdb
delexw
Expert guide for LadybugDB — an embedded, in-process property graph database using openCypher.
SkillDFreshness: D★ 2Claude Code +9 - 0.448score
tauri-v2
delexw
Use this skill whenever "tauri" appears in the user's message, or they reference tauri.conf.json, src-tauri, or @tauri-apps packages.
SkillDFreshness: D★ 2Claude Code +9 - 0.443score
oxfmt
delexw
Run and configure oxfmt — the high-performance JavaScript/TypeScript formatter built on the Oxc compiler stack, ~30x faster than Prettier.
SkillDFreshness: D★ 2Claude Code +9
Cite this page
adr-author skill. Agent Mart. https://agentmart.dev/skills/delexw-adr-author (last updated 2026-10-24)