Record a decision: finalized → ADR (optionally rule + guide or spec + plan); open proposal → RFC. Use for 'we decided', 'record this decision', 'make it a standard', 'draft an RFC', 'should we switch to Y'. Not for feature planning or documenting existing code.
Scanned 5/27/2026
Install via CLI
openskills install archcore-ai/plugin---
name: decide
argument-hint: "[decision topic]"
description: "Record a decision: finalized → ADR (optionally rule + guide or spec + plan); open proposal → RFC. Use for 'we decided', 'record this decision', 'make it a standard', 'draft an RFC', 'should we switch to Y'. Not for feature planning or documenting existing code."
---
# /archcore:decide
Record a decision or a proposal for one. Routes between:
- **Finalized decision** → ADR (optionally followed by rule + guide as a standard, or spec + plan as an architecture cascade)
- **Open proposal** → RFC (for team review before a decision is made)
## When to use
- "Record the decision to use PostgreSQL"
- "We decided to go with microservices"
- "Document why we chose JWT over sessions"
- "Make this our team standard for error handling"
- "Draft an RFC for switching from REST to gRPC"
- "Proposing we adopt feature flags"
- "Should we move to Kubernetes?" (open → RFC)
**Not decide:**
- Planning a feature → `/archcore:plan`
- Documenting a component → `/archcore:capture`
- Reading applicable rules/ADRs/specs before coding → `/archcore:context`
- Picking up where work left off → `/archcore:context`
## Routing table
| Signal | Route | Documents |
|---|---|---|
| User describes a **finalized decision** (default) | → adr | Single ADR |
| User describes an **open proposal** ("thinking about", "should we", "proposing") | → rfc | Single RFC |
| User says "and make it a standard" or implies enforcement | → adr + standard cascade | ADR, then offer rule + guide |
| User says "and formalize the contract" or implies a spec is needed | → adr + architecture cascade | ADR, then offer spec + plan |
Default for finalized decisions: create a single ADR. After creation, evaluate the decision and offer the matching continuation per `skills/decide/references/continuations.md`.
## Execution
### Step 1: Check existing
`mcp__archcore__list_documents(types=["adr", "rfc"])` — check for existing decisions or proposals on this topic.
### Step 2: Route
If user language suggests the decision is still open ("thinking about", "should we", "proposing", "design proposal"), confirm with the user: "This sounds like an open proposal — draft an RFC for team review?" If yes, proceed to Step 3b. Otherwise continue with Step 3 (ADR).
### Step 3: Create ADR (finalized decision path)
- Read `skills/_shared/precision-rules.md` and `skills/_shared/adr-contract.md` once before composing. The contract specifies required structure; the rules specify forbidden lexicon and authoring conventions.
- Ask: "What was the decision (specific choice with version/name)? What alternatives were considered, and why was each rejected? What conditions would invalidate this decision?"
- Compose ADR content per the contract: fill Context with one concrete trigger and a code/measurement reference (or `[assumption]` if forward-looking), Decision in one specific sentence, Alternatives Considered with ≥2 named items each carrying an explicit rejection reason, Consequences split into positive + tradeoff with falsifiable claims (or `[expected]`), and Superseded when with ≥2 measurable conditions when feasible. Avoid forbidden lexicon from the rules.
- `mcp__archcore__create_document(type="adr")`
Then continue to Step 4.
### Step 3b: Create RFC (open proposal path)
- Ask: "What change are you proposing? What problem does it solve?"
- Compose content covering Summary, Motivation, Detailed Design, Drawbacks, Alternatives.
- `mcp__archcore__create_document(type="rfc")`
- Suggest relations: rfc `extends` existing ADR (if revising a past decision), or rfc `related` idea (if an idea inspired it).
RFC flow ends here — no rule + guide continuation (those belong to finalized decisions).
### Step 4: Relate (ADR path)
`mcp__archcore__add_relation` — link the ADR to existing RFCs, specs, plans, or other relevant documents.
### Step 5: Offer continuation (ADR path only)
Read `skills/decide/references/continuations.md`. Evaluate the decision content for the signal phrases listed there and offer the matching cascade:
- **Standard cascade** — rule + guide (decision describes enforceable behavior).
- **Architecture cascade** — spec + plan (decision describes a technical contract).
- **Both signals present** — ask the user which fits better, or neither for now.
- **Neither signal** — do not offer; the ADR alone is a valid endpoint.
Always confirm with the user before creating additional documents. Follow the per-cascade composition and relation rules in `continuations.md` exactly.
## Result
Minimum: one ADR or one RFC. Maximum: ADR + rule + guide (standard cascade) or ADR + spec + plan (architecture cascade). Report: paths, relations, recommended next actions.
No comments yet. Be the first to comment!