From doc
Create, review, and manage Architecture Decision Records (ADRs) with auto-numbering, template detection, quality review, and index maintenance. Useful for documenting architectural decisions and editing ADR files.
npx claudepluginhub joaquimscosta/arkhe-claude-plugins --plugin docThis skill uses the workspace's default tool permissions.
Create and manage Architecture Decision Records following project conventions with automatic numbering and index maintenance.
Creates and manages Architecture Decision Records (ADRs) for documenting technology choices, design decisions, and architectural changes. Tracks status, alternatives considered, and consequences over time.
Captures architectural decisions during Claude Code sessions as structured ADRs in docs/adr/. Auto-detects moments, records context, alternatives, rationale for future developers.
Share bugs, ideas, or general feedback.
Create and manage Architecture Decision Records following project conventions with automatic numbering and index maintenance.
When invoked explicitly with /adr <action>, parse the first word:
| First word | Remaining args | Operation |
|---|---|---|
create | <title> | Create a new ADR with the given title |
review | <path> | Lightweight quality review of an ADR |
status | <number> <status> | Transition ADR status with validation and side effects |
list | (none) | List all ADRs (same as running adr_index.py --dry-run) |
supersede | <old-number> <new-number> | Supersede an old ADR with a new one |
index | (none) | Regenerate the README.md index |
| (empty) | Auto-detect from conversation context |
If the first word doesn't match an action, treat the entire $ARGUMENTS as a title and default to create.
When auto-invoked (no explicit /adr command), detect the operation from conversation context as before.
This skill automatically activates when:
docs/adr/, doc/adr/, architecture/decisions/, .adr//adr review <path> after creationSearch order for ADR directories:
docs/adr/doc/adr/architecture/decisions/.adr/docs/adr/ if none existsAnalyze existing ADRs to detect:
NNNN-kebab-case-title.md or NNN-title.mdAutomatically update README.md with ADR table:
| Number | Title | Status | Date |
|---|
When replacing an ADR:
Lightweight quality check using the adr-critic agent:
subagent_type: "doc:adr-critic")
Every ADR gets an ## Author's Notes section after Consequences:
Target: 2-5 items. Be specific, reference ADR sections.
Lifecycle: Added on create (always) | Read by adr-critic as review targets | Stripped when Status → Accepted (via /adr status) | Preserved on Superseded | Refreshed on major rewrites.
Dedicated command for changing ADR status with validation and side effects:
/adr review: "Consider reviewing first"/adr supersede to link replacement"## Author's Notes section entirelyadr_index.pyValid statuses: Proposed | Accepted | Deprecated | Superseded
#123)# Explicit subcommands:
/adr create Use PostgreSQL over MongoDB
/adr create Authentication approach for mobile apps
# Auto-invoke by saying:
"Document the decision to use PostgreSQL over MongoDB"
"Create an ADR for our authentication approach"
"I need to record why we chose React Query"
# Explicit subcommand:
/adr review docs/adr/0005-use-postgresql-for-persistence.md
# Auto-invoke:
"Review ADR-0005 for decision quality"
"Check if our caching ADR has solid reasoning"
# Explicit subcommand:
/adr supersede 5 12
# Auto-invoke:
"Supersede ADR-0005 with a new caching strategy"
"Replace our database decision ADR with the new approach"
# Transition with validation and side effects:
/adr status 14 accepted
/adr status 7 deprecated
# Auto-strips Author's Notes when accepting
# Warns on unusual transitions (e.g., skipping review)
/adr list
/adr index
Located in ${CLAUDE_SKILL_DIR}/scripts/ directory, using uv for execution:
uv run ${CLAUDE_SKILL_DIR}/scripts/adr_create.py --title "Use PostgreSQL for persistence"
uv run ${CLAUDE_SKILL_DIR}/scripts/adr_create.py --title "..." --template madr --create-dir
uv run ${CLAUDE_SKILL_DIR}/scripts/adr_index.py --dir docs/adr
uv run ${CLAUDE_SKILL_DIR}/scripts/adr_index.py --dir docs/adr --dry-run
uv run ${CLAUDE_SKILL_DIR}/scripts/adr_supersede.py --old 5 --new 12 --dir docs/adr
# ADR-0012: Use PostgreSQL for Data Persistence
## Status
Proposed
## Date
2026-01-10
## Context and Problem Statement
We need a reliable database solution for our microservices architecture
that supports complex queries and ACID transactions.
## Decision
Chosen option: PostgreSQL, because it provides the best balance of
ACID compliance, query flexibility, and team familiarity.
## Consequences
**Positive:**
- Full ACID transaction support
- Mature ecosystem and tooling
**Negative:**
- Horizontal scaling requires more setup
## Author's Notes
- **Shortcut**: Did not benchmark PostgreSQL vs CockroachDB under our expected write load; relied on team experience instead
- **Assumption**: Assumed read replicas will handle 5x current read traffic based on similar projects, not our actual query patterns
- **Uncertainty**: License compatibility of pgvector extension with our Apache 2.0 project not verified
# ADR-0012: Use PostgreSQL for Data Persistence
## Status
Accepted
## Date
2026-01-10
(same content, but ## Author's Notes section removed entirely)