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

limiting-case-validator

当有一条公式、标度律或模型结果,想在相信它之前查它在极限下还讲不讲得通时使用。先找出控制参数与无量纲组,挑最小一组有用的极限,在动手算之前先写下物理上应该发生什么,再做数学化简两相对照;专抓在某个极限下发散、变号、或丢掉已知特例的表达式。manifest 的完整性由 scripts/check_limit_manifest.py 校验。

インストール方法を見る

含まれるファイル(2)

  • SKILL.md10.7 KB
  • scripts/check_limit_manifest.py15.7 KB

SKILL.md(原文)

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

limiting-case-validator

Use this skill when a physics derivation, fitted relation, or simulation result may be algebraically correct yet physically wrong. The goal is to test whether the result behaves sensibly when key parameters become very small, very large, equal to each other, or approach a known special regime.

This skill is for validation, not for doing the original derivation from scratch.

Use this when

  • You have a final formula (not only a number) and want to know whether it is physically plausible in its limits.
  • You need to check whether a model reduces to a known textbook case.
  • You want to identify which dimensionless parameter actually controls the regime.
  • A result looks suspicious near a boundary, singularity, or approximation limit.

Do not use this when

  • The main problem is parsing the original statement. Use competition-scenario-extractor first.
  • The formula is not yet defined clearly enough to test.
  • The user is asking you to invent a derivation they have not attempted.
  • The task is mainly unit consistency; use dimensional-analysis-checker.
  • The user wants every step of a written derivation audited (algebra, signs, whether each law still applies); use derivation-step-checker. This skill tests only the end result.
  • The user has a numerical answer but no formula to take limits of; use answer-plausibility-checker.

Required inputs

Ask for the minimum needed set:

  1. The expression, model, or claim to validate.
  2. The meaning and units of every symbol.
  3. The physically allowed range of each control parameter, if known.
  4. Any known special cases, benchmark formulas, or conservation constraints.
  5. Whether the source is from hand derivation, data fitting, or simulation.

If any of 1-2 is missing, stop and request clarification.

Core idea

A useful limiting-case check has two halves:

  • Predict first: before touching algebra, state what should happen physically in each limit.
  • Compute second: then reduce the expression in that limit and compare against the prediction.

Never treat a formal limit as passed unless both halves are present.

Workflow

1. Identify control parameters

List the parameters that can define distinct regimes, such as:

  • small or large mass ratio
  • low or high speed
  • weak or strong damping
  • short-time or long-time behavior
  • thin-gap or large-gap geometry
  • small-angle or large-angle approximation
  • low-frequency or high-frequency drive

Prefer dimensionless groups when possible. If the problem is written only in dimensional variables, explicitly form the likely dimensionless combinations first.

2. Choose the smallest useful set of limits

Do not enumerate every imaginable limit. Pick the limits that most strongly test the physics:

  • known textbook limits
  • parameter going to zero
  • parameter going to infinity
  • two parameters becoming equal
  • no-interaction limit
  • quasistatic / instantaneous limit
  • nonrelativistic / ultrarelativistic limit
  • weak-coupling / strong-coupling limit

Usually 2-4 limits are enough for one pass.

3. Write the physical expectation before the math

For each chosen limit, state:

  • what mechanism should dominate
  • what should vanish, saturate, diverge, or change sign
  • what known law or simpler model should reappear
  • whether the quantity should remain finite, monotone, positive, or bounded

If you cannot explain the expectation in words, say so instead of bluffing.

If you can run scripts, record steps 1-3 as a limit manifest and check it now, before step 4 (see Limit manifest check under Deterministic assistance).

4. Reduce the expression in each limit

For each limit:

  1. Specify the limit clearly.
  2. Simplify the expression to its leading behavior.
  3. Note any singular terms, cancellations, or sign flips.
  4. If there is a series expansion, keep only the first term needed to decide the physics.

When a computer algebra system is available, use it to support the reduction. When it is not, do the asymptotics manually and state any uncertainty.

5. Compare math to physics

For each limit, classify the outcome:

  • Pass: reduces to the expected regime or benchmark.
  • Partial pass: trend is right, but coefficient/sign/boundedness is questionable.
  • Fail: contradicts a known law, expected trend, conservation argument, or physical constraint.
  • Inconclusive: limit could not be evaluated from the provided information.

Explain the mismatch in physical language, not only algebraic language.

6. Check high-value red flags

Always look for these failure modes:

  • wrong sign in a restoring, dissipative, or probability-like term
  • divergence where the physics should stay finite
  • dependence on a parameter that should disappear in a decoupled limit
  • failure to recover a known special case
  • nonzero output when symmetry requires zero
  • negative quantity where positivity is required
  • asymptotic scaling that contradicts mechanism dominance

