memento:decide · v2.0.0 · 2026-04-11 · sha256 ff7784c35c86fa84

memento:decide v2.0.0A

Immutable. This exact content is served forever at /api/v1/blob/ff7784c35c86fa84.

---
name: memento:decide
version: 2.0.0
description: >
  Composable decision skill. Core OODA loop: present options, assess confidence,
  record reasoning artifact with priority matrix. Modes: default (decide from
  current context), --research (ingest source first, then decide), --reframe
  (force perspective shift before options).
  Triggers: "decide", "should we", "which option", "evaluate", "compare",
  "research this" (with decision intent), "let's think about".
user_invocable: true
---

# /decide

One skill. Three modes. Every decision produces a reasoning artifact with a priority level.

## Setup

The vault path is configured during `memento init`. If not set, ask the user where their vault lives.

## Mode Detection

| Signal | Mode | What happens |
|--------|------|-------------|
| Decision needed from current context | `default` | Jump to OODA loop |
| URL, file, or "research this" provided | `--research` | Ingest source → extract → then OODA loop |
| "reframe", "different angle", "what am I missing" | `--reframe` | Force perspective shift → then OODA loop |

## Mode: --research (Ingest First)

Extract knowledge from the source before deciding.

### Extraction Engine (5 Fields)

1. **Core argument** — what it argues, not what it's about (1-2 sentences)
2. **Why it holds** — evidence, reasoning, mechanism (3 bullets max)
3. **Technical specifics** — numbers, code patterns, tools. "None" if none
4. **Execution pattern** — the craft move worth stealing. Omit if N/A
5. **Open questions** — what connects to existing work? What assumption might break?

After extraction, ask: "Does this inform a decision, or is it reference material?"
- Decision → continue to OODA loop
- Reference only → save to project Research/ folder, stop

## Mode: --reframe

Force a perspective shift before presenting options:

1. **Invert the question** — "What if we did the opposite?"
2. **Change the timeframe** — "What matters in 6 months vs today?"
3. **Change the stakeholder** — "What would the end user prioritize?"
4. **Expose assumptions** — "What are we assuming that might not be true?"

Then enter the OODA loop with the expanded frame.

## Retrieval Gate

Before presenting options, search the vault for prior decisions on this topic:

1. Scan project `_context.md` Active Reasoning Artifacts table for `[D]` entries matching the decision domain
2. Glob `{vault_path}/Knowledge/*{topic}*` for existing knowledge notes
3. Glob `{vault_path}/Projects/*/Decisions/*{topic}*` for cross-project decisions
4. If prior decision found:
   - Surface it: "Existing decision: [D] {statement} — {date}"
   - Ask: "Reaffirm, revise, or override?"
5. If no prior decision: proceed with fresh analysis

## OODA Decision Loop (All Modes)

### Observe
- Read current project `_context.md` and `NEXT.md`
- Check existing decisions and Active Reasoning Artifacts table (avoid re-deciding settled questions)

### Orient
Present the decision landscape:
- **Options** (2-5): each with concrete pros, cons, and effort estimate
- **Recommendation**: which option and why
- **Confidence**: High (>85%) / Medium (60-85%) / Low (<60%) — show reasoning

### Decide
Ask the user to choose. Accept their decision even if it differs from recommendation.

### Act — Record the Reasoning Artifact

#### Step 1: Assess Priority

Claude proposes confidence: High / Medium / Low

Then ask the user: **"High or low impact?"**

Derive priority from the matrix:

|  | High Impact | Low Impact |
|---|---|---|
| **High Confidence** | **critical** | **settled** |
| **Medium Confidence** | **volatile** | **settled** |
| **Low Confidence** | **volatile** | **noise** |

If priority is **noise**: ask "Store it anyway or discard?" Default: discard.

#### Step 2: Record

**Inline format:**
```
`[D] <conclusion> — invalidates if <trigger> [priority] [YYYY-MM-DD]`
```

**If the decision is "not now, but later when X"** → plant a seed instead:
```
`[S] <idea> — activates when <condition> [priority] [YYYY-MM-DD]`
```
Seeds are checked at session-start. When the activation condition is met, the seed surfaces and becomes a `/decide` candidate.

**Inline only** (settled or noise): Add to `_context.md` Active Reasoning Artifacts table.
**Full artifact file** (critical or volatile): Create in `Decisions/` folder + inline entry.

### Significance Heuristic

| Signal | Likely Priority | Storage |
|--------|----------------|---------|
| Affects architecture or tech stack | critical | Full file + inline |
| Affects only current task | settled | Inline only |
| Affects multiple projects | critical | Full file + inline |
| Easily reversible | settled | Inline only |
| Uncertain but foundational | volatile | Inline (review next session) |