From adr
This skill should be used when the user asks "what is an ADR", "when should I create an ADR", "ADR best practices", "architecture decision records", "ADR lifecycle", "how to document architecture decisions", or needs guidance on ADR fundamentals, when to create ADRs, or ADR lifecycle management.
npx claudepluginhub zircote/adrThis skill uses the workspace's default tool permissions.
Architectural Decision Records (ADRs) capture important architectural decisions along with their context and consequences. This skill provides foundational knowledge for creating, managing, and maintaining ADRs effectively.
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Uses ctx7 CLI to fetch current library docs, manage AI coding skills (install/search/generate), and configure Context7 MCP for AI editors.
Architectural Decision Records (ADRs) capture important architectural decisions along with their context and consequences. This skill provides foundational knowledge for creating, managing, and maintaining ADRs effectively.
Create an ADR when making decisions that:
| Category | Examples |
|---|---|
| Technology Selection | Programming language, framework, database, cloud provider |
| Architecture Patterns | Microservices vs monolith, event-driven, CQRS |
| API Design | REST vs GraphQL, versioning strategy, authentication |
| Data Management | Storage strategy, caching, replication, backup |
| Security | Authentication method, encryption, access control |
| Integration | Third-party services, messaging patterns, protocols |
| Infrastructure | Container orchestration, deployment strategy, scaling |
Skip ADRs for:
proposed → accepted → [deprecated] → superseded
↓
rejected
| Status | Meaning |
|---|---|
| proposed | Under consideration, open for discussion |
| accepted | Approved and active, guides current development |
| rejected | Considered but not adopted (document why) |
| deprecated | No longer recommended, pending replacement |
| superseded | Replaced by a newer ADR (link to successor) |
proposed → accepted: Decision reviewed and approved by stakeholders proposed → rejected: Decision not adopted after review accepted → deprecated: Circumstances changed, better alternatives exist accepted/deprecated → superseded: New ADR replaces this one
Use clear, action-oriented titles:
Provide sufficient background:
List forces influencing the decision:
For each option considered:
Document both positive and negative outcomes:
Standard pattern: {NUMBER}-{slug}.md
Examples:
0001-use-postgresql-for-primary-storage.md0002-adopt-event-driven-architecture.md0003-implement-oauth2-authentication.md| Format | Example | Use Case |
|---|---|---|
| 4-digit | 0001, 0042 | Default, supports 9999 ADRs |
| 3-digit | 001, 042 | Smaller projects |
| Date-based | 20250115 | Chronological emphasis |
Standard structure:
docs/adr/
├── README.md # Index and guidelines
├── 0001-first-adr.md
├── 0002-second-adr.md
└── templates/ # Optional: custom templates
For large projects, consider module-level ADRs:
src/
├── module-a/
│ └── docs/adr/
├── module-b/
│ └── docs/adr/
└── docs/adr/ # Project-wide ADRs
| Relationship | Meaning |
|---|---|
| supersedes | This ADR replaces ADR-XXX |
| superseded-by | ADR-XXX replaces this one |
| relates-to | Related decision, not a replacement |
| amends | Modifies without fully replacing |
Cross-reference ADRs from:
Read project configuration from .claude/adr.local.md for:
For detailed guidance on specific topics:
references/decision-criteria.md - Comprehensive criteria for ADR-worthy decisionsreferences/review-checklist.md - ADR quality review checklist