A Claude Code skill for managing Architecture Decision Records (ADRs) using the git-adr CLI.
Turn natural language into properly formatted ADRs:
You: "We decided to use PostgreSQL because it has better JSON support than MySQL"
Claude: I'll create that ADR for you.
> git adr new "Use PostgreSQL for primary database" --template madr
Created ADR: 20251216-use-postgresql-for-primary-database
Claude automatically uses your project's configured format or helps you choose the right one:
| Format | Best For | Example Use |
|---|---|---|
| MADR | Option analysis with decision matrices | "Compare three caching solutions" |
| Nygard | Quick, minimal documentation | "Record that we picked Redis" |
| Y-Statement | Single-sentence decisions | "Capture our API versioning choice" |
| Alexandrian | Pattern-based thinking | "Document our authentication pattern" |
| Business Case | Stakeholder approval, ROI | "Justify the cloud migration budget" |
| Planguage | Measurable quality requirements | "Define our performance SLAs" |
ADRs are stored in git notes, not files:
- Non-intrusive: No
docs/adr/folder cluttering your repo - Portable: ADRs travel with git history (clone, fork, push, pull)
- Linkable: Associate decisions with the commits that implement them
- Searchable: Full-text search across all decisions
Claude doesn't just generate markdown - it runs the commands:
# Claude executes these directly
git adr init # Start tracking ADRs
git adr new "Use PostgreSQL" # Create ADR
git adr link 20251216-... abc1234 # Link to implementation commit
git adr sync push # Share with team# Clone git-adr if you haven't already
git clone https://github.com/zircote/git-adr.git
cd git-adr
# Copy skill to Claude Code skills directory
cp -r skills/git-adr ~/.claude/skills/# Download the skill package from a release
curl -LO https://github.com/zircote/git-adr/releases/download/vX.Y.Z/git-adr-X.Y.Z.skill
# Extract to Claude Code skills directory
unzip git-adr-X.Y.Z.skill -d ~/.claude/skills/- Go to Releases
- Download
git-adr-X.Y.Z.skillfrom the latest release - Extract to
~/.claude/skills/
ls ~/.claude/skills/git-adr/SKILL.md
# Should show the skill fileAfter installing the skill, try these in Claude Code:
1. "Initialize ADR tracking in this repo"
β Claude runs: git adr init
2. "Create an ADR about our decision to use TypeScript"
β Claude creates a properly formatted ADR
3. "What ADRs do we have?"
β Claude runs: git adr list
4. "Show me the TypeScript decision"
β Claude runs: git adr show 20251216-...
From conversation:
"We decided to containerize with Docker because our deployment
environments vary and we need consistency."
Claude will:
- Check your project's configured template
- Generate properly structured content
- Create the ADR with
git adr new
With specific format:
"Create a business case ADR for migrating to AWS"
Claude uses the business-case template for stakeholder-friendly documentation.
"Find all ADRs about authentication"
β git adr search "authentication"
"Show me accepted decisions from last month"
β git adr list --status accepted --after 2025-11-01
"What's the status of our database decisions?"
β git adr list --tag database
"Link the PostgreSQL ADR to commit abc1234"
β git adr link 20251216-use-postgresql abc1234
"Show which commits implement this decision"
β git adr show 20251216-use-postgresql
"Pull the latest ADRs from the team"
β git adr sync pull
"Share my new ADR with the team"
β git adr sync push
"Supersede the MySQL decision with our PostgreSQL choice"
β git adr supersede 20250101-use-mysql "Migrate to PostgreSQL"
"Mark the caching decision as deprecated"
β git adr edit 20251201-... --status deprecated
skills/git-adr/
βββ SKILL.md # Core instructions (269 lines)
βββ references/
βββ commands.md # All git-adr commands
βββ configuration.md # Configuration options
βββ best-practices.md # ADR writing guidance
βββ workflows.md # Team workflow patterns
βββ formats/
βββ madr.md # MADR 4.0 template
βββ nygard.md # Original minimal format
βββ y-statement.md # Single-sentence format
βββ alexandrian.md # Pattern-language format
βββ business-case.md # Business justification
βββ planguage.md # Quantified requirements
The skill respects your project's git-adr configuration:
# Set default template for new ADRs
git adr config adr.template madr
# View current configuration
git adr config listClaude will automatically use your configured template when creating ADRs.
The skill requires git-adr CLI to be installed:
# Install via pip
pip install git-adr
# Or via Homebrew
brew tap zircote/git-adr && brew install git-adr
# Verify installation
git adr --version