mcpField
S
Science

Science

github.com/danielmiessler生产力19.6k134 次安装1 天前更新
代码仓库

关于 Science

Science 是一项将科学方法用于问题解决的 Claude 技能,适用于快速调试和产品验证。它通过明确目标、多种假设和可检验实验,提供结构化工作流。

主要功能

  1. 01定义目标与成功标准
  2. 02生成多个竞争假设
  3. 03设计可证伪实验
  4. 04测量并分析结果
  5. 05快速诊断与系统调查

适用场景

  1. 01排查软件问题
  2. 02测试不同提示词设计
  3. 03验证产品功能
  4. 04开展有测量的开发周期

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/danielmiessler/lifeos --skill science

安装后在 Claude Code 中输入/science确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

Templates.md
Methodology.md
Examples.md
Protocol.md
Workflows/
AnalyzeResults.md
DesignExperiment.md
DefineGoal.md
GenerateHypotheses.md
FullCycle.md
Iterate.md
StructuredInvestigation.md
QuickDiagnosis.md
MeasureResults.md

详细介绍

自定义

执行前,请检查用户自定义设置: ~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Science/

如果此目录存在,请加载并应用其中的任何 PREFERENCES.md、配置或资源。这些内容会覆盖默认行为。如果目录不存在,则使用技能默认设置。

🚨 强制要求:语音通知(任何操作前必须执行)

调用此技能时,必须先发送此通知,再进行任何其他操作。

  1. 发送语音通知:

    curl -s -X POST http://localhost:31337/notify \
      -H "Content-Type: application/json" \
      -d '{"message": "Running the WORKFLOWNAME workflow in the Science skill to ACTION"}' \
      > /dev/null 2>&1 &
    
  2. 输出文本通知:

    Running the **WorkflowName** workflow in the **Science** skill to ACTION...
    

此步骤不可省略。调用技能后,立即执行此 curl 命令。

Science - 通用算法

功能

将科学方法作为通用问题解决算法:先定义目标,生成多个假设,设计可能失败的实验,诚实地进行测量,根据目标分析,并不断迭代。包含七种核心工作流,以及两个诊断捷径(快速的 15 分钟调试和结构化多因素调查)。适用范围从微观(TDD)到中观(功能验证),再到宏观(MVP 发布)。

问题

大多数问题解决只是把猜测包装成工作。你选择脑海中第一个想到的点子,做出一些改变,然后在“感觉更好”时就宣布完成——这其实是确认偏误,而非进步。没有明确的成功标准,你就无法判断某项改变是否有效,于是要么永远调整下去,要么过早停止。单一假设思维意味着你只会测试自己已经相信的想法。这项技能强制执行一套纪律,解决上述所有问题:明确的目标、至少三个相互竞争的假设、可证伪的测试,以及与目标而非期望进行比较的测量。

工作原理

整个过程是一个不断重复的循环,目标是其锚点——没有明确的成功标准,你就无法评判结果:

GOAL -----> What does success look like?
   |
OBSERVE --> What is the current state?
   |
HYPOTHESIZE -> What might work? (Generate MULTIPLE)
   |
EXPERIMENT -> Design and run the test
   |
MEASURE --> What happened? (Data collection)
   |
ANALYZE --> How does it compare to the goal?
   |
ITERATE --> Adjust hypothesis and repeat
   |
   +------> Back to HYPOTHESIZE

答案来自循环,而非猜测。


工作流路由

执行时输出: Running the **WorkflowName** workflow in the **Science** skill to ACTION...

核心工作流
工作流触发条件文件
DefineGoal“定义目标”“我们想要实现什么”Workflows/DefineGoal.md
GenerateHypotheses“什么可能有效”“点子”“假设”Workflows/GenerateHypotheses.md
DesignExperiment“如何测试”“实验设计”Workflows/DesignExperiment.md
MeasureResults“发生了什么”“测量”“结果”Workflows/MeasureResults.md
AnalyzeResults“分析”“与目标比较”Workflows/AnalyzeResults.md
Iterate“迭代”“再试一次”“下一个周期”Workflows/Iterate.md
FullCycle完整的结构化周期Workflows/FullCycle.md
诊断工作流
工作流触发条件文件
QuickDiagnosis快速调试(15 分钟规则)Workflows/QuickDiagnosis.md
StructuredInvestigation复杂调查Workflows/StructuredInvestigation.md

资源索引

资源说明
Methodology.md深入了解各个阶段
Protocol.md技能如何实现 Science
Templates.md目标、假设、实验、结果模板
Examples.md不同规模的实例

领域应用

领域具体体现相关技能
CodingTDD(Red-Green-Refactor)Development
ProductsMVP -> Measure -> IterateDevelopment
ResearchQuestion -> Study -> AnalyzeResearch
PromptsPrompt -> Eval -> IterateEvals
DecisionsOptions -> Council -> ChooseCouncil

应用规模

级别周期时间示例
微观分钟TDD:测试、编码、重构
中观小时至数天功能:编写规范、实现、验证
宏观数周至数月产品:MVP、发布、衡量 PMF

集成点

阶段调用的技能
目标Council 用于验证
观察Research 用于了解背景
假设Council 用于提出想法,RedTeam 用于压力测试
实验Development(Worktrees)用于并行测试
衡量Evals 用于结构化衡量
分析Council 用于多角度分析

反模式

不佳做法良好做法
“让它变得更好”“将加载时间从 3s 缩短到 1s”
“我觉得 X 会奏效”“这里有 3 种方案:X、Y、Z”
“证明我是对的”“设计一个可能证伪的测试”
“假装失败没有发生”“我们学到了什么?”
“永远不停地做实验”“发布并从生产环境中学习”

注意事项

  • 测试前至少提出 3 个假设。 单一假设测试会产生确认偏差——直接进行单一测试属于试错,而非科学。
  • 测量必须具体且可复现。 “感觉更好了”不算测量。
  • 完整周期适用于系统性调查。 快速调试请使用快速诊断模式。

示例

示例 1:快速诊断

User: "figure out why Surface time filters show stale items"
→ Quick diagnosis mode
→ Hypothesis: timestamp format mismatch in D1
→ Test: query D1 for actual stored format
→ Analyze: compare stored vs expected format
→ Result: ISO string vs Unix timestamp mismatch

示例 2:完整系统性调查

User: "experiment with different prompt structures for better output"
→ Full cycle mode
→ 3+ hypotheses generated
→ Controlled experiments with measurements
→ Analysis identifies winning approach
→ Iterates until convergence

执行日志

完成任何工作流后,追加一条 JSONL 记录:

echo '{"ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","skill":"Science","workflow":"WORKFLOW_USED","input":"8_WORD_SUMMARY","status":"ok|error","duration_s":SECONDS}' >> ~/.claude/LIFEOS/MEMORY/SKILLS/execution.jsonl

将 WORKFLOW_USED 替换为已执行的工作流,将 8_WORD_SUMMARY 替换为简要的输入描述,并将 SECONDS 替换为大致的实际耗时。如果工作流失败,则记录 status: "error"。

评论

支持 Markdown