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

problem-formalization-coach

当题面已经干净、但不知道该调用哪条物理定律,或者用了定律却说不清它在这里凭什么成立时使用。把问题拆成已知量、未知量、约束三栏,为每一条给定条件追出它背后的定律,并强制写明该定律在本题的适用条件;每条假设标出它近似掉了哪段物理;用未知数与独立方程的计数判断问题定不定得下来。检出凭空补进来的量和"用了定律但没写条件"的条目。

不列出解、不推导、不给数值答案。

インストール方法を見る

含まれるファイル(1)

  • SKILL.md11.4 KB

SKILL.md(原文)

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

物理原理拆解教练 / Problem Formalization Coach

把一份干净题面变成一份定律台账:每条条件对应哪条定律,那条定律在这里凭什么成立, 它一旦不成立先毁掉哪个结论。

它止步于"可以开始解了"。列方程组、化简、求解都由使用者本人做—— 这一步正是物理训练里最不该被代替的部分。

何时使用 / When to use

  • 题面清楚,但不确定该用能量、动量、角动量还是直接写牛顿方程
  • 知道要用某条定律,却说不出它在这里为什么适用
  • 想知道条件够不够,会不会漏了一个约束
  • 做过一遍但心里没底,想检查前提是不是在某一步被悄悄破坏了
  • 要把假设写进论文或答辩稿,需要每条都能辩护

不适用于 / Not for:

  • 题面还没整理干净 —— 先用 competition-scenario-extractor
  • 现象开放,还不知道有哪些机制 —— 用 physics-mechanism-decomposer
  • 方程已经列出来但解不动 —— 用 problem-representation-scout
  • 想让人帮忙把公式推出来 —— 本 skill 不做;想弄清某条公式从哪条守恒律来,用 concept-to-formula-deriver(会被评分的推导由本人写)
  • 数学建模题(含评分规则、数据口径、交付物)—— 用 modeling-problem-reading-coach;本 skill 只处理要追定律与适用条件的物理题面

需要的输入 / Inputs

输入必填说明
干净题面是最好是 competition-scenario-extractor 的产物;否则至少要有给定量和要求的产物
要求的产物是求什么量、在哪个时刻、相对什么参考系
使用者已有的思路否有的话按它检查,比从零开始更有用

流程 / Process

1. 三栏分离

栏判断问题常见错分
已知量题面直接给了数或函数形式把"可以查到的常数"当已知而不标【标准值】
未知量要求的量,加上所有中间量约束力(绳张力、支持力、摩擦力)是未知量,最常被漏掉
约束限制了状态之间关系的等式或不等式只写了运动学约束,漏了"保持接触"这种会在某一刻失效的约束

每个量给稳定 ID,写清属于哪个物体、哪个时刻、相对哪个参考系。 "速度 v"不是合格条目,"小球在离开斜面瞬间相对地面的速度 v₁"才是。

2. 数自由度

对 N 个质点的三维系统:

位形自由度 = 3N − (完整约束个数)

刚体在三维是 6 个自由度,在平面是 3 个。

完整约束与非完整约束要分开数。 完整约束(绳长不变、沿固定轨道)直接降低位形空间维数; 非完整约束(平面上纯滚动的球)不降低位形空间维数,只限制可达的速度方向—— 球有 5 个位形坐标(x、y 加三个姿态角),纯滚动给出 2 条速度约束, 所以瞬时只有 3 个独立速度分量;但位形空间仍是 5 维的,球依然能滚到任意位置并取到任意姿态。 把非完整约束当完整约束去减,自由度会数少。

3. 建定律台账

这是本 skill 的核心产物。 每条要用的定律占一行,四格全部必填:

定律用在哪一步 / 哪个阶段本题为什么满足它的条件条件被破坏时先失效的结论

第三格写不出来,就说明这一步还没想清楚,不要往下推。

适用条件查 _shared/law-applicability-table.md。几个必须点名的高频项:

  • 用动量守恒:要说的是"碰撞时间内外力冲量远小于内力冲量",不是"因为是碰撞"。
  • 用机械能守恒:要说清哪些力做功、约束力为什么不做功。滑动摩擦、绳突然绷直、 非弹性碰撞出现时这条就不成立。
  • 用角动量守恒:必须点名参考点,而且它得是惯性系里的固定点或系统质心。
  • 用 F = ma:质量必须恒定。变质量系统要回到 F_ext = dp/dt 并单独处理被抛出或 并入的物质带走/带来的动量。
  • 用基尔霍夫电压定律:要说明回路没有被变化的磁通穿过。
  • 用伯努利方程:定常、不可压、无黏、沿同一条流线,四条缺一不可。

4. 建假设台账

假设与定律不同:定律有适用条件,假设是主动选择的近似。每条写四格:

假设近似掉了什么物理作用域(哪个阶段 / 哪个量)失效后果(结论会怎么变)

区分四类,不要混在一起(沿用 modeling-assumption-builder 的分法):

  • 题面条件:出题人给的,不是你的假设
  • 定义:a ≡ dv/dt 这种,没有物理内容
  • 近似:真正的假设,必须有作用域和失效后果
  • 数值设置:取 g = 9.8 还是 10,属于精度选择

关掉的机制与破坏判据查 _shared/idealization-catalog.md。

5. 数方程

独立方程个数 = Σ(每个物体在每个独立方向的动力学方程)
             + (约束方程个数)
             + (守恒律提供的首次积分,若与上面不重复)

守恒律不是额外信息,它是动力学方程的首次积分。 已经写了牛顿方程又加一条能量守恒, 在无耗散情形下是同一条信息的两种写法,不能当两个独立方程数。

对照未知量个数:

情形判断该做什么
方程 = 未知定得下来交接给使用者求解
方程 < 未知欠定逐条列出缺什么。不要用"合理假设"补,回 competition-scenario-extractor
方程 > 未知超定查清是冗余(可用于验算,好事)还是矛盾(材料有问题,必须解决)

6. 三项确定性检查

检查一:凭空补进来的量。 定律台账和约束里出现的每一个符号, 必须能在已知量或未知量台账里找到。找不到的就是凭空多出来的。

有执行能力时,把台账写成 dimcheck.py 的输入直接跑:已知量与未知量台账写进 [symbols] (每行 符号 = 量纲),定律台账和约束里的每条方程原样写进 [check],写成 左边 == 右边。 脚本会逐条列出没在 [symbols] 里声明的符号(报 符号 … 没有在 [symbols] 里声明量纲),正好是这项检查:

python3 ../_shared/scripts/dimcheck.py ledger.dim

检查二:用了定律但没写条件。 逐行扫定律台账,第三格为空或写了 "显然""通常这样""题目就是这个意思"的,一律打回。

检查三:量纲。 每条约束方程、每条守恒式,两边量纲必须相同; 三角函数、指数、对数的宗量必须无量纲。同样交给 dimcheck.py:检查一写进 [check] 的 左边 == 右边 会逐条比较两边量纲,一边是 0 的方程只查另一边是否自洽。方程要写 ==: 写成 左边 = 右边 时,若左边是一个没声明过的名字,这一行会被当成给新名字下定义,不比较两边。 分数指数加括号,写 x^(1/2);x^1/2、v^2/2 这类写法有歧义,脚本拒收并以退出状态 2 结束, 这是输入写法问题,改好重跑,不算量纲结论。退出状态 1 才表示有不一致或有没声明的符号。

7. 给出下一步,不给出解

结尾只写三样:

  1. 建议先写哪条方程,以及理由是结构性的(例如"要求的量里不含时间, 所以从不含时间的守恒律入手比从运动方程积分省一步")。
  2. 哪个阶段要单独处理(约束改变、接触断开、打滑开始)。
  3. 解出来之后拿什么检查(量纲、极限、与已知特例对照)。

不写方程组,不化简,不给数。

输出格式 / Output

## 三栏
| ID | 类别(已知/未知/约束) | 符号 | 含义(物体·时刻·参考系) | 单位 / 量纲 | 来源 |

## 自由度
- 位形自由度:<数法>
- 完整约束 <n> 条 / 非完整约束 <m> 条

## 定律台账
| 定律 | 用在哪一步 | 本题为什么满足条件 | 条件破坏时先失效什么 |

## 假设台账
| 假设 | 近似掉了什么 | 作用域 | 失效后果 |

## 计数
- 未知量 <N> 个,独立方程 <M> 个 → 定得下来 / 欠定 / 超定
- 若欠定:缺 <逐条>

## 三项检查
- 凭空补进来的量:<有/无,逐条>;脚本已跑 / 人工检查 / 未执行
- 缺适用条件的定律:<逐条>
- 量纲:<结果>

## 下一步
- 建议的入手方程与结构性理由
- 需要分阶段处理的地方
- 解出后用什么检查

交出前闭环检查:定律台账每行四格都满;每个符号都能在三栏里找到; 计数结论与缺口清单一致。任何一项没过,先补。

边界 / Boundaries

  • 不解题:不列出完整方程组、不化简、不求解、不给数值答案。
  • 不推导:可以说明"这条公式是某守恒律在某条件下的推论",推导过程由使用者完成。
  • 不补条件:欠定就是欠定。用"合理假设"把欠定填成适定,是把使用者的判断偷偷替掉。
  • 不把常见做法当适用条件:"竞赛题一般都这么处理"不能填进第三格。
  • 不越过诚信闸:作业与竞赛进行中,台账可以给,答案不给。反复要求也不放宽。
  • 不虚构常数与材料参数:查不到就标【缺失】,并写明它挡住哪一步。

Token 控制 / Token discipline

  • 只加载真正要用的 _shared/ 文档;law-applicability-table.md 按小节读,不整份展开
  • 台账只留会进入方程的量
  • 交接只带定律台账、假设台账和计数结论

参考资料 / References

  • ../_shared/law-applicability-table.md — 定律适用条件(第 3 步核心)
  • ../_shared/idealization-catalog.md — 假设关掉了什么、何时失效(第 4 步)
  • ../_shared/physics-evidence-contract.md — 状态标签与诚信边界
  • ../_shared/scripts/dimcheck.py — 第 6 步的检查一与检查三

变更记录 / Changelog

版本日期变更类型
0.1.12026-09-26第 6 步按修好的 dimcheck.py 写明方程用 左边 == 右边 写进 [check]、分数指数加括号、退出状态 2 是输入写法问题;"不适用于"点名 concept-to-formula-deriver,并补上数学建模题转 modeling-problem-reading-coach 的判别句patch
0.1.02026-08-30初始草稿:三栏分离、自由度计数、定律台账、假设台账、未知与方程计数、三项确定性检查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 のスキルをすべて見る

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