Bm Decide
Capture a durable engineering decision in Basic Memory with rationale, alternatives...
Install
npx skills add basicmachines-co/basic-memory --skill bm-decide -g -a claude-code -y- Repository
- basicmachines-co/basic-memory4.4k
- Category
- Engineering
- Updated
- 3d ago
- License
- AGPL-3.0
- Context cost
- Lightabout 428 tokens
- Runs scripts
- No, instructions only
What it does
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.
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.jsononly when the variable is absent. Then the project's.claude/settings.jsonand.claude/settings.local.jsonoverride it per key:- write to
primaryProjectwhen set (pass it asproject, including when it is 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 with
bm_write: atype: 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 as
supersedes.
