Manage Architecture Decision Records (ADRs) for documenting technical decisions. Use when discussing architecture, design decisions, trade-offs, or when the user mentions ADRs, architectural decisions, or wants to document a technical choice.
From dot-claudenpx claudepluginhub selrahcd/claude-marketplace --plugin dot-claudeThis skill uses the workspace's default tool permissions.
Implements structured self-debugging workflow for AI agent failures: capture errors, diagnose patterns like loops or context overflow, apply contained recoveries, and generate introspection reports.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Designs and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Manage Architecture Decision Records (ADRs) for this project.
This skill is invoked with /adr <command> [arguments]
Commands:
/adr new <title> - Create a new ADR/adr list - List all existing ADRs/adr show <number> - Display a specific ADR/adr supersede <number> <new-title> - Create a new ADR that supersedes an existing one/adr deprecate <number> - Mark an ADR as deprecatedWhen this skill is invoked, follow these instructions based on the command:
ADRs are stored in docs/adr/ with the naming convention NNNN-kebab-case-title.md where NNNN is a zero-padded sequential number starting from 0001.
/adr new <title>docs/adr/ directory exists, create it if not# ADR-NNNN: <Title>
**Status:** Proposed
**Date:** <YYYY-MM-DD>
**Deciders:** <list of involved people>
**Technical Story:** <description or ticket/issue URL>
## Context
<Describe the context and problem statement. What is the issue that is motivating this decision?>
## Decision Drivers
- <Driver 1>
- <Driver 2>
- <Driver 3>
## Considered Options
1. <Option 1>
2. <Option 2>
3. <Option 3>
## Decision Outcome
**Chosen option:** "<Option N>", because <justification>.
### Positive Consequences
- <Positive consequence 1>
- <Positive consequence 2>
### Negative Consequences
- <Negative consequence 1>
- <Negative consequence 2>
## Pros and Cons of the Options
### Option 1: <Title>
<Description>
- Good, because <argument>
- Bad, because <argument>
### Option 2: <Title>
<Description>
- Good, because <argument>
- Bad, because <argument>
### Option 3: <Title>
<Description>
- Good, because <argument>
- Bad, because <argument>
## Related Decisions
- <Link to related ADR or N/A>
## Notes
<Additional notes, if any>
/adr listdocs/adr/| ADR | Title | Status | Date |
|-----|-------|--------|------|
| 0001 | Example Decision | Accepted | 2024-01-15 |
If no ADRs exist, inform the user and suggest using /adr new <title> to create one.
/adr show <number>/adr supersede <number> <new-title>/adr new process)Supersedes ADR-NNNN: <old title>Superseded by ADR-MMMM> **Note:** This ADR has been superseded by [ADR-MMMM](./MMMM-new-title.md)/adr deprecate <number>Deprecated> **Note:** This ADR has been deprecated on <date>.Input: /adr new Use PostgreSQL for primary database
Output:
Created: docs/adr/0001-use-postgresql-for-primary-database.md
The ADR has been created with placeholder content. Please fill in:
- Deciders
- Technical Story
- Context
- Decision Drivers
- Considered Options
- Decision Outcome
Input: /adr list
Output:
| ADR | Title | Status | Date |
|------|------------------------------------|----------|------------|
| 0001 | Use PostgreSQL for primary database | Accepted | 2024-01-15 |
| 0002 | Adopt React for frontend | Proposed | 2024-01-20 |
| 0003 | Use REST over GraphQL | Accepted | 2024-02-01 |
Input: /adr supersede 1 Use MongoDB for primary database
Output:
Created: docs/adr/0004-use-mongodb-for-primary-database.md
Updated: docs/adr/0001-use-postgresql-for-primary-database.md
- Status changed to: Superseded by ADR-0004
- Added supersession note at top
The new ADR references the superseded decision.
When helping users write ADRs: