Files
Paul Hernandez 5458c35b35 refactor(plugins): prefix Claude Code plugin skills with bm- (#878)
Signed-off-by: phernandez <paul@basicmachines.co>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 12:04:05 -05:00

45 lines
1.7 KiB
Markdown

---
title: Decision
type: schema
entity: Decision
version: 1
schema:
decision: string, the choice that was made
rationale?: string, why this choice over the alternatives
alternative?(array): string, options that were considered and not taken
consequence?(array): string, what this decision commits us to
context?: string, the situation that prompted the decision
affects?(array): Entity, work or notes this decision bears on
supersedes?: Entity, a prior decision this one replaces
settings:
validation: warn
frontmatter:
status?(enum, lifecycle of the decision): [open, accepted, superseded, rejected]
decided?: string, when the decision was made (ISO timestamp)
project?: string, the Basic Memory project this decision belongs to
---
# Decision
A **DecisionNote** is a durable record of a real choice — one with alternatives
and a rationale, not a passing preference. The Basic Memory plugin's output-style
prompts Claude to capture these inline as decisions are made, and the future
`/basic-memory:bm-decide` command captures them explicitly.
Decisions are found by structured recall:
`search_notes(metadata_filters={"type": "decision", "status": "open"})`.
## What makes a good DecisionNote
- **decision** — state the choice plainly.
- **rationale** + **alternative** — why this, and what was rejected. This is the
part that saves a future session from relitigating the same ground.
- **consequence** — what the choice commits the work to.
- **affects** / **supersedes** — relations that wire the decision into the graph.
## Frontmatter
`type: decision` plus `status` make decisions queryable. Capture decisions
sparingly — one note per genuine decision, not per opinion. Validation is `warn`,
never blocking.