Help us improve
Share bugs, ideas, or general feedback.
From blueprint-mode
Record a technology decision as an ADR (triages mixed input into ADRs, feature specs, and NFRs)
npx claudepluginhub rickardp/blueprint-mode --plugin blueprint-modeHow this skill is triggered — by the user, by Claude, or both
Slash command
/blueprint-mode:decideThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
**COMMAND:** Create an ADR for a technology decision. Triage mixed input into the correct document types.
Creates Architecture Decision Records (ADRs) with title, status, and MADR/basic/extended templates. Auto-numbers sequentially, prompts for context/options/rationale, writes to docs/decisions/ or docs/adr/.
Creates a numbered MADR ADR in `docs/adr/` documenting load-bearing architectural decisions (database, framework, auth model, integration choice). Prompts for context, decision, and alternatives, then updates the index.
Generates Architectural Decision Records (ADRs) in MADR, Nygard, Alexandrian, or project formats. Researches directory for conventions, gathers context, numbers sequentially, validates, and saves. Use for documenting technical decisions.
Share bugs, ideas, or general feedback.
COMMAND: Create an ADR for a technology decision. Triage mixed input into the correct document types.
Before creating files, classify each distinct concern in the input:
| Signal | Type | Destination |
|---|---|---|
| Tech choice, "[X] over [Y]", design pattern, infrastructure approach | Architectural | ADR (docs/adrs/) |
| "users can", feature behavior, workflow, user story, UI requirement | Functional | Feature spec (docs/specs/features/) |
| Latency, throughput, uptime, encryption, SLA, scalability target | Non-functional | NFR (docs/specs/non-functional/) |
If input mixes types:
related_adrs linking backIf input is purely functional or non-functional (no architectural decision):
_templates/TEMPLATES.md)/blueprint:require for future requirements."| Input | Action |
|---|---|
/decide PostgreSQL because team knows it | Create ADR immediately |
/decide PostgreSQL | Ask for rationale |
/decide | Ask what to document |
If new decision conflicts with existing ADR (e.g., DynamoDB vs existing PostgreSQL ADR):
Source of truth: _templates/TEMPLATES.md (<!-- SECTION: adr-template -->)
---
status: Active
date: YYYY-MM-DD
---
# ADR-NNN: [Choice] as [CATEGORY]
## Context
[What problem are we solving?]
## Options Considered
### Option 1: [Alternative]
- Pro: [advantage]
- Con: [disadvantage]
## Decision
We chose **[CHOICE]** because [primary motivation].
## Consequences
**Positive:**
- [benefit]
**Negative:**
- [tradeoff]
## Related
- Tech stack: [docs/specs/tech-stack.md](../specs/tech-stack.md)
Status values: Draft (emerging, iterate freely), Active (settled), Superseded (replaced), Deprecated (retired)
Prefer Draft first. When the user is still exploring options or rationale is thin, create as Draft. Don't force a premature Active status — ADRs are meant to evolve.
MANDATORY: Use the exact format above. DO NOT deviate.
| DO NOT use | USE instead |
|---|---|
## Status with "Accepted" in body | YAML frontmatter status: Active |
**Benefits:** | **Positive:** |
**Trade-offs:** | **Negative:** |
## References | ## Related |
Before writing: Verify YAML frontmatter, title format, and all sections match template.
Single type (most common):
Created ADR-NNN at docs/adrs/NNN-technology.md
Mixed input (triaged):
Triaged input into 3 concerns:
- ADR-NNN: [architectural decision] → docs/adrs/NNN-slug.md
- Feature: [feature name] → docs/specs/features/slug.md (linked to ADR-NNN)
- NFR: [metric] → docs/specs/non-functional/performance.md
Redirected (no architectural decision):
This is a functional requirement, not an architectural decision.
Created feature spec at docs/specs/features/slug.md
Tip: Use /blueprint:require for future requirements.
If rationale missing, mark as Draft with TBD.