mhylle/claude-skills-collection/adr
- community
Checking that the SKILL.md file is still in the repository.
Document architectural decisions in standardized ADR format. This skill should be used when making significant technical decisions, choosing between approaches, establishing patterns, or when other skills (create-plan, implement-plan, brainstorm) identify decisions that need documentation. Triggers on "document decision", "create ADR", "architectural decision", or automatically when invoked by other skills during planning and implementation.
Install
npx vskill@latest install mhylle/claude-skills-collection/adrSKILL.md
Architectural Decision Records (ADR)
<!-- contents: generated by tests/skill_structure.py --write; edit headings, not this block -->
Contents
- Design Principles
- When to Use This Skill
- ADR Location and Naming
- Getting the Next ADR Number
- ADR Status Values
- Creating an ADR
- Workflow
- Integration with Other Skills
- Response Format (for subagent use)
- Listing Existing ADRs
- Searching ADRs
- Deprecating an ADR
- Quality Checklist
- Best Practices
- Resources
Reference files (open one when a step points to it):
references/adr-template.md: ADR-NNNN: [Title]references/index-template.md: Architectural Decision Records
<!-- /contents -->
Document significant architectural and technical decisions in a standardized, searchable format optimized for LLM context efficiency.
Design Principles
Context Conservation
ADRs are designed for efficient LLM consumption:
- Small, focused files - One decision per ADR, minimal content
- Quick Reference block - First 5 lines summarize the entire ADR
- Central INDEX.md - Single file listing all ADRs with one-line summaries
LLM Reading Strategy
When consulting ADRs, follow this tiered approach:
Implementation:
When to Use This Skill
Directly invoked when:
- Making a significant technical decision
- Choosing between architectural approaches
- Establishing patterns or conventions
- Documenting why a particular technology was selected
Automatically invoked by other skills when:
- create-plan: Design decision is made in Phase 4
- implement-plan: Mismatch discovered or architectural choice made during implementation
- brainstorm: Key decisions identified during analysis
ADR Location and Naming
Directory: docs/decisions/
Naming Convention: ADR-NNNN-short-title.md
NNNN: Zero-padded sequential number (0001, 0002, etc.)short-title: Lowercase, hyphenated description (max 50 chars)
Examples:
ADR-0001-use-jwt-for-authentication.mdADR-0002-postgresql-over-mongodb.mdADR-0003-event-sourcing-for-audit.md
Getting the Next ADR Number
Before creating an ADR, determine the next sequence number:
If no ADRs exist, start with 0001.
ADR Status Values
| Status | Meaning | |
|---|---|---|
| Proposed | Under consideration, not yet decided | |
| Accepted | Decision made, ready for implementation | |
| Deprecated | Was accepted, now superseded | |
| Superseded | Replaced by another ADR (link to replacement) |
Creating an ADR
Required Information
Gather these inputs (ask user if not provided):
| Field | Description | Required | |
|---|---|---|---|
| Title | Short, descriptive title | Yes | |
| Context | Why is this decision needed? | Yes | |
| Options | What alternatives were considered? | Yes | |
| Decision | What was decided? | Yes | |
| Rationale | Why this option? | Yes | |
| Consequences | What are the implications? | Yes | |
| Related ADRs | Links to related decisions | If applicable |
ADR Template
Use this format (also in references/adr-template.md):
Quick Reference Block (Mandatory)
The first 5 lines after the title form the Quick Reference block. This enables LLMs to assess relevance without reading the full document.
Format (must fit in ~5 lines):
Example:
Keeping ADRs Small
Target size: 30-50 lines maximum (excluding Quick Reference)
One decision per ADR. If you find yourself documenting multiple decisions, split into separate ADRs:
| Instead of | Create | |
|---|---|---|
| "Database and caching choices" | ADR-0001: PostgreSQL for primary database | |
| ADR-0002: Redis for session caching | ||
| "Authentication architecture" | ADR-0003: JWT for API auth | |
| ADR-0004: OAuth2 for third-party integration |
Use tables over prose - More scannable, less verbose:
Workflow
Step 1: Detect ADR Trigger
An ADR should be created when:
- Explicit request: User asks to document a decision
- Design choice: During planning, a significant choice between approaches is made
- Pattern establishment: A new convention or pattern is being introduced
- Technology selection: A library, framework, or service is chosen
- Architecture change: Structural changes to the system
- Deviation from plan: Implementation differs from original plan for good reason
Step 2: Gather Information
If invoked automatically by another skill, extract:
- Context from the current discussion
- Options that were considered
- The decision that was made
- Rationale from the analysis
If information is incomplete, ask the user:
Step 3: Create ADR File
- Determine next ADR number
- Generate filename from title
- Write ADR using template
- Report creation to calling context
Step 4: Update INDEX.md (Required)
Always update `docs/decisions/INDEX.md` when creating, modifying, or deprecating an ADR.
INDEX.md Structure
Updating INDEX.md
When adding a new ADR:
- Add row to "Active Decisions" table
- Add entry under appropriate category (create category if needed)
When deprecating an ADR:
- Move row from "Active Decisions" to "Superseded Decisions"
- Add "Replaced By" reference
- Update category listing
Creating INDEX.md
If docs/decisions/INDEX.md doesn't exist, create it:
Then write the initial structure with the first ADR entry.
Integration with Other Skills
From create-plan
When create-plan makes a design decision in Phase 4, it should invoke this skill:
The plan should include:
From implement-plan
When implement-plan encounters an architectural choice:
From brainstorm
When brainstorm identifies key decisions:
Response Format (for subagent use)
When this skill is invoked by another skill (as a subagent), return concise output:
Always confirm INDEX.md was updated - this is critical for LLM discoverability.
Listing Existing ADRs
To review existing decisions:
Searching ADRs
Find ADRs related to a topic:
Deprecating an ADR
When a decision is superseded:
- Update old ADR status:
**Status**: Superseded by [ADR-NNNN](./ADR-NNNN-title.md) - Create new ADR referencing the old one in "Related Decisions"
- Update any plans or docs referencing the old ADR
Quality Checklist
Before finalizing an ADR:
Structure (Context Conservation):
- [ ] Quick Reference block is complete (all 5 lines)
- [ ] Quick Reference fits in first 10 lines of file
- [ ] Total ADR is under 50 lines
- [ ] One decision per ADR (no bundled decisions)
- [ ] Uses tables instead of verbose prose
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/adr/SKILL.md
Popularity
- Repository stars
- 13
- 7-day trend score
- 13
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 12 May 2026, 5 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/mhylle/claude-skills-collection/adr)