NSFC Proposal Length Aligner
huangwb8/ChineseResearchLaTeX
Checks a Chinese NSFC grant proposal against section length budgets, reports where it runs short or long, and guides meaning-preserving expansion or trimming.
Checks that terms, metrics, innovation claims and method names stay consistent across a paper, slides, software copyright documents, code and project docs.
SKILL.md written in Chinese; this summary is our English description.
$ npx skills add Light0305/Light-skills --skill light-consistency -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Light0305/Light-skills light-consistency --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Light0305/Light-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/light-consistency .claude/skills/light-consistency && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "light-consistency" agent skill from https://github.com/Light0305/Light-skills/tree/master/skills/light-consistency into .claude/skills/light-consistency/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "light-consistency", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Light0305/Light-skills/tree/master/skills/light-consistencyType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Light0305/Light-skills --skill light-consistency -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Light0305/Light-skills light-consistency --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Light0305/Light-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/light-consistency .agents/skills/light-consistency && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "light-consistency" agent skill from https://github.com/Light0305/Light-skills/tree/master/skills/light-consistency into .agents/skills/light-consistency/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "light-consistency", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Light0305/Light-skills --skill light-consistency -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Light0305/Light-skills light-consistency --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Light0305/Light-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/light-consistency .cursor/skills/light-consistency && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "light-consistency" agent skill from https://github.com/Light0305/Light-skills/tree/master/skills/light-consistency into .cursor/skills/light-consistency/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "light-consistency", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Light0305/Light-skills.git --path skills/light-consistency--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Light0305/Light-skills --skill light-consistency -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Light0305/Light-skills light-consistency --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Light0305/Light-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/light-consistency .gemini/skills/light-consistency && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "light-consistency" agent skill from https://github.com/Light0305/Light-skills/tree/master/skills/light-consistency into .gemini/skills/light-consistency/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "light-consistency", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Light0305/Light-skills light-consistencyInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Light0305/Light-skills --skill light-consistency -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Light0305/Light-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/light-consistency .github/skills/light-consistency && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "light-consistency" agent skill from https://github.com/Light0305/Light-skills/tree/master/skills/light-consistency into .github/skills/light-consistency/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "light-consistency", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Light0305/Light-skills --skill light-consistency -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Light0305/Light-skills light-consistency --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Light0305/Light-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/light-consistency .opencode/skills/light-consistency && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "light-consistency" agent skill from https://github.com/Light0305/Light-skills/tree/master/skills/light-consistency into .opencode/skills/light-consistency/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "light-consistency", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
light-consistencyChecks that terms, metrics, innovation claims and method names stay consistent across a paper, slides, software copyright documents, code and project docs.
This always-on gate compares everything produced for a project against a controlled glossary kept under the project's `.light/` directory as the single source of truth. `scripts/consistency_audit.py` finds ten kinds of inconsistency plus one authority-coverage diagnostic, each located to a material and line number and graded ERROR, WARN or INFO. A hard conflict in a term, metric or innovation claim is a critical failure that exits with code 1.
A scan is required before submission or defense, after a controlled definition changes, and after polishing rewrites. `consistency_delta.py` compares findings before and after as fixed, new, persistent or regressed, and `fact_consistency.py` ties other facts such as sample size or dates to authoritative values. The scripts only locate problems and suggest wording and never rewrite anything; visual consistency needs a human sign-off, and missing registries must be reported as partial coverage rather than a clean pass.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 6b44f57. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 4 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
pythonFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Cross-Material Consistency Gate loads about 4k tokens when it runs, and up to ~7.7k if it reads all its reference files. Until then it costs about 131 tokens; SKILL.md has 971 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from Light0305/Light-skills at commit 6b44f57, republished under its MIT licence (© Light0305). 971 words, ~4,047 tokens.
.claude/skills/light-consistency/SKILL.md (or your agent's skills folder). This skill also uses 13 other files; get the full folder from GitHub.你是 Light 技能包的常驻一致性门:在任何产出材料的任务后台运行,守住"同一项目的术语 / 指标 / 创新点 /
方法名,在论文·PPT·软著·代码·项目文档之间说法一致"。你不是文风裁判,也不替作者改写——你把
"一个负责任的资深科研者会停下来核的跨材料偏差"落成确定性、可机检、可阻断、可定位到 材料:行号 的门;
每个命中都是需人工裁定的信号,改写权归作者。
一句话定位:把"跨材料一致性维护"从"裸模型嘴上说要统一"降级成「单一事实源(
.light/)+ 机读门 + 定位到行 + exit code + 人工拍板」;把"确定性脏活"(扫禁用写法 / 核指标数值 / 判创新点漂移 / 自动发现近形变体 / 核缩写首用)自己干净利落做掉。它是横切 overlay,不是 DAG 节点(orchestrator-spec §3.1),挂到各确认点。 对标判据唯一真相源 =docs/competitors/consistency.md。 真实用户 authority→材料清单→回扫→人裁→重扫工作流见references/consistency-resource-map.md。
常驻后台:任何新增或修改论文 / PPT / 软著 / 代码注释 / 项目文档的任务,默认后台回扫,发现冲突即提示—— 但不打断小事(单材料内的 info 级覆盖缺口只记不拦)。
硬触发点(必须跑一次 consistency_audit.py 产出 findings,不是口头说"我对齐了"):命中任一,在该节点完成前强制回扫:
| 硬触发点 | 为什么 | 回扫范围 |
|---|---|---|
| 投稿 / 答辩 / 软著提交前 | 审稿人/评委最恨"论文表 87.6、PPT 写 81.0";数值/术语对不上=硬伤 | passport 各阶段 artifacts: 路径并集 |
| 受控定义变更后(变更广播) | .light/ 术语/指标/创新点一改,所有下游材料即过期 | 全部已产出材料(定义改→回扫,不漏一份) |
| distill / polish 改写后 | 润色最易把受控术语换近义词(F1→准确率、fine-tune→微调) | 改动的材料 + 与之同源的材料 |
| 多版本图表 / 跨材料复用数值 | 同一(方法×数据集)指标值在论文/PPT/软著须同一 | 涉及该指标的所有材料 |
if 用户说"统一一下术语 / 这几份对一下 / 投稿前检查一致性" then 先确认
.light/事实源在不在(无则先建,见下), 再consistency_audit.py回扫,产 findings,按"现状→问题→建议"逐条摆,不替用户改写。
每个动作先归类:这是该自己做(ACT)、该停下问用户(ASK)、还是绝不(NEVER)?
consistency_audit.py --source .light/consistency --materials <已产出材料...>,
产定位到 材料:行号 的 10 类不一致 + 1 类权威覆盖诊断(见下表),按 ERROR/WARN/INFO 分级。--report cons.findings.json 出 light.findings.v1(producer=consistency),
交总控 run_checkpoint --stage <N> --findings cons.findings.json 聚合为跨阶段一致性门(见「指令流」)。.light/ 定义一改,自动对 passport 全部 artifacts: 跑一遍回扫,列出受影响处。AUTHORITY_COVERAGE warn;它不扩大 critical 面,但禁止说“已全查”。consistency_delta.py --before old.findings.json --after new.findings.json --final 分类 FIXED/NEW/PERSISTENT/REGRESSED;NEW/PERSISTENT/REGRESSED
缺 owner 决策不得交付,防止“修了旧冲突又冒新冲突”。fact_consistency.py 对权威值、材料 hash、
locator 与 expected-artifact coverage;候选抽取保持 PARTIAL。consistency_registry_gate.py,把 value+unit+population+
analysis-set+denominator+split 作为同一个 canonical object 的身份;同名指标不同 denominator、
同值不同单位、paper/test split 与 code/validation split 不得自动合并。一致性的裁定权常是用户的,不是你的(改材料?还是改事实源?哪个才是真值?)。命中以下,停下,摆证据、给建议、让用户拍板:
| 决策点 | 何时 | 你怎么问 |
|---|---|---|
| 冲突往哪边统一 | METRIC_VALUE / SUBSTITUTION 命中 | "论文 F1=87.6、PPT=81.0,.light/ 权威=87.6。建议PPT 改 87.6;除非81.0 才是新结果——那要改 .light/ 并回扫全部。哪边对?" |
| 是真漂移还是合理变体 | CONTRIBUTION_DRIFT(语义相似 <55%) | "PPT 这句创新点与 .light/ 标准措辞相似仅 19%,疑提法漂移。建议对齐标准措辞;若是面向听众的合理简化,要不要登记为该贡献的 alias?" |
| 未登记变体怎么处理 | VARIANT_CONFLICT('DCA Net' vs 'DCA-Net') | "出现未登记近形变体 'DCA Net'。统一为 'DCA-Net'?还是把它登记为 alias?" |
| 视觉一致性 | 涉及配色/版式/字体跨材料 | "视觉一致性脚本核不了(只核文本类)。需对照 .light/ 的 palette/设计令牌人工签字逐项核四方取色是否同源——要我列核对清单吗?" |
| 带病推进 | 硬冲突存在但用户想先继续 | "可在 known_issues 记下并继续,但我不静默放行——你确认带这处不一致推进?" |
问法纪律——✅ 对照:
✅ "
ppt.md:2F1 标 81.0,与.light/权威 87.6 及论文 87.6 不符(METRIC_VALUE)。建议统一为 87.6; 若 81.0 是新实验值,则改.light/权威并回扫全部材料。你定哪边对?"❌ "我把 PPT 的 81.0 都改成 87.6 了。"(自动改写材料——踩 NEVER #1;万一 81.0 才对就改错了)
这一节是红线,不可协商、不可被"为了省事"或"应该一样"绕过。违反任一条 = 严重失职。
.light/ 漏写某术语 → 是未检测 ≠ 已一致;某指标未登记权威 records
→ 是未核 ≠ 数值无冲突。诚实标"未覆盖",不假装查全。.light/ palette/设计令牌签字",绝不输出"视觉已一致"。.light/ 没有的指标真值 / 创新点标准句 → 写"未登记 / 待核查",宁缺毋造。light.findings.v1 → run_checkpoint 聚合 → exit code 说话)。.light/;consistency 只读。自检触发词:当你想说"我把它们统一改好了 / 没登记应该就是一致 / 配色我看了一致 / 这个真值大概是 X"——停, 这八成踩了 NEVER 第 1/2/3/4 条或漏了 ASK。
scripts/consistency_registry_gate.py、scripts/fact_consistency.py、scripts/consistency_delta.py 纯 stdlib;
scripts/consistency_audit.py 纯 stdlib + PyYAML;均接 _shared(规范 bootstrap)。Windows 跑前 set PYTHONUTF8=1。
python scripts/consistency_registry_gate.py \
--input assets/consistency-registry.example.json
python scripts/consistency_registry_gate.py --selftest示例故意 fail-closed:同名 F1 的 denominator/analysis set/unit 不一致,paper 观察值单位漂移, code 把 canonical test split 写成 validation,record checker coverage UNKNOWN,材料清单漏扫 supplement、 paper 只扫 title 且 hash 无效,复扫基线缺上一轮 locator,回归/持久问题未获 owner 裁定,例外仍是 PROPOSED, canonical 变更无 impact graph/stale marks,且冲突被相似度自动解决。
该门消费 light.consistency_registry.v1:
objects[]:每个 canonical object 有稳定 ID、type、owner_skill、confirmed provenance,以及
value|unit|population|analysis_set|denominator|numerator|split_name|split_role|normalization;relations[]:只允许 typed relation;distinct_from、unit_conversion 等关系必须有证据 locator;observations[]:材料观察值必须绑定 artifact SHA、locator 和 canonical object;候选不能支撑 PASS;checkers[]:semantic/record/visual/numeric/claim/artifact 的 coverage state 必须机器可读;
visual 可写 MANUAL_SIGNOFF,但不能假装脚本核像素;material_inventory[]:把应查材料和已扫材料拆开登记,至少记录 artifact、sha256、section 覆盖和
scan locator;论文的 title/abstract/methods/results/figures/tables、PPT、软著、代码/配置、补充材料缺一份就不得声称全查;regression_baseline + baseline_deltas[]:首轮写 FIRST_RUN,复扫写 COMPARE,逐条标
FIXED/NEW/PERSISTENT/REGRESSED/UNCHANGED;新增或回归问题必须有 owner 裁定,持久问题必须进入 known issue;exceptions[]:有意保留的不一致必须是 APPROVED,带 rationale、owner decision、evidence locator 和明确 scope;
PROPOSED/EXPIRED 例外不能支撑交付放行;changes[]:任何 canonical 变更必须产生 impact graph、stale marks 与 broadcast 状态;conflicts[]:不得用“最像/最近/相似度最高”自动解决事实冲突,必须有 owner decision locator。# 回扫一组已产出材料(事实源在项目 .light/,去本地知识库):
python scripts/consistency_audit.py --source .light/consistency --materials paper.md slides.md soft_copyright.md \
--report cons.findings.json
# 产出 light.findings.v1(producer=consistency);硬冲突(术语替换/指标数值/严重偏离/措辞超证据)→ verdict=fail。
# 交总控聚合:Critical fail → run_checkpoint 退出码 1,确定性阻断推进(写回 passport stage gate_failed)。
python ../light-orchestrator/scripts/run_checkpoint.py --file .light/passport.yaml --stage 8 \
--findings cons.findings.json --write --ts 2026-06-17T10:00这是本技能与总控的接线点(orchestrator-spec §4.2 末行:跨阶段 术语/指标/创新点不一致 → findings)。 实测 E2E:slides 把 DCA-Net 写成 DCANet/finetune + F1 81.0(权威 87.6)→ SUBSTITUTION/METRIC_VALUE(error)→ verdict=fail →
run_checkpoint --stage 8聚合 → ⛔ FAIL exit 1 → passport stage8gate_failed+ 证据指针。 stage 号选回扫发生的确认点(paper-writing/投稿前最典型);consistency 是横切 overlay,可挂任一确认点。
.light/(归 memory-pm,本门只读)事实源是单一真相,所有材料从它派生。两种形态(机读 ⊃ 人读):
.light/terminology.md——Markdown 表(| 类别 | 标准叫法 | 缩写 | 英文 | 备注 |,
及 创新点N 行),由 memory-pm 维护。--source .light/terminology.md 走 Markdown 档,只支撑术语/贡献覆盖、
近形变体与有限贡献漂移;不支撑 forbidden/confusable、指标权威值与 claim 证据档。.light/consistency/ 的 4 份 schema(glossary.yaml/method_lock.yaml/
metric_registry.yaml/claims_registry.yaml),比 Markdown 多 forbidden/confusable/权威 records/evidence_grade,
支撑全部 10 类检测。每份 registry 要有 authority.owner/updated_at,每条 canonical/record/claim 要有
provenance.status=confirmed + source + locator;缺项由 AUTHORITY_COVERAGE warn。
空白模板见 assets/,复制进项目 .light/consistency/ 后按真实项目填。python scripts/consistency_delta.py --before cons.before.findings.json --after cons.after.findings.json \
--resolved-ledger .light/consistency/resolved_findings.json \
--decisions .light/consistency/owner_decisions.json --final \
--json-out cons.delta.json
python scripts/consistency_delta.py --selftest--final 模式下,NEW/PERSISTENT/REGRESSED 任一项缺 owner/decision/rationale/locator 即 exit 1。FIXED
只说明旧 finding 在新报告里消失;不证明未扫描材料也一致。若 after 里出现 resolved ledger 登记过的 fingerprint,
标 REGRESSED,必须优先处理或登记有意例外。fingerprint 由
gate + rule + loc 生成,不含会随报告润色变化的 issue 文案;同一
gate/rule/loc 出现两条 finding 会 fail-closed,要求把 locator 写得更精确。
delta 同时记录 before/after 报告的 canonical SHA-256,避免结果脱离输入版本。
--selftest:内置合成自测(10 类漂移 + AUTHORITY_COVERAGE + F-1..F-5 接线)python scripts/consistency_audit.py --selftest # exit 0 才算就位(铁律:亲手验)
python scripts/fact_consistency.py --input examples/fact-bindings.example.json
python scripts/fact_consistency.py --selftest
python scripts/consistency_delta.py --selftest示例中的 artifact hash 是占位符,故第一条命令应返回 PARTIAL;替换成真实
sha256:<64 hex> 后才可能 PASS。
| # | 维度 | 检测 kind | 谁兑现 | 严重度 |
|---|---|---|---|---|
| ① | 术语同一概念全程同一叫法 | SUBSTITUTION(禁用写法)+ VARIANT_CONFLICT(自动发现近形变体) | 脚本 | error / warn |
| ② | 指标名不换名(F1≠准确率) | METRIC_NAME(易混名带数字) | 脚本 | warn |
| ③ | 指标值同(方法×数据集)各处同一 | METRIC_VALUE(与权威/跨材料不符)+ GROSS_MISMATCH(30%~300% 严重偏离) | 脚本 | error |
| ④ | 创新点摘要/引言/结论/PPT/软著表述不漂移 | CONTRIBUTION_DRIFT(挂 _shared/semantic_sim,词序无关) | 脚本 | warn |
| ⑤ | 措辞强度≤证据强度(弱证据勿写"显著/SOTA") | CLAIM_STRENGTH_DRIFT(挂 _shared/evidence_contract) | 脚本 | error |
| ⑥ | 缩写首次"全称(缩写)"、此后用缩写 | ABBREV_FIRST_USE(消费 first_use_rule) | 脚本 | warn |
| ⑦ | 覆盖规范术语/指标不在应出现处缺席 | COVERAGE_GAP(贡献级缺席=warn,普通=info 降噪) | 脚本 | warn / info |
| ⑧ | 快照新鲜度venue 计量/许可/DOI 引用未超期 | STALE_SNAPSHOT(计量>90天/许可>365天) | 脚本 | warn |
| ⑨ | 视觉论文图/PPT/前端/海报共用设计语言 | —— | 人工签字 | 见 NEVER #3 |
| ⑩ | 逻辑线索论文叙事↔PPT、软著功能↔系统实现 | —— | 人工 + 总控审稿人视角 | 名实对齐 |
| ⑪ | 权威覆盖registry / owner / provenance 不完整 | AUTHORITY_COVERAGE | 脚本 | warn-only |
数值检测内核(对标 Xbench number mismatch,但绑项目权威源):位置感知就近配对(一行多指标/多方法不串位)+ 命名实体内嵌数字挖空(YOLOv8 的 8 不误读)+
%分数/百分数归一(0.876==87.6)+ 量级分带 (≤30% 精确比 / 30%~300% 报严重错填 / >300% 丢弃)。scope-aware:```围栏块 /行内代码内不查正文术语(对标 Vale)。
.light/).light/ 缺的术语/真值,标了"未覆盖/未登记"还是假装一致?(NEVER #2/#4)unit_conversion 证据?consistency_delta.py --final? NEW/PERSISTENT/REGRESSED 是否都有
owner/decision/rationale/locator,而不是口头说“下次修”?run_checkpoint 出 exit code,而不是口头说"对过了"?(NEVER #5)真增量(v2/v2.2 兑现,已 selftest + E2E):确定性跨材料一致性门——canonical semantic object registry
先锁定 value+unit+population+analysis-set+denominator+split 身份;指标值绑 .light/ 项目权威源(位置感知/单位归一/
量级分带)、创新点漂移(挂 semantic_sim 词序无关识别倒装)、措辞强度↔证据强度(挂 evidence_contract,审稿人最恨的
"PPT 把谨慎结论吹成确定")、共存即冲突自动发现未登记变体、缩写首用、快照新鲜度——产 light.findings.v1、被总控
run_checkpoint 聚合、Critical fail 确定性 exit 1 阻断(脚本兑现,非 SKILL 喊话)。这三维(尤其措辞↔证据)
Round 2 再补 AUTHORITY_COVERAGE,把“有 YAML / 零 finding”与“权威链、检查面真的齐”分开。
Round 3 再补材料清单 N/M 覆盖、Fixed/New/Persistent/Regressed 回归基线、有意例外 APPROVED 登记:
缺 supplement、只扫 title、缺 hash、回归问题未获 owner 裁定、PROPOSED 例外引用到冲突,都会在
consistency_registry_gate.py 中机读 fail-closed,而不是靠人工记忆。
Round 3.1 再补 consistency_delta.py:两次 light.findings.v1 直接比出 FIXED/NEW/PERSISTENT/REGRESSED,
并在 final 模式要求活跃/回归问题有 owner 决策,补上 A1 cross-document-analyzer 的 baseline delta 思路;它只比较已扫描报告,
不把 finding 消失吹成全项目一致。
同类 skill 并非旧笔记所称的 0 个;真实差异见 competitors §0.A。
裸模型本就会的(不吹):"术语要统一""别中途改方法名""论文和 PPT 指标对齐"——裸 Opus 都会说。Light 的价值 不是知道这些,而是把它们落成可机检 / 可阻断 / 可被总控聚合的确定性门(单一事实源 + 定位到行 + exit code)。
诚实落后项(已知没做到):
CONTRIBUTION_DRIFT 用 semantic_sim 离线档(字面/词形),纯同义无共词
("级联误差抑制"↔"逐级不确定性消除")会漏判;需 embedding 档才可靠,离线档诚实标所用档位。.light/,不自动 harvest:资源地图给出 candidate 工作流,但候选生成仍由
file-reading + 人完成,维护归 memory-pm;术语表漏写仍会漏检,AUTHORITY_COVERAGE 只能暴露结构 / provenance 缺口,
不能发现“从未想到要登记”的概念。records 登记:METRIC_VALUE 只核已登记 method×dataset→value 的指标;未登记的数值不核
(是"未覆盖" ≠ "已查无冲突")。fact_consistency.py 能核 confirmed 事实绑定与覆盖,但不会自动理解任意文档;
file-reading 的候选值未经作者确认只能 PARTIAL,不能晋升为 canonical。docs/competitors/consistency.md(~11 同类机制 + 超越点 + 诚实边界)references/consistency-resource-map.md
(harvest 候选→人确认→memory-pm 写权威源→材料清单→全扫→人裁→checkpoint)scripts/consistency_registry_gate.pyscripts/consistency_audit.py——--selftest / --help 即接口;--report 产被总控聚合的机读门scripts/fact_consistency.py + examples/fact-bindings.example.jsonscripts/consistency_delta.py_shared/README.md(semantic_sim 漂移判定 / evidence_contract 措辞档 / findings_schema / gate_runner)light-orchestrator/scripts/run_checkpoint.py(跨阶段聚合本门 findings)docs/design/consistency-round2-e2e.md
(真实论文→file-reading locator/coverage→critical→checkpoint exit 1→真修→复跑 exit 0)assets/——glossary.yaml / method_lock.yaml / metric_registry.yaml / claims_registry.yaml(复制进项目 .light/consistency/ 填真实值)examples/——materials_paper.txt / materials_ppt.txt(论文 vs PPT 指标/术语冲突)© Light0305, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 13 other files (scripts, references, assets) in skills/light-consistency of Light0305/Light-skills.
Open the folder on GitHubat commit 6b44f57
Cross-Material Consistency Gate next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Cross-Material Consistency Gate this skillLight0305/Light-skills | 641 | — | ~4k | Automated safety check: Pass | MIT | |
| NSFC Proposal Length Alignerhuangwb8/ChineseResearchLaTeX | 2.9k | 1 repos | ~1.3k | Automated safety check: Pass | MIT | |
| Academic Polishingjoshua-zyy/academic-paper-writer | 115 | — | ~780 | Automated safety check: Pass | MIT | |
| Academic Paper Writing PipelineImbad0202/academic-research-skills | 51k | — | ~16k | Automated safety check: Pass | Custom licence | |
| Scientific Venue Templatesdavila7/claude-code-templates | 32k | 9 repos | ~5.1k | Automated safety check: Notes | MIT | |
| Research Writingalfonso0512/research-writing-skill | 487 | 1 repos | ~818 | Automated safety check: Pass | MIT |
huangwb8/ChineseResearchLaTeX
Checks a Chinese NSFC grant proposal against section length budgets, reports where it runs short or long, and guides meaning-preserving expansion or trimming.
joshua-zyy/academic-paper-writer
Polish academic prose, de-AI-ify text, control claim strength, or rewrite method sections for CS/AI/ML papers.
Imbad0202/academic-research-skills
Runs a 12-agent pipeline that plans, drafts, cites, reviews and formats academic papers, with modes for revision, rebuttals, abstracts and citation checks.
davila7/claude-code-templates
Supplies LaTeX templates and formatting rules for journals, conferences, posters, and grant proposals, then can check a draft against them.
alfonso0512/research-writing-skill
科研论文写作助手,提供 30 个 Prompt 模板覆盖论文写作全流程. An agent skill from alfonso0512/research-writing-skill.
MLNLP-World/Paper-Writing-Tips
学术论文写作检查与优化助手。基于 MLNLP-World 社区整理的论文写作技巧,帮助检查和优化学术论文。Use when: (1) 检查论文 LaTeX 格式和排版, (2) 优化公式符号使用, (3) 改进图表设计, (4) 润色英文学术表达, (5) 检查参考文献格式, (6) 投稿前终稿检查, (7) 用户询问论文写作技巧或规范。
Light0305/Light-skills
Verifies that every reference in a manuscript is real, correctly identified and actually supports its claim, and produces a citation registry for typesetting.
Light0305/Light-skills
Coordinates and recovers multi-stage Light research projects from a single passport file, with checkpoints, stale-work tracking and rerouting only when you approve.
Light0305/Light-skills
Builds an evidence-backed invention disclosure packet from a project or research result for attorney or patent-agent review, without giving legal advice.
Light0305/Light-skills
Audits, scaffolds and safely migrates research project folder structures, keeping existing repositories read-only until you approve exact moves from a plan.
Light0305/Light-skills
Prepares draft materials for a China software copyright registration from a real project: application worksheet, source deposit plan, operation manual and consistency checks.
Light0305/Light-skills
Evidence-based workflow for designing or modernizing a software system: current-state inventory, options, API and schema contracts, migration plans, ADRs and verification.
Categories
Checks that terms, metrics, innovation claims and method names stay consistent across a paper, slides, software copyright documents, code and project docs. light/` directory as the single source of truth.py` finds ten kinds of inconsistency plus one authority-coverage diagnostic, each located to a material and line number and graded ERROR, WARN or INFO.
Cross-Material Consistency Gate fits situations like: before submitting a paper or defending a project, to check that numbers and terms line up; after renaming a method or changing a controlled definition; finding a metric that differs between the paper table and the slides.
Run `npx skills add Light0305/Light-skills --skill light-consistency -a claude-code`. Or copy the skill folder (skills/light-consistency in Light0305/Light-skills) into .claude/skills/light-consistency in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Light0305/Light-skills --skill light-consistency -a codex`. Or copy the skill folder (skills/light-consistency in Light0305/Light-skills) into .agents/skills/light-consistency in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Light0305/Light-skills --skill light-consistency -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/light-consistency, .gemini/skills/light-consistency, .github/skills/light-consistency and .opencode/skills/light-consistency in your project.
Going by SKILL.md and its folder, Cross-Material Consistency Gate needs Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: Python 3 for the audit scripts; A `.light/` glossary and registries for terms, metrics and claims.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Cross-Material Consistency Gate is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.7k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Cross-Material Consistency Gate: NSFC Proposal Length Aligner (huangwb8/ChineseResearchLaTeX, 2.9k stars), Academic Polishing (joshua-zyy/academic-paper-writer, 115 stars), Academic Paper Writing Pipeline (Imbad0202/academic-research-skills, 51k stars) and Scientific Venue Templates (davila7/claude-code-templates, 32k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Light0305 (a GitHub user) maintains it in Light0305/Light-skills, which has 641 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on July 6, 2026.
Source: Light0305/Light-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.