本文へ移動
cccskills
無料GitHub で公開

fermi-estimation-coach

当机制清单已经排好、需要给每个机制配数值锚点并合成一个站得住的量级结论时使用。把估算写成显式的因子分解,每个因子给低/中/高三值与证据档位,算出区间而不是装饰性的小数位,再与参考区间和守恒量核对。worksheet 的结构与算术由 scripts/check_estimate.py 校验。

不负责发现或排序机制——那是 physics-mechanism-decomposer 的事。

インストール方法を見る

含まれるファイル(3)

  • SKILL.md8.8 KB
  • references/estimate-schema.md3.8 KB
  • scripts/check_estimate.py26.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Fermi Estimation Coach

Turn an identified physical mechanism into a transparent numerical estimate. Preserve uncertainty and expose the assumptions that control the conclusion.

Scope

Use this skill to:

  • attach numerical anchors to an existing mechanism chain;
  • estimate low, central, and high values for uncertain factors;
  • combine mechanism-level estimates into an order-of-magnitude conclusion;
  • identify which assumptions deserve measurement or source checking.

Do not use it to discover, rank, or explain candidate mechanisms from scratch. If no mechanism list exists, first ask for one or route the user to physics-mechanism-decomposer. Do not present guessed values as measured facts, and do not silently replace missing inputs with convenient constants.

In graded work that is still in progress (homework, a test, a competition entry such as an IYPT report), the factorization, the anchors, and the final estimate are the user's own work. There, check the structure and arithmetic of the worksheet the user wrote, name factors that lack a basis or an evidence status, and explain how an anchor could be found; do not choose the anchors, fill in the numbers, or produce the estimate. If the context is unclear and the request is to produce the estimate, ask first. This is the shared boundary in ../_shared/physics-evidence-contract.md §4.

Inputs

Ask only for information that changes the estimate:

  1. target quantity and unit;
  2. mechanism list, including which mechanisms are dominant, secondary, or negligible;
  3. known measurements, constraints, and environmental conditions;
  4. desired precision or decision threshold;
  5. permitted sources or lookup constraints.

If the user cannot supply a mechanism list, stop after producing a short list of missing prerequisites. Do not invent the physics chain.

Workflow

1. State the estimation contract

Write one sentence each for:

  • Target: quantity, unit, system boundary, and time/length scale.
  • Decision: what conclusion the estimate must support.
  • Precision: nearest power of ten, factor of two, or another justified tolerance.

A Fermi estimate should not claim more precision than its weakest input supports.

2. Import the mechanism chain

Copy each supplied mechanism into a ledger. Give it a stable ID and preserve its assigned role: dominant, secondary, or negligible. Record provenance (user, prior analysis, or cited source).

Do not rerank mechanisms merely because one is easier to calculate. If the supplied ranking appears inconsistent, flag the conflict and request a mechanism review rather than fixing it silently.

3. Build an explicit factorization

For each non-negligible mechanism:

  1. express its contribution as a product or quotient of measurable factors;
  2. define every symbol and unit;
  3. distinguish measured, sourced, inferred, and assumed values;
  4. use the fewest independent factors that preserve the physical structure;
  5. keep calculations symbolic until the factorization is stable.

Avoid double counting. Two factors derived from the same observation are not independent evidence.

4. Anchor every factor

Give every uncertain factor a positive low, central, and high value and a basis:

  • measured: supplied observation and measurement conditions;
  • sourced: citation plus access or publication date;
  • derived: equation and upstream factor IDs;
  • assumed: explicit rationale and the consequence if wrong.

When a trusted reference interval is available, record it separately. A familiar-looking number is not a source. If values can be zero or negative, reformulate the magnitude estimate and track sign separately; the bundled checker assumes positive magnitudes.

5. Calculate ranges, not decorative decimals

