Execute complete FPF cycle from hypothesis generation to decision
Executes the complete First Principles Framework cycle: generates competing hypotheses, verifies logic, validates evidence, audits trust, and produces a decision record. Use this when you need rigorous, evidence-based analysis for complex problems or technical decisions.
/plugin marketplace add NeoLabHQ/context-engineering-kit/plugin install neolabhq-fpf-plugins-fpf@NeoLabHQ/context-engineering-kit[problem-statement]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 Record