--- name: decision-framework-invoker description: "Triggers for automatically invoking the decision-framework skill before irreversible or high-blast-radius operations. Use as a checkpoint: when a proposed action matches a trigger pattern, pause and run the appropriate framework (first-principles, inversion, decision matrix, second-order thinking) before proceeding. Prevents ad-hoc calls from becoming regret." format: 2025-10-02 version: 1.0.0 status: active updated: 2026-04-17 --- # Decision Framework Invoker The `decision-framework` skill provides thinking frameworks (First Principles, 5 Whys, Eisenhower, Pareto, Inversion, Second-Order, Decision Matrix). This invoker skill captures **when to use it** — the trigger patterns that should prompt a pause-and-frame before proceeding. ## Trigger Patterns Invoke a decision framework when the proposed action matches any of these: ### Irreversibility - Destructive git operations: `push --force`, `reset --hard`, `branch -D` - Committing generated content to a shared repo (N files where N > 100) - Applying a schema migration to a production DB - Sending a message (Slack, email, PR comment) that cannot be recalled → **Framework:** Inversion ("what's the worst outcome; can we back out?") ### Blast Radius - Changes affecting multiple packages / projects - Renaming public APIs, CLI flags, config keys - Removing a feature that has downstream consumers - Rewriting > 1,000 lines across a codebase → **Framework:** Second-Order Thinking ("what does this cause, and what does that cause?") ### Multi-Option Judgment Calls - Choosing between 3+ architectural paths - Picking a library/framework with long-tail commitment - Prioritizing between competing feature requests → **Framework:** Decision Matrix (columns = options, rows = weighted criteria) ### Root Cause Debugging - A bug has returned after being "fixed" - A pattern keeps recurring across unrelated work - A test failure has non-obvious cause → **Framework:** 5 Whys (keep asking until you hit the infrastructural cause) ### Scoping Ambition - Feature spec has 20+ items; need to prioritize - Time-boxed session; need to pick highest-leverage work → **Framework:** Pareto 80/20 ("which 20% delivers 80% of value?") ### Reframing Stuck - Been spinning on an approach that isn't working - Assumptions feel embedded but might not be true → **Framework:** First Principles (strip to the problem; rebuild from truths) ## Invocation Shape When a trigger fires: 1. **Name the trigger** in plain language: "About to commit 1,881 generated chapter files — this is the `blast-radius: committing generated content` trigger." 2. **Pick the framework** from the mapping above. 3. **Apply it in-line** in the conversation — usually 3-5 sentences is enough to surface the tradeoff. 4. **Record the decision** via `observe.mjs event decision