decision-framework-invoker

$npx mdskill add Tibsfox/gsd-skill-creator/decision-framework-invoker

Automatically pauses before irreversible actions to invoke a decision framework.

  • Prevents regret from ad-hoc calls during high-blast-radius operations.
  • Depends on the decision-framework skill for thinking frameworks.
  • Matches proposed actions against trigger patterns like irreversibility or blast radius.
  • Pauses execution and runs the appropriate framework before proceeding.

SKILL.md

.github/skills/decision-framework-invokerView on GitHub ↗
---
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: stable
updated: 2026-04-17
type: skill
category: gsd-meta
origin: tibsfox
modified: false
first_seen: 2026-04-17
first_path: examples/skills/gsd-meta/decision-framework-invoker/SKILL.md
superseded_by: null
---

# 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 <label> <payload>`
   so the retrospective captures it.
5. **Proceed** with eyes open, or adjust the approach.

## Example — The 1,881-File Publish (v1.49 release-history work)

Trigger: "About to commit 1,881 auto-generated markdown files into
`docs/release-notes/v*/chapter/`."

This hit two trigger categories:
- **Blast radius:** large diff affecting 1,881 files
- **Irreversibility-ish:** git commit is reversible, but reverting a commit
  that size is painful

Framework applied (Inversion):
- *Worst case:* "These files are regenerable from the DB. If we commit them
  and hate the shape, we can `rm -rf` and regenerate. Cost: a revert commit."
- *Best case:* "Anyone browsing the repo on GitHub can read chapters without
  running the pipeline."
- *Hidden third option:* "Commit only the top-level index files (STORY.md,
  INDEX.md) and leave per-chapter files local."

Decision: commit all 1,881. Rationale: regenerable, reviewable on GitHub,
user asked. Recorded via `observe.mjs event decision`.

## What This Skill is NOT

- A mandatory gate — you don't need a framework for every tool call
- A substitute for doing the work — frame the decision, then act
- A bureaucratic checklist — most triggers take 30 seconds to resolve

## Related

- `decision-framework` — the actual frameworks this skill invokes
- `session-observatory-live` — record the decision via observe.mjs

More from Tibsfox/gsd-skill-creator

SkillDescription
3d-interaction-designDesign heuristics for three-dimensional interaction — input modalities (6DoF controllers, gaze, gesture, voice), selection and manipulation techniques (ray-cast, virtual hand, go-go, world-in-miniature), navigation (teleport, continuous, redirected walking), and feedback loops (haptic, audio, visual). Covers Fitts' law in 3D, discoverability vs affordance, safe-zone design, and comfort/simulator sickness mitigation. Use when designing VR/AR interactions, immersive walkthroughs, or any input system where the user's body is the controller.
accessibility-patternsProvides web accessibility best practices for semantic HTML, ARIA, keyboard navigation, color contrast, and screen reader patterns. Use when building UI components, reviewing accessibility, or when user mentions 'a11y', 'accessibility', 'ARIA', 'screen reader', 'keyboard navigation', 'WCAG'.
active-listeningActive listening techniques for effective communication. Covers attending behaviors, paraphrasing, reflective listening, clarifying questions, empathic response, barriers to listening, listening in conflict, and cross-cultural listening. Use when building listening skills, improving understanding in conversation, mediating disputes, or analyzing communication breakdowns.
adversarial-pr-reviewAdversarial spec-compliance PR review — cross-references diffs against approved specs, verifies runtime claims against source, detects competing PRs, audits scope/convention compliance. Use before merging.
agile-methodsAgile and Lean software development methodologies for iterative, adaptive project execution. Covers Scrum (roles, ceremonies, artifacts), Kanban (WIP limits, flow metrics), XP (TDD, pair programming, CI), SAFe overview, Lean Software Development (Poppendieck's 7 principles), user stories (INVEST criteria), estimation via story points and velocity, and the Agile Manifesto's values and principles. Includes Cynefin framework for methodology selection and GSD's relationship to Agile as a structured Lean variant.
algebraic-reasoningSymbolic manipulation, equation solving, and algebraic structures for mathematical reasoning. Covers distributive law, factoring, completing the square, linear through polynomial equation solving, systems of equations (substitution, elimination, Gaussian elimination, matrix methods), algebraic structures (groups, rings, fields), modular arithmetic, polynomial theory, and inequalities. Use when solving equations, simplifying expressions, working with algebraic structures, or performing symbolic manipulation.
algorithmic-awarenessUnderstanding how algorithmic systems shape what users see, know, and do -- from recommendation feeds to search ranking to credit scoring to hiring software. Covers the mechanics of recommendation systems, algorithmic bias and its sources, personalization's effects on information diets, opacity and accountability, AI limitations (hallucination, confident wrongness), and the human-in-the-loop question. Use when a learner needs to think critically about why particular content reached them.
algorithms-data-structuresAlgorithms and data structures from first principles through advanced analysis. Covers sorting (bubble, insertion, selection, merge, quick, heap, radix), searching (linear, binary, BFS, DFS, Dijkstra, A*), fundamental data structures (arrays, linked lists, stacks, queues, hash tables, trees, heaps, graphs, tries), complexity analysis (Big-O, Big-Omega, Big-Theta, amortized), recurrence relations, and algorithm design paradigms (divide-and-conquer, greedy, dynamic programming, backtracking). Use when analyzing, selecting, implementing, or comparing algorithms and data structures.
aminet-browserAminet search and browse: full-text search, category tree navigation, architecture filtering, package detail, and curated collections. Use when searching, browsing, or managing package collections.
aminet-emulatorFS-UAE emulator configuration and launch: hardware profiles, ROM management, WHDLoad integration, config generation, and state snapshots. Use when configuring emulation, managing ROMs, or launching Amiga software.