From git-adr
Manages Architecture Decision Records (ADRs) using git-adr, a CLI tool that stores ADRs in git notes. Supports init, new, edit, list, show, search, sync, supersede, link, and more.
How this skill is triggered — by the user, by Claude, or both
Slash command
/git-adr:git-adrThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Comprehensive skill for managing Architecture Decision Records using the git-adr CLI tool.
references/best-practices.mdreferences/commands.mdreferences/configuration.mdreferences/formats/alexandrian.mdreferences/formats/business-case.mdreferences/formats/madr.mdreferences/formats/nygard.mdreferences/formats/planguage.mdreferences/formats/y-statement.mdreferences/search-patterns.mdreferences/workflows.mdworkflows/decision-capture.mdworkflows/decision-recall.mdworkflows/session-start.mdComprehensive skill for managing Architecture Decision Records using the git-adr CLI tool.
At session start, if in a git-adr repository, automatically load ADR summary:
# Silent detection and load
git notes --ref=adr list &>/dev/null && git adr list --format oneline 2>/dev/null
This provides awareness of existing decisions without consuming excessive context. See workflows/session-start.md for full behavior.
Use progressive loading for token efficiency:
| Trigger | Action |
|---|---|
| "Show me ADR {id}" | git adr show {id} → full content |
| "What did we decide about X" | git adr search "X" → snippets |
| "Record this decision" | Guided creation workflow |
See workflows/decision-recall.md for recall patterns. See workflows/decision-capture.md for creation flow.
NEVER modify user configuration without explicit permission.
git-adr config --set or git config adr.* commands unless the user explicitly asks to change configgit config --get or git-adr config --get onlygit config --local --list | grep adr - do NOT assume or set valuesgit-adr is a command-line tool that manages ADRs using git notes instead of files:
| Command | Description |
|---|---|
git adr init | Initialize ADR tracking |
git adr new "<title>" | Create new ADR |
git adr list | List all ADRs |
git adr show <id> | Display an ADR |
git adr edit <id> | Edit an ADR |
git adr search "<query>" | Search ADRs |
git adr supersede <old-id> "<title>" | Supersede a decision |
git adr link <id> <commit> | Link ADR to commit |
git adr sync --push | Push ADRs to remote |
git adr sync --pull | Pull ADRs from remote |
git adr stats | Show statistics |
git adr export | Export to files |
git adr config list | Show configuration |
For full command documentation, see references/commands.md.
Always verify the environment:
# 1. Check git-adr is installed
git adr --version
# 2. Verify in a git repository
git rev-parse --is-inside-work-tree
# 3. For most commands, check if initialized
git notes --ref=adr list 2>/dev/null || echo "Not initialized"
If git-adr is not installed:
git-adr is not installed. Install with:
cargo install git-adr
# or
brew tap zircote/tap && brew install git-adr
If not in a git repository:
git-adr requires a git repository. Initialize with:
git init
git adr init
If ADRs not initialized:
ADR tracking not initialized. Run:
git adr init
Always check the project's configured template before generating content:
# Get configured template (defaults to madr if not set)
TEMPLATE=$(git config --get adr.template 2>/dev/null || echo "madr")
echo "Using template: $TEMPLATE"
| Format | Config Value | Best For |
|---|---|---|
| MADR | madr | General purpose, option analysis (default) |
| Nygard | nygard | Quick, minimal decisions |
| Y-Statement | y-statement | Ultra-concise, single sentence |
| Alexandrian | alexandrian | Pattern-based, forces analysis |
| Business Case | business | Stakeholder approval, ROI |
| Planguage | planguage | Measurable quality requirements |
For format templates, see references/formats/.
adr.template configgit adr new "<title>" with content# Create ADR (opens editor with template)
git adr new "Use PostgreSQL for primary database"
# Or with specific format override
git adr new "Use PostgreSQL" --template nygard
When generating content, follow the structure in the appropriate format template.
git adr init
git adr new "Record architecture decisions"
git adr sync --push
git adr sync --pull # Get latest
git adr new "Add caching" # Create decision
git adr sync --push # Share with team
# After implementing a decision
git adr link 20250115-use-postgresql abc1234
# View linked commits
git adr show 20250115-use-postgresql
# When replacing a decision
git adr supersede 20250101-use-mysql "Migrate to PostgreSQL"
For more workflows, see references/workflows.md.
Common configuration options:
# Set default template
git adr config adr.template madr
# Set editor
git adr config --global adr.editor "code --wait"
# Enable auto-sync
git adr config adr.sync.auto_push true
git adr config adr.sync.auto_pull true
For all configuration options, see references/configuration.md.
Write an ADR for decisions that are:
For complete guidance, see references/best-practices.md.
Load reference files based on user intent:
| User Intent | Load File |
|---|---|
| "Create an ADR" | references/formats/{template}.md |
| "What commands are available?" | references/commands.md |
| "Configure git-adr" | references/configuration.md |
| "What is an ADR?" | references/best-practices.md |
| "Set up for my team" | references/workflows.md |
| "Find decisions about X" | references/search-patterns.md |
| "Record this decision" | workflows/decision-capture.md |
| "What did we decide" | workflows/decision-recall.md |
When generating ADR content:
Before creating an ADR, ensure:
| File | Purpose |
|---|---|
references/commands.md | Full command documentation |
references/configuration.md | All config options |
references/best-practices.md | ADR writing guidance |
references/workflows.md | Common workflow patterns |
references/search-patterns.md | Natural language → search mapping |
references/formats/madr.md | MADR template |
references/formats/nygard.md | Nygard template |
references/formats/y-statement.md | Y-Statement template |
references/formats/alexandrian.md | Alexandrian template |
references/formats/business-case.md | Business Case template |
references/formats/planguage.md | Planguage template |
workflows/session-start.md | Auto-context loading behavior |
workflows/decision-capture.md | Guided ADR creation workflow |
workflows/decision-recall.md | Find past decisions workflow |
2plugins reuse this skill
First indexed Jun 8, 2026
npx claudepluginhub shivasymbl/git-adrManages Architecture Decision Records (ADRs) using git-adr, a CLI tool that stores ADRs in git notes. Supports init, new, edit, list, show, search, sync, supersede, link, and more.
Authors, indexes, and lints Architecture Decision Records as append-only project memory for recovering decision rationale.