fpf%3Apropose-hypotheses by neolabhq/context-engineering-kit
npx skills add https://github.com/neolabhq/context-engineering-kit --skill fpf:propose-hypotheses执行第一性原理框架(FPF)循环:生成竞争性假设、验证逻辑、核实证据、审计可信度,并做出决策。
Problem Statement: $ARGUMENTS
如果不存在,则创建 .fpf/ 目录结构:
mkdir -p .fpf/{evidence,decisions,sessions,knowledge/{L0,L1,L2,invalid}}
touch .fpf/{evidence,decisions,sessions,knowledge/{L0,L1,L2,invalid}}/.gitkeep
后置条件:.fpf/ 目录脚手架已存在。
使用 sonnet[1m] 模型启动 fpf-agent:
描述:"初始化 FPF 上下文"
提示:
读取 ${CLAUDE_PLUGIN_ROOT}/tasks/init-context.md 并执行。
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
问题陈述:$ARGUMENTS
写入:将上下文摘要写入 .fpf/context.md**
使用 sonnet[1m] 模型启动 fpf-agent:
描述:"生成 L0 假设"
提示:
读取 ${CLAUDE_PLUGIN_ROOT}/tasks/generate-hypotheses.md 并执行。
问题陈述:$ARGUMENTS 上下文:<来自步骤 1b 的摘要>
写入:将假设 ID 和标题列表写入 .fpf/knowledge/L0/
以 Markdown 格式的摘要表格回复:
| ID | 标题 | 类型 | 范围 |
|---|---|---|---|
| ... | ... | ... | ... |
.fpf/knowledge/L0/ 读取所有 L0 假设文件。条件:用户对添加假设回答"是"。
使用 sonnet[1m] 模型启动 fpf-agent:
描述:"添加用户假设"
提示:
读取 ${CLAUDE_PLUGIN_ROOT}/tasks/add-user-hypothesis.md 并执行。
用户假设描述:<从用户处获取>
写入:将用户假设写入 .fpf/knowledge/L0/
循环:假设添加后返回步骤 3。
退出:当用户说"否"或拒绝添加更多时。
条件:用户已完成添加假设。
对于 .fpf/knowledge/L0/ 中的每个 L0 假设文件,使用 sonnet[1m] 模型启动并行 fpf-agent:
描述:"验证假设:"
提示:
读取 ${CLAUDE_PLUGIN_ROOT}/tasks/verify-logic.md 并执行。
假设 ID:<假设-id> 假设文件:.fpf/knowledge/L0/<假设-id>.md
移动:完成验证后,将文件移动到 .fpf/knowledge/L1/ 或 .fpf/knowledge/invalid/。
等待所有代理,然后检查文件是否已移动到 .fpf/knowledge/L1/ 或 .fpf/knowledge/invalid/。
对于 .fpf/knowledge/L1/ 中的每个 L1 假设文件,使用 sonnet[1m] 模型启动并行 fpf-agent:
描述:"核实假设:"
提示:
读取 ${CLAUDE_PLUGIN_ROOT}/tasks/validate-evidence.md 并执行。
假设 ID:<假设-id> 假设文件:.fpf/knowledge/L1/<假设-id>.md
移动:完成核实验证后,将文件移动到 .fpf/knowledge/L2/ 或 .fpf/knowledge/invalid/。
等待所有代理,然后检查文件是否已移动到 .fpf/knowledge/L2/ 或 .fpf/knowledge/invalid/。
对于 .fpf/knowledge/L2/ 中的每个 L2 假设文件,使用 sonnet[1m] 模型启动并行 fpf-agent:
描述:"审计可信度:"
提示:
读取 ${CLAUDE_PLUGIN_ROOT}/tasks/audit-trust.md 并执行。
假设 ID:<假设-id> 假设文件:.fpf/knowledge/L2/<假设-id>.md
写入:将审计报告写入 .fpf/evidence/audit-{hypothesis-id}-{YYYY-MM-DD}.md
回复:包含 R_eff 分数和最薄弱环节
等待所有代理,然后检查是否在 .fpf/evidence/ 中创建了审计报告。
使用 sonnet[1m] 模型启动 fpf-agent:
描述:"创建决策记录"
提示:
读取 ${CLAUDE_PLUGIN_ROOT}/tasks/decide.md 并执行。
问题陈述:$ARGUMENTS L2 假设目录:.fpf/knowledge/L2/ 审计报告:.fpf/evidence/
写入:将决策记录写入 .fpf/decisions/
回复:以 Markdown 格式的决策记录摘要:
| 假设 | R_eff | 最薄弱环节 | 状态 |
|---|---|---|---|
| ... | ... | ... | ... |
推荐决策:<假设标题>
理由:<简要解释>
.fpf/decisions/ 中创建了决策记录。.fpf/decisions/ 读取 DRR。/fpf:status 检查 FPF 状态/fpf:actualize工作流在以下情况下完成:
.fpf/ 目录结构存在.fpf/context.md 中.fpf/decisions/ 中创建了 DRR创建的工件:
.fpf/context.md - 问题上下文.fpf/knowledge/L0/*.md - 初始假设.fpf/knowledge/L1/*.md - 已验证的假设.fpf/knowledge/L2/*.md - 已核实的假设.fpf/knowledge/invalid/*.md - 被拒绝的假设.fpf/evidence/*.md - 证据文件.fpf/decisions/*.md - 设计理由记录每周安装次数
148
仓库
GitHub 星标数
699
首次出现
2026 年 2 月 19 日
安装于
opencode143
github-copilot142
codex142
gemini-cli141
kimi-cli139
cursor139
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:
Description : "Initialize FPF context"
Prompt :
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:
Description : "Generate L0 hypotheses"
Prompt :
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:
Description : "Add user hypothesis"
Prompt :
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:
Description : "Verify hypothesis: "
Prompt :
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:
Description : "Validate hypothesis: "
Prompt :
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:
Description : "Audit trust: "
Prompt :
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:
Description : "Create decision record"
Prompt :
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 RecordWeekly Installs
148
Repository
GitHub Stars
699
First Seen
Feb 19, 2026
Installed on
opencode143
github-copilot142
codex142
gemini-cli141
kimi-cli139
cursor139
AI 代码实施计划编写技能 | 自动化开发任务分解与 TDD 流程规划工具
47,700 周安装