For products and quotients, propagate a conservative interval:

  • central: central numerator factors divided by central denominator factors;
  • low: low numerator factors divided by high denominator factors;
  • high: high numerator factors divided by low denominator factors.

Round the narrative conclusion to a precision justified by the range. Retain unrounded values in the worksheet for checking.

6. Synthesize the mechanisms

Combine all dominant and secondary contributions unless an exclusion is explicitly justified. Choose a method that matches the physical relationship:

  • sum for additive contributions;
  • max only when the goal is a dominant-scale approximation and this is stated;
  • product only when mechanism outputs are genuinely multiplicative. The mechanism units then multiply to the target unit (for example s^-1 × J = W); with sum and max, every mechanism estimate carries the target unit itself.

Keep negligible mechanisms in the ledger with the reason they were omitted. Never infer cancellation from magnitudes alone; signs and phases require separate physical justification.

7. Stress-test the conclusion

Vary one uncertain factor at a time across its interval. Report:

  • which factor changes the result most;
  • whether the mechanism ranking changes;
  • whether the decision changes;
  • the cheapest observation that would reduce uncertainty.

If the conclusion crosses the decision threshold inside the plausible range, report it as unresolved, not as a central-value win.

8. Run the deterministic check

Encode the worksheet using references/estimate-schema.md, then run:

python3 scripts/check_estimate.py estimate.json

The checker validates field completeness, unknown keys, ordered positive ranges, reference-range conflicts, product/quotient arithmetic, synthesis closure, the combined unit of a product synthesis, and omission of non-negligible mechanisms. Exit status: 0 pass, 1 validation errors, 2 unreadable file or bad arguments; --selftest runs its regression cases. It does not validate the selected physics, source credibility, unit conversions, whether factor units multiply to the mechanism unit, signs, correlations, or whether factorization is conceptually correct. Those require human or agent review.

Output format

Return sections in this order:

  1. Estimation contract
  2. Mechanism ledger
  3. Factor table — ID, meaning, unit, low/central/high, evidence status, basis
  4. Mechanism calculations
  5. Synthesis
  6. Sensitivity and decision
  7. Unknowns and next measurement
  8. Verification status — checker result and non-automated checks still needed

Failure rules

  • Missing mechanism chain: stop and list the missing prerequisite.
  • Missing anchor: mark unknown; do not substitute an unstated default.
  • Conflicting sources: retain both ranges and show how each changes the result.
  • Unit mismatch: stop calculation until conversion is explicit.
  • Correlated factors: flag the dependency; do not imply independent uncertainty.
  • Arithmetic checker failure: do not present the estimate as verified.
  • Plausible range spans multiple decision outcomes: conclude “insufficiently constrained.”

Quality gate

Before finalizing, confirm:

  • every non-negligible mechanism is included or explicitly blocked;
  • every numerical anchor has a basis and evidence status;
  • units and system boundaries are explicit;
  • low ≤ central ≤ high for every magnitude;
  • no mechanism or observation is counted twice;
  • the stated precision matches the uncertainty range;
  • deterministic checks pass;
  • physical assumptions and checker limitations remain visible.

变更记录 / Changelog

版本日期变更类型
0.1.12026-09-26check_estimate.py:product 合成改为各机制单位相乘后与目标单位比对(原规则只有谎标单位才能通过),method/role/evidence_status 类型错误不再抛 TypeError,未知键报错,加 --selftest 并写明退出码;Scope 补作业与竞赛进行中的代做边界(指向证据契约 §4),机制分解改指 physics-mechanism-decomposer;示例命令改用 python3(macOS 自带的只有 python3)patch
0.1.02026-09-05初始版本minor

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

当学生说"Common App 活动栏写不下"、"这段活动描述超字数了"、"帮我把这几条压到限制内"时使用。先按官方申请表核对当季字符限额,再逐条检查;一次把所有条目量完并直接给出压缩版,只在需要砍掉实质内容时才用选择题问该保哪部分。每改一版都用工具重新数一遍字符,绝不凭感觉说"这样应该够了"。只压缩,不代写空白。

日本語の概要は準備中です。原文の説明を表示しています。

ChromiteCr/Skills42026年10月16日 更新

当学生说"我参加过一些活动但没整理过"、"帮我把经历录进去"、"我的活动档案是空的"时使用。让学生一口气把记得的活动说出来,直接把这段话拆成结构化的长期事项(角色、组织、起止时间、做了什么、结果、级别),说不清的字段留空标"待补"而不是编,再用一张选择题卡把级别判定与是否重复这类关键项一次问完,然后提案入库。只记录学生真正说出口的内容,级别按事实判定,绝不往高了写。

日本語の概要は準備中です。原文の説明を表示しています。

ChromiteCr/Skills42026年10月16日 更新

当学生问"招生官会怎么看我的档案"、"我的背景还差什么"、"帮我评估一下现在的申请竞争力"时使用。以顶尖大学招生官的视角通读学生的档案、长期活动与已写下的反思,不问任何前置问题直接产出一份指名道姓的坦诚点评:这份材料的亮点、招生官真实的解读方式、明显的短板与空白、以及接下来最值得做的一到两件事。只读不写,不修改学生的任何数据,也不代写任何申请材料。

日本語の概要は準備中です。原文の説明を表示しています。

ChromiteCr/Skills42026年10月16日 更新

当使用者说"帮我填词"、"按这个字数模板写歌词"、"用多Agent对抗式写词"、"这首副歌帮我想几句"时使用,前提是字数骨架和这首歌写什么都已经有了;只有主题、还没定写什么时先用 lyric-concept-builder。拿一份字数骨架和意象系统,派三个 sonnet 子代理按不同路子并行独立起草(场景派 / 口语派 / 意象派),再派一个红队子代理逐句挑毛病,主 Agent 按句裁决拼稿,最后统一辙口与意象。收敛判据卡死:字数用 lyric-doctor 的脚本对模板数、每段同辙、hook 不含陈词、主歌二对主歌一有推进。不抄现有歌词,不替使用者决定这首歌要说什么。

日本語の概要は準備中です。原文の説明を表示しています。

ChromiteCr/Skills42026年10月16日 更新

当想知道一段 AI 回答"哪些能直接用、哪些必须先验证、哪些只能当建议"时使用。按声明类型分四级——低风险草稿材料、观点与策略建议、可查证的事实声明、会改变状态的可执行指令——每级配一句默认处置动作;再按影响半径排序,给出最小的下一步检查。可执行类一律标"不能直接执行;先做代码审阅/沙箱测试/回滚准备",其中破坏性或提权的命令排在最前。教的是一套可复用的复查习惯,不是替使用者把所有内容都核实一遍:本 skill 只分级、排序、定处置,要逐条核实走 ai-output-fact-checker,整段代码要做入库体检走 ai-code-onboarding-checklist。

日本語の概要は準備中です。原文の説明を表示しています。

ChromiteCr/Skills42026年10月16日 更新

当拿到一段 AI 生成的代码,还没决定要不要信、要不要跑、要不要往上继续加东西时使用。先做一遍客观体检:行数与嵌套深度、有没有测试、有没有硬编码密钥或遗留 TODO、依赖是不是真实存在、有没有危险调用(eval/exec、shell=True、递归删除、反序列化、提权、外发网络,按正文给的 grep 模式逐类查);再给风险评级和下一步动作。老实写明它查不了算法正确性——体检通过不等于代码是对的。回答里文字、事实和代码混在一起时先用 ai-answer-triage 分级;只审相对已有代码的一份改动用 ai-diff-review-protocol。

日本語の概要は準備中です。原文の説明を表示しています。

ChromiteCr/Skills42026年10月16日 更新

ChromiteCr のスキルをすべて見る

このスキルの問題を報告する