Skip to content
Back to skills

Collection

ASecurity

Create Architecture Decision Records (ADRs) following project standards. Guides template usage, process, and best practices for documenting architecturally significant decisions.

  • 24 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 8, 2026
documentationgobashgitperformancedocumentation

Works with

  • mcp

Security analysis

A100/100

Pro scans all 21 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add mattnigh/skills_collection --skill collection --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Collection?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Collection
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mattnigh-collection-872654d0/badge)](https://www.skillsdirectory.com/skills/mattnigh-collection-872654d0)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: adr
description: Create Architecture Decision Records (ADRs) following project standards. Guides template usage, process, and best practices for documenting architecturally significant decisions.
---

# ADR Creation Skill

Guides the creation of Architecture Decision Records (ADRs) following project standards. Provides template, process guidance, and best practices for documenting architecturally significant decisions.

## When to Use This Skill

Invoke this skill when:
- Making decisions that affect system structure, quality attributes, or dependencies
- Choosing between competing technical approaches with long-term implications
- Establishing patterns or conventions for the project
- Resolving technical uncertainty or debate
- Making decisions that are expensive to change later

## ADR Creation Process

### Step 1: Determine Next ADR Number

1. Check existing ADRs in `docs/adrs/` directory
2. Find the highest numbered ADR (e.g., `adr-0005-...`)
3. Increment by 1 and zero-pad to 4 digits (e.g., `adr-0006`)

### Step 2: Create ADR File

1. Use the template at `.claude/skills/adr/templates/adr-template.md`
2. Name the file: `adr-NNNN-brief-descriptive-title.md`
3. Place in: `docs/adrs/`

### Step 3: Update ADR Table of Contents

**Option A (Automated - Preferred):**
Run the TOC update script:
```bash
.claude/skills/adr/scripts/update-adr-toc.py
```

**Option B (Manual):**
1. Add entry to `docs/adrs/README.md` table
2. Include: ADR number, title (linked), and status
3. Maintain sequential order

The automated script saves tokens by handling mechanical TOC updates without AI assistance.

### Step 4: Reference from Other Docs (if needed)

- Update CLAUDE.md if the decision affects AI context
- Update README.md if the decision affects users/contributors

## Best Practices

### Writing Good ADRs

1. **Be Concise**: ADRs should be readable in 5-10 minutes
2. **Focus on "Why"**: Explain rationale, not just "what" was decided
3. **Capture Context**: Future readers won't have the conversation context
4. **Include Alternatives**: Briefly mention options considered and why they were rejected
5. **Acknowledge Trade-offs**: Every decision has costs and benefits
6. **Write Before/During Implementation**: Don't wait until after
7. **Keep Immutable**: Rarely edit after acceptance; supersede instead

### Common Pitfalls to Avoid

- Writing ADRs after decisions are implemented (loses context)
- Being too verbose (ADRs are not architecture documentation)
- Omitting alternatives considered (loses decision rationale)
- Not updating status when decisions change
- Creating ADRs for trivial decisions (use judgment)

### Updating and Superseding ADRs

When a decision changes:
1. Create a new ADR documenting the new decision
2. Update the old ADR's status to "Superseded by ADR-XXXX"
3. Link between related ADRs
4. Don't delete or heavily modify old ADRs (history matters)

## Example Prompts for Common ADR Types

### Technology Selection
```
Create an ADR for choosing [Technology X] over [Technology Y] for [purpose].

Context includes:
- Current requirements: [list]
- Evaluation criteria: [performance, community, licensing, etc.]
- Alternatives considered: [list]
- Key trade-offs: [describe]
```

### Pattern Adoption
```
Create an ADR for adopting [Pattern Name] pattern for [specific use case].

Context includes:
- Problem it solves: [describe]
- Where it applies: [scope]
- Alternatives considered: [list]
- Migration strategy: [if applicable]
```

### Deprecation Decision
```
Create an ADR for deprecating [feature/component/approach].

Context includes:
- Current state and limitations: [describe]
- Replacement approach: [describe]
- Migration path: [describe]
- Timeline: [if applicable]
```

### Architectural Boundary
```
Create an ADR for establishing [boundary/interface/contract].

Context includes:
- Components involved: [list]
- Interaction patterns: [describe]
- Stability requirements: [describe]
- Evolution strategy: [describe]
```

### Tooling or Process
```
Create an ADR for introducing [tool/process] to address [problem].

Context includes:
- Current pain points: [describe]
- How it addresses the problem: [describe]
- Integration approach: [describe]
- Evolution path: [if phased]
```

## Evolution of This Skill

This skill is part of a phased approach to ADR tooling (see ADR-0001):

- **Phase 1 (Current)**: Skill provides template and process guidance
- **Phase 2 (Future)**: `/adr-new` slash command for quick invocation
- **Phase 3 (Future)**: Haiku sub-agent for drafting boilerplate
- **Phase 4 (Future)**: Hooks to detect architecture changes without ADRs

Status updates will be reflected in ADR-0001.

## Usage Example

**User:** "I want to document the decision to use Context7 MCP for documentation access"

**Claude (using this skill):**
1. Checks `docs/adrs/` for existing ADRs (finds ADR-0000, ADR-0001)
2. Determines next number: ADR-0002
3. Creates `docs/adrs/adr-0002-use-context7-mcp-for-documentation-access.md`
4. Fills template with provided context
5. Updates `docs/adrs/README.md` table of contents
6. Confirms completion with user

Files in this skill

  • 0Chan-smc__claude-code-workflow-lab__claude__skills__frontend-dev-guidelines__SKILL.md15.1 KB
  • 17hz__nextjs-template__claude__skills__example-skill__SKILL.md316 B
  • 1ambda__dataops-platform__claude__skills__context-synthesis__SKILL.md3.5 KB
  • 1natsu172__dotfiles__claude__skills__git-analysis__SKILL.md5.4 KB
  • 1natsu172__dotfiles__claude__skills__github-pr-best-practices__SKILL.md7.7 KB
  • 23Maestro__prospect-pipeline__claude__skills__npid-fastapi-skill.md26.1 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-code-javascript__SKILL.md15.7 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-code-python__SKILL.md17.5 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-expression-syntax__SKILL.md9.4 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-mcp-tools-expert__SKILL.md12.5 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-node-configuration__SKILL.md16.6 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-workflow-patterns__SKILL.md11.2 KB
  • 3x-Projetos__claude-memory-framework__claude__skills__scientist__SKILL.md14.8 KB
  • 5MinFutures__futures-arena__claude__skills__migration-tracker__SKILL.md16.2 KB
  • 5MinFutures__futures-arena__claude__skills__planning-guidelines__SKILL.md11.8 KB
  • 92Bilal26__TaskPilotAI__claude__skills__assessment-builder__SKILL.md17.5 KB
  • 92Bilal26__TaskPilotAI__claude__skills__book-scaffolding__SKILL.md19.1 KB
  • 92Bilal26__TaskPilotAI__claude__skills__code-validation-sandbox__SKILL.md6.2 KB
  • 92Bilal26__TaskPilotAI__claude__skills__exercise-designer__SKILL.md18.1 KB
  • 92Bilal26__TaskPilotAI__claude__skills__learning-objectives__SKILL.md24.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…