Capture a durable engineering decision in Basic Memory with rationale, alternatives, consequences, and affected work. Use when the user makes or asks to record a real choice — "let's go with X", "record this decision", or runs /basic-memory:bm-decide.
Instal·la
npx skillscat add basicmachines-co/basic-memory/bm-decide Instal·la des del registre de SkillsCat.
Capture A Decision
Use this when the user makes or asks to record a durable choice. A decision is a
choice with rationale and consequences, not a casual preference. This is the
deliberate version of the basic-memory output style's decision-capture reflex —
it works whether or not that style is enabled.
Steps
Resolve config: read the
basicMemoryblock with the same precedence the
hooks use. For the user-level base, appendsettings.jsonto the literal value
ofCLAUDE_CONFIG_DIRwhen that environment variable is present; do not trim
it, expand~, or treat an empty value as unset. Use~/.claude/settings.json
only when the variable is absent. Then the project's.claude/settings.json
and.claude/settings.local.jsonoverride it per key:- write to
primaryProjectwhen set (pass it asproject, or asproject_idif it's anexternal_idUUID) - follow
placementConventionsfor the directory when they are specific - otherwise use
decisions
Apply the
bm-writingskill before drafting the note.- write to
Clarify only if the choice itself is ambiguous. Do not ask for every field if
the conversation already contains the rationale.Write a
type: decisionnote (note_type: decision):status: openunless the user says it is accepted, superseded, or rejecteddecided: <ISO timestamp when known>project: <primaryProject if known>
Include:
- the decision
- context
- rationale
- alternatives considered
- consequences
- affected files, specs, issues, PRs, or notes
Confirm with the permalink. If this supersedes an older decision, update the old
note or link it assupersedes.