7. End with a verdict and next action

Give one of:

  • usable as written
  • usable with caveats
  • likely wrong and should be re-derived
  • underdetermined; need more context

If it fails, point to the most likely source:

  • bad approximation regime
  • algebraic sign error
  • hidden assumption violated
  • wrong boundary condition
  • wrong dominant-balance argument
  • fit extrapolated beyond data support

Output format

Use this structure:

## Candidate result
- [expression or model]

## Control parameters / dimensionless groups
- ...

## Limiting cases checked
### Limit 1: [statement]
- Physical expectation:
- Reduced behavior:
- Comparison:
- Verdict: Pass / Partial pass / Fail / Inconclusive

### Limit 2: [statement]
- Physical expectation:
- Reduced behavior:
- Comparison:
- Verdict: Pass / Partial pass / Fail / Inconclusive

## Cross-limit red flags
- ...

## Overall verdict
- ...

## Recommended next step
- ...

Guardrails

  • Do not invent benchmark formulas you cannot justify.
  • Do not claim a limit is physically relevant if the parameter range makes it impossible.
  • Do not replace physical reasoning with symbolic manipulation alone.
  • If multiple competing limits do not commute, say so explicitly.
  • Separate exact limits from approximations and fitted extrapolations.

Deterministic assistance

If tools are available, they may help with:

  • symbolic limits
  • leading-order asymptotics
  • series expansion around small parameters
  • sign checks under stated parameter constraints
  • substitution into known benchmark cases

These checks support the judgment; they do not replace the need to state the physical expectation first.

Limit manifest check

scripts/check_limit_manifest.py checks that the plan from steps 1-3 is complete before any algebra: every limit names its variable, its approach, a physical expectation and a reason. Write the plan as a JSON file and run, from this skill's directory:

python3 scripts/check_limit_manifest.py limit-manifest.json

--help prints the field list; --selftest runs the script's regression cases.

FieldRequiredContent
targetyesthe formula or claim under test, quoted exactly
variablesyes, non-emptyone object per control parameter or dimensionless group
variables[].nameyesunique name; cases refer to it
variables[].baselineLimitsnoapproach words that must each have a case; a missing case is a WARN
variables[].meaning, units, rangenofree text
casesyes, non-emptyone object per limit
cases[].idyesunique id such as L1
cases[].variableyesa declared variable name
cases[].approachyesone approach word from the list below
cases[].expectedyesthe physical expectation from step 3, written before the math
cases[].whyyeswhy this limit is physically relevant (step 2)
notesnofree text, allowed at the root, in variables and in cases

Approach words: 0, +0, -0, inf, +inf, -inf, small, large, equal-scale, threshold, special-value, turn-off, symmetry.

Minimal example:

{
  "target": "T = 2*pi*sqrt(L/g)*(1 + theta0)",
  "variables": [
    {"name": "theta0", "meaning": "launch amplitude", "units": "rad", "baselineLimits": ["+0"]}
  ],
  "cases": [
    {"id": "L1", "variable": "theta0", "approach": "+0",
     "expected": "period returns to 2*pi*sqrt(L/g); the first correction is even in theta0",
     "why": "small-angle textbook limit"}
  ]
}

Exit codes: 0 the plan is structurally complete, or usable with WARN lines (a declared variable no case tests, a baseline limit with no case); 1 errors (missing or empty field, unknown field, unsupported approach word, undeclared variable, unreadable file); 2 usage error. The script checks the structure of the plan only. It evaluates no limit, so a clean run says nothing about whether the formula passes.

Acceptance bar

A good run of this skill must include all of the following:

  • the tested formula or claim is quoted unambiguously
  • each chosen limit is physically motivated
  • each limit includes a pre-math expectation
  • each limit includes an actual reduced form
  • the final verdict distinguishes pass, fail, and inconclusive cases

If any of the above is missing, the validation is incomplete.

References

  • ../_shared/physics-evidence-contract.md — §4 academic-integrity boundary shared by all physics skills (backs the "invent a derivation" exclusion above)
  • scripts/check_limit_manifest.py — structural check of the limit plan (see Limit manifest check)

变更记录 / Changelog

版本日期变更类型
0.1.12026-09-26正文补 manifest 字段表、调用命令与退出码;脚本支持 --help、--selftest,空 manifest 与未知字段改为报错;"不适用"改为点名 competition-scenario-extractor、dimensional-analysis-checker、derivation-step-checker、answer-plausibility-checker;补 _shared 证据契约 §4 引用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 のスキルをすべて見る

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