一键导入
fpf-problem-framing
// Think through a problem by working through the problem card template. Design what problem you're solving and how you'll know it's solved. MUST invoke for debugging, new features, design decisions, or any substantive work.
// Think through a problem by working through the problem card template. Design what problem you're solving and how you'll know it's solved. MUST invoke for debugging, new features, design decisions, or any substantive work.
FPF global toggle and status. Check whether FPF is enabled or disabled globally. Enable or disable FPF across all Claude Code sessions. Triggers on "fpf status", "fpf on", "fpf off", "enable fpf", "disable fpf", "is fpf active", "/fpf-active".
FPF session bootstrap. MUST be auto-invoked at the start of any non-trivial task. Writes sentinel, triggers worklog, activates FPF rules. After this, MUST invoke /fpf-worklog.
End-of-session quality gate. Verify the creative and assurance pipeline — not just artifacts. MUST invoke before ending any non-trivial session.
Perform qualitative Pareto analysis on variants, apply explicit selection policy, record stepping-stone bets. Think through the trade-offs using the selection template.
Explore the solution space by generating ≥3 genuinely distinct variants within the chosen method family. Think through alternatives using the portfolio template as scaffolding.
Show current FPF session state — tier, edit count, artifacts, pending gates. Read-only diagnostic.
| name | fpf-problem-framing |
| description | Think through a problem by working through the problem card template. Design what problem you're solving and how you'll know it's solved. MUST invoke for debugging, new features, design decisions, or any substantive work. |
| argument-hint | [topic-or-short-title] |
This is creative problem design, not paperwork. You are designing the problem — choosing what to solve, defining what "solved" means, identifying trade-off axes. In a world of cheap solution generation, this is the scarce skill.
Work through the template as scaffolding for your thinking. Don't think in chat and fill the template afterward — the template IS the thinking tool.
When in doubt → start as ANOM-, promote to PROB- if complexity emerges. Graduation criteria: If you find yourself writing ≥3 hypotheses, or the fix isn't obvious, promote to PROB-*.
Framing matters more than solving. A well-framed problem makes the solution factory efficient. A poorly-framed problem produces noise regardless of how many variants you generate.
Ask these while filling the template:
Reframing moves: If the initial framing feels too narrow or too broad:
.fpf/anomalies/ANOM-${CLAUDE_SESSION_ID}--<slug>.md.fpf/anomalies/PROB-${CLAUDE_SESSION_ID}--<slug>.mdH1:, H2:, H3: etc. at line startthreshold: and measurement: in the acceptance spec can substitute for a separate CHR- artifact.# Anomaly Record
- **ID:** ANOM-... **Status:** Open **Created:** YYYY-MM-DD
## What happened
(signal + observations — facts only, assumptions separate)
## Hypotheses
H1: ...
H2: ...
## Prime hypothesis + predictions
...
## Test plan
...
# Problem Card
- **ID:** PROB-... **Status:** Open **Created:** YYYY-MM-DD
- **Lifecycle state:** Explore|Shape|Evidence|Operate
- **valid_until:** YYYY-MM-DD (when does this problem framing go stale?)
## Problem statement
- **Signal:** ... **Current:** ... **Desired:** ... **Impact:** ...
## Constraints
...
## Hypotheses
H1: ... (parsimony, explanatory power, falsifiability)
H2: ...
H3: ...
## Prime hypothesis + predictions
...
## Goldilocks assessment
- Measurability: (can you verify a solution without guessing?)
- Reversibility: (what's the blast radius if wrong?)
- Stepping-stone potential: (does solving this open new solution spaces?)
- Trade-off axes: (what competing goals exist?)
## Acceptance spec
- Indicators: (from CHR-* passport)
- Criteria: (what "good enough" means)
- Baseline: (current measured state)
- Required evidence: (what EVID-* must show)
## What would change this problem?
...