From fpf
Executes First Principles Framework (FPF) workflow: generates competing hypotheses for a problem statement, verifies logic across agents, organizes evidence/decisions in .fpf/ directory.
How this skill is triggered — by the user, by Claude, or both
Slash command
/fpf:propose-hypothesesThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Execute the First Principles Framework (FPF) cycle: generate competing hypotheses, verify logic, validate evidence, audit trust, and produce a decision.
Execute the First Principles Framework (FPF) cycle: generate competing hypotheses, verify logic, validate evidence, audit trust, and produce a decision.
Problem Statement: $ARGUMENTS
Create .fpf/ directory structure if it does not exist:
mkdir -p .fpf/{evidence,decisions,sessions,knowledge/{L0,L1,L2,invalid}}
touch .fpf/{evidence,decisions,sessions,knowledge/{L0,L1,L2,invalid}}/.gitkeep
Postcondition: .fpf/ directory scaffold exists.
Launch fpf-agent with sonnet[1m] model:
Read ${CLAUDE_PLUGIN_ROOT}/tasks/init-context.md and execute.
Problem Statement: $ARGUMENTS
**Write**: Context summary to `.fpf/context.md`**
Launch fpf-agent with sonnet[1m] model:
Read ${CLAUDE_PLUGIN_ROOT}/tasks/generate-hypotheses.md and execute.
Problem Statement: $ARGUMENTS
Context: <summary from Step 1b>
**Write**: List of hypothesis IDs and titles to `.fpf/knowledge/L0/`
Reply with summary table in markdown format:
| ID | Title | Kind | Scope |
|----|-------|------|-------|
| ... | ... | ... | ... |
.fpf/knowledge/L0/Condition: User says yes to adding hypotheses.
Launch fpf-agent with sonnet[1m] model:
Read ${CLAUDE_PLUGIN_ROOT}/tasks/add-user-hypothesis.md and execute.
User Hypothesis Description: <get from user>
**Write**: User hypothesis to `.fpf/knowledge/L0/`
Loop: Return to Step 3 after hypothesis is added.
Exit: When user says no or declines to add more.
Condition: User finished adding hypotheses.
For EACH L0 hypothesis file in .fpf/knowledge/L0/, launch parallel fpf-agent with sonnet[1m] model:
Read ${CLAUDE_PLUGIN_ROOT}/tasks/verify-logic.md and execute.
Hypothesis ID: <hypothesis-id>
Hypothesis File: .fpf/knowledge/L0/<hypothesis-id>.md
**Move**: After you complete verification, move the file to `.fpf/knowledge/L1/` or `.fpf/knowledge/invalid/`.
Wait for all agents, then check that files are moved to .fpf/knowledge/L1/ or .fpf/knowledge/invalid/.
For EACH L1 hypothesis file in .fpf/knowledge/L1/, launch parallel fpf-agent with sonnet[1m] model:
Read ${CLAUDE_PLUGIN_ROOT}/tasks/validate-evidence.md and execute.
Hypothesis ID: <hypothesis-id>
Hypothesis File: .fpf/knowledge/L1/<hypothesis-id>.md
**Move**: After you complete validation, move the file to `.fpf/knowledge/L2/` or `.fpf/knowledge/invalid/`.
Wait for all agents, then check that files are moved to .fpf/knowledge/L2/ or .fpf/knowledge/invalid/.
For EACH L2 hypothesis file in .fpf/knowledge/L2/, launch parallel fpf-agent with sonnet[1m] model:
Read ${CLAUDE_PLUGIN_ROOT}/tasks/audit-trust.md and execute.
Hypothesis ID: <hypothesis-id>
Hypothesis File: .fpf/knowledge/L2/<hypothesis-id>.md
**Write**: Audit report to `.fpf/evidence/audit-{hypothesis-id}-{YYYY-MM-DD}.md`
**Reply**: with R_eff score and weakest link
Wait for all agents, then check that audit reports are created in .fpf/evidence/.
Launch fpf-agent with sonnet[1m] model:
Read ${CLAUDE_PLUGIN_ROOT}/tasks/decide.md and execute.
Problem Statement: $ARGUMENTS
L2 Hypotheses Directory: .fpf/knowledge/L2/
Audit Reports: .fpf/evidence/
**Write**: Decision record to `.fpf/decisions/`
**Reply**: with decision record summary in markdown format:
| Hypothesis | R_eff | Weakest Link | Status |
|------------|-------|--------------|--------|
| ... | ... | ... | ... |
**Recommended Decision**: <hypothesis title>
**Rationale**: <brief explanation>
.fpf/decisions/..fpf/decisions//fpf:status to check FPF state/fpf:actualize if codebase changesWorkflow complete when:
.fpf/ directory structure exists.fpf/context.md.fpf/decisions/Artifacts Created:
.fpf/context.md - Problem context.fpf/knowledge/L0/*.md - Initial hypotheses.fpf/knowledge/L1/*.md - Verified hypotheses.fpf/knowledge/L2/*.md - Validated hypotheses.fpf/knowledge/invalid/*.md - Rejected hypotheses.fpf/evidence/*.md - Evidence files.fpf/decisions/*.md - Design Rationale Recordnpx claudepluginhub neolabhq/context-engineering-kit --plugin fpfRigorous reasoning framework for decomposing complex problems, making high-stakes decisions under uncertainty, and structuring auditable multi-view artifacts.
Generates and compares 3-5 competing hypotheses for complex decisions using ADI cycle (Abduction, Deduction, Induction). For architectural choices, trade-offs, and systematic option evaluation.
Auto-Decision Engine: iterative decision simulation using autoresearch principles and a persona council. Decomposes decisions, generates competing hypotheses, simulates first/second-order effects with probabilities, critiques via anonymized peer review, and iterates until insights stabilize mechanically. The output is a possibility map — hypotheses, effects, council disagreements, adversarial scenarios, assumptions — with a recommendation synthesized at the end, not as the product.