Agent skill

Cross-Material Consistency Gate

by Light0305 in Light0305/Light-skills

Checks that terms, metrics, innovation claims and method names stay consistent across a paper, slides, software copyright documents, code and project docs.

MITAuto-check passedResearch & Science

SKILL.md written in Chinese; this summary is our English description.

Install Cross-Material Consistency Gate

skills CLI
$ npx skills add Light0305/Light-skills --skill light-consistency -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Light0305/Light-skills light-consistency --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-src

Use ~/.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/

Facts

Skill name
light-consistency
GitHub stars
641
Token cost
~4k tokens
SKILL.md length
971 words
Files
14 (incl. scripts, references, assets)
Skills in repo
23
Repo updated
First seen
Licence
MIT

At a glance

Checks that terms, metrics, innovation claims and method names stay consistent across a paper, slides, software copyright documents, code and project docs.

  • Works in 7 steps: 绝不自动改写材料措辞/数值:本门只定位 +… → 绝不把"未登记/未覆盖"当"无冲突"放行:.light/ 漏写某术语 →… → 绝不假装核了视觉一致性:配色 / 版式 / 字体 /… → …
  • Before submitting a paper or defending a project, to check that numbers and terms line up
  • SKILL.md covers 何时启动(触发信号), 你怎么工作:ACT / ASK / NEVER, 指令流:何时调脚本(引擎已就位,亲手 selftest 到… and 一致性检查维度(脚本兑现 10 类漂移 + 1…, plus 3 more sections
  • Runs Python scripts from its folder; calls python

What it does

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.

When your agent uses it

  • 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

Example prompts

  • “Check that the F1 score and method name match across my paper draft and defense slides.”
  • “I renamed the proposed method, so rescan every produced material for the old name.”
  • “Compare the findings before and after my edits and tell me which conflicts are still open.”

Requirements

  • Python 3 for the audit scripts
  • A `.light/` glossary and registries for terms, metrics and claims

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. 绝不自动改写材料措辞/数值:本门只定位 + 建议规范写法。科研措辞/数值误改风险高(改了反而失真或张冠李戴),
  2. 绝不把"未登记/未覆盖"当"无冲突"放行:.light/ 漏写某术语 → 是未检测 ≠ 已一致;某指标未登记权威 records
  3. 绝不假装核了视觉一致性:配色 / 版式 / 字体 / 图风格跨材料一致,本门无代码、脚本只核文本类——只能"提请
  4. 绝不编造权威值/标准措辞填空:.light/ 没有的指标真值 / 创新点标准句 → 写"未登记 / 待核查",宁缺毋造。
  5. 绝不自称"一致门过了"靠口头:硬冲突门必须机读 exit code + 用户确认,不把"我对过了"当证据
  6. 绝不把"判断"当"事实":CONTRIBUTION_DRIFT/VARIANT 是启发式信号(会误报/漏报),用"疑似漂移 / 疑似变体",
  7. 绝不把 harvest 候选自动晋升为 canonical:file-reading 抽出的术语/指标/claim 必须保 source + locator,

What it can do on your machine

Read from SKILL.md and the folder at commit 6b44f57. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships 4 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

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.

Always · name and description, kept in context so the agent knows when to use it
~131
When it runs · the whole SKILL.md, loaded when a task matches
~4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~7.7k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from Light0305/Light-skills at commit 6b44f57, republished under its MIT licence (© Light0305). 971 words, ~4,047 tokens.

Download SKILL.mdSave it as .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.
name
light-consistency
description
Light 跨材料一致性常驻机读门:在所有产出材料后台核查术语 / 指标(名+值)/ 创新点表述 / 方法名 在论文·PPT·软著·代码·项目文档之间是否统一,定义一改回扫所有已产出材料,把"各处说法对齐"从口头 建议落成**可机检、可阻断、可被总控 run_checkpoint 聚合的机读门**(产 light.findings.v1,术语/指标/ 创新点硬冲突 → Critical fail → exit 1)。何时用:任一材料产出或修改后、投稿/答辩/提交前的跨材料回扫、 受控定义(术语/指标/创新点)变更后。触发词:一致性 / 术语统一 / 指标对不上 / F1 vs 准确率 / 数值冲突 / 论文和PPT不一致 / 创新点表述 / 方法名 / 改名 / 软著与系统 / 术语表 / 回扫。核心纪律:事实源是项目 `.light/` 受控术语表(去本地知识库);脚本**只定位+建议、绝不自动改写**;**视觉一致性靠人工签字、脚本只核文本类**; 查不到权威值写"未登记/待核查",绝不编造;缺 registry / provenance 必须报部分覆盖,不能拿零 finding 冒充全查。
metadata.version
2.3.0-round3
metadata.truth_source
../../docs/competitors/consistency.md
metadata.resource_map
references/consistency-resource-map.md
metadata.engine
scripts/{consistency_registry_gate,consistency_audit,fact_consistency,consistency_delta}.py
metadata.emits
light.findings.v1
metadata.fact_source
项目 .light/(受控术语/方法/指标/主张 schema,归 memory-pm)

跨材料一致性维护(consistency)—— 常驻横切机读门

你是 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

每个动作先归类:这是该自己做(ACT)、该停下问用户(ASK)、还是绝不(NEVER)?

ACT — 跑确定性一致性门,自己做(不烦用户)
  • 回扫:对一组材料跑 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: 跑一遍回扫,列出受影响处。
  • 覆盖诚实:四份 registry 缺文件、Markdown-only、缺 owner/date/source/locator 时产 AUTHORITY_COVERAGE warn;它不扩大 critical 面,但禁止说“已全查”。
  • 修复前后 delta:材料修改/润色/投稿前二次回扫后,用 consistency_delta.py --before old.findings.json --after new.findings.json --final 分类 FIXED/NEW/PERSISTENT/REGRESSED;NEW/PERSISTENT/REGRESSED 缺 owner 决策不得交付,防止“修了旧冲突又冒新冲突”。
  • 通用事实绑定:术语/指标之外的样本量、数据版本、日期、硬件、协议版本等,先由 file-reading/作者产 confirmed observation,再用 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 不得自动合并。
ASK — 停下问用户,给「现状 + 推荐 + 备选」(决策点 🧑)

一致性的裁定权常是用户的,不是你的(改材料?还是改事实源?哪个才是真值?)。命中以下,停下,摆证据、给建议、让用户拍板:

决策点何时你怎么问
冲突往哪边统一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:2 F1 标 81.0,与 .light/ 权威 87.6 及论文 87.6 不符(METRIC_VALUE)。建议统一为 87.6; 若 81.0 是新实验值,则改 .light/ 权威并回扫全部材料。你定哪边对?"

❌ "我把 PPT 的 81.0 都改成 87.6 了。"(自动改写材料——踩 NEVER #1;万一 81.0 才对就改错了)

NEVER — 绝不 [NON-NEGOTIABLE]

这一节是红线,不可协商、不可被"为了省事"或"应该一样"绕过。违反任一条 = 严重失职。

  1. 绝不自动改写材料措辞/数值:本门只定位 + 建议规范写法。科研措辞/数值误改风险高(改了反而失真或张冠李戴), 改写权归作者或上游技能。consistency 只守门,不动手改。
  2. 绝不把"未登记/未覆盖"当"无冲突"放行:.light/ 漏写某术语 → 是未检测 ≠ 已一致;某指标未登记权威 records → 是未核 ≠ 数值无冲突。诚实标"未覆盖",不假装查全。
  3. 绝不假装核了视觉一致性:配色 / 版式 / 字体 / 图风格跨材料一致,本门无代码、脚本只核文本类——只能"提请 人工对照 .light/ palette/设计令牌签字",绝不输出"视觉已一致"。
  4. 绝不编造权威值/标准措辞填空:.light/ 没有的指标真值 / 创新点标准句 → 写"未登记 / 待核查",宁缺毋造。
  5. 绝不自称"一致门过了"靠口头:硬冲突门必须机读 exit code + 用户确认,不把"我对过了"当证据 (产 light.findings.v1 → run_checkpoint 聚合 → exit code 说话)。
  6. 绝不把"判断"当"事实":CONTRIBUTION_DRIFT/VARIANT 是启发式信号(会误报/漏报),用"疑似漂移 / 疑似变体", 绝不断言"创新点矛盾"——是不是真矛盾由作者裁定。
  7. 绝不把 harvest 候选自动晋升为 canonical:file-reading 抽出的术语/指标/claim 必须保 source + locator, 经作者确认后才由 memory-pm 写入 .light/;consistency 只读。

自检触发词:当你想说"我把它们统一改好了 / 没登记应该就是一致 / 配色我看了一致 / 这个真值大概是 X"——停, 这八成踩了 NEVER 第 1/2/3/4 条或漏了 ASK。


指令流:何时调脚本(引擎已就位,亲手 selftest 到 exit 0,直接调用勿重写)

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。

① 语义对象注册表门 → 先判“是不是同一个事实”
bash
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。
② 跨材料回扫 → 产 findings 被总控聚合(核心,跨阶段一致性门)
bash
# 回扫一组已产出材料(事实源在项目 .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 stage8 gate_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/ 后按真实项目填。
④ 修复前后 delta:Fixed / New / Persistent / Regressed
bash
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,避免结果脱离输入版本。

Show full SKILL.md (392 more words)Show less
⑤ 无参数 / --selftest:内置合成自测(10 类漂移 + AUTHORITY_COVERAGE + F-1..F-5 接线)
bash
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。


一致性检查维度(脚本兑现 10 类漂移 + 1 类覆盖诊断,视觉/逻辑人工)

#维度检测 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)。


收尾 self-check(对外输出 / 推进前过一遍)

  • 我有没有自动改写材料?(只能定位+建议,改写交作者——NEVER #1)
  • 冲突往哪边统一,问用户了吗?(可能 PPT 错,也可能新结果该改 .light/)
  • 视觉一致性有没有下"已一致"结论?(脚本做不到,只能提请人工签字——NEVER #3)
  • .light/ 缺的术语/真值,标了"未覆盖/未登记"还是假装一致?(NEVER #2/#4)
  • 同名指标是否明确 unit、denominator、population、analysis_set?同值不同单位是否有 unit_conversion 证据?
  • paper/test split、code/config validation split、data card split 是否绑定同一 canonical object?不一致是否进入 owner 决策而非自动合并?
  • 材料清单是否登记了 required vs scanned、artifact hash、section 覆盖和 scan locator? 如果只扫了 N/M,是否明确写 PARTIAL,而不是声称 FULL?
  • 复扫时是否把每条 finding 标成 Fixed/New/Persistent/Regressed/Unchanged? 新增/回归是否已有 owner 裁定,持久问题是否进入 known issue?
  • 二次回扫有没有跑 consistency_delta.py --final? NEW/PERSISTENT/REGRESSED 是否都有 owner/decision/rationale/locator,而不是口头说“下次修”?
  • “有意保留”的不一致是否有 APPROVED exception、rationale、evidence locator、owner decision 和 scope?
  • canonical 变更是否产生 impact graph、stale marks、broadcast 和重扫记录?
  • 硬冲突有没有走 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)。

诚实落后项(已知没做到):

  1. 视觉一致性不自动核:配色/版式/字体跨论文图·PPT·前端·海报的一致,需 DTCG/Style Dictionary 级视觉 SSOT + 取色比对;本门只核文本类,视觉靠人工对照 palette 签字(对标 competitors #7:DTCG 是真标准,我指向它不假装核像素)。
  2. 语义漂移是离线档边界:CONTRIBUTION_DRIFT 用 semantic_sim 离线档(字面/词形),纯同义无共词 ("级联误差抑制"↔"逐级不确定性消除")会漏判;需 embedding 档才可靠,离线档诚实标所用档位。
  3. 只接收经确认的 .light/,不自动 harvest:资源地图给出 candidate 工作流,但候选生成仍由 file-reading + 人完成,维护归 memory-pm;术语表漏写仍会漏检,AUTHORITY_COVERAGE 只能暴露结构 / provenance 缺口, 不能发现“从未想到要登记”的概念。
  4. 不 autofix:不像 textlint-prh/Trinka 一键改,本门只定位 + 建议(科研措辞误改风险高,见 NEVER #1)。
  5. 数值检查依赖权威 records 登记:METRIC_VALUE 只核已登记 method×dataset→value 的指标;未登记的数值不核 (是"未覆盖" ≠ "已查无冲突")。
  6. 逻辑线索一致无脚本:论文叙事↔PPT、软著功能↔系统实现的"对得上",当前靠人工 + 总控审稿人视角,无脚本兑现,不假装做了。
  7. 通用事实门依赖上游抽取:fact_consistency.py 能核 confirmed 事实绑定与覆盖,但不会自动理解任意文档; file-reading 的候选值未经作者确认只能 PARTIAL,不能晋升为 canonical。

参考(三级渐进披露:需要时再读)

© Light0305, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 13 other files (scripts, references, assets) in skills/light-consistency of Light0305/Light-skills.

  • SKILL.md
  • assets/claims_registry.yaml
  • assets/consistency-registry.example.json
  • assets/glossary.yaml
  • assets/method_lock.yaml
  • assets/metric_registry.yaml
  • examples/fact-bindings.example.json
  • examples/materials_paper.txt
  • examples/materials_ppt.txt
  • references/consistency-resource-map.md
  • scripts/consistency_audit.py
  • scripts/consistency_delta.py
  • scripts/consistency_registry_gate.py
  • scripts/fact_consistency.py

Open the folder on GitHubat commit 6b44f57

Compare with similar skills

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.

Cross-Material Consistency Gate compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Cross-Material Consistency Gate this skillLight0305/Light-skills641—~4kAutomated safety check: PassMIT
NSFC Proposal Length Alignerhuangwb8/ChineseResearchLaTeX2.9k1 repos~1.3kAutomated safety check: PassMIT
Academic Polishingjoshua-zyy/academic-paper-writer115—~780Automated safety check: PassMIT
Academic Paper Writing PipelineImbad0202/academic-research-skills51k—~16kAutomated safety check: PassCustom licence
Scientific Venue Templatesdavila7/claude-code-templates32k9 repos~5.1kAutomated safety check: NotesMIT
Research Writingalfonso0512/research-writing-skill4871 repos~818Automated safety check: PassMIT

Similar skills

  • 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.

    2.9k GitHub starsUsed in 1 repo~1.3k tokens
    Research & ScienceAuto-check passed
  • Academic Polishing

    joshua-zyy/academic-paper-writer

    Polish academic prose, de-AI-ify text, control claim strength, or rewrite method sections for CS/AI/ML papers.

    115 GitHub stars~780 tokensUpdated 3 days ago
    Testing & QAAuto-check passed
  • Academic Paper Writing Pipeline

    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.

    51k GitHub stars~16k tokensUpdated 5 days ago
    Research & ScienceAuto-check passed
  • Scientific Venue Templates

    davila7/claude-code-templates

    Supplies LaTeX templates and formatting rules for journals, conferences, posters, and grant proposals, then can check a draft against them.

    32k GitHub starsUsed in 9 repos~5.1k tokens
    Research & ScienceAuto-check: notes
  • Research Writing

    alfonso0512/research-writing-skill

    科研论文写作助手,提供 30 个 Prompt 模板覆盖论文写作全流程. An agent skill from alfonso0512/research-writing-skill.

    487 GitHub starsUsed in 1 repo~818 tokens
    Documents & OfficeAuto-check passed
  • Paper Writing

    MLNLP-World/Paper-Writing-Tips

    学术论文写作检查与优化助手。基于 MLNLP-World 社区整理的论文写作技巧,帮助检查和优化学术论文。Use when: (1) 检查论文 LaTeX 格式和排版, (2) 优化公式符号使用, (3) 改进图表设计, (4) 润色英文学术表达, (5) 检查参考文献格式, (6) 投稿前终稿检查, (7) 用户询问论文写作技巧或规范。

    4.7k GitHub stars~630 tokensUpdated 12 days ago
    Documents & OfficeAuto-check passed

More from Light0305/Light-skills

All 23 skills in this repo
  • Citation Verification

    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.

    641 GitHub stars~3.4k tokensUpdated 3 mo ago
    Auto-check passed
  • Light Research Orchestrator

    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.

    641 GitHub stars~3.8k tokensUpdated 3 mo ago
    Auto-check passed
  • Patent Disclosure Handoff

    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.

    641 GitHub stars~2k tokensUpdated 3 mo ago
    Auto-check passed
  • Light Project Structure

    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.

    641 GitHub stars~3k tokensUpdated 3 mo ago
    Auto-check: notes
  • Prepares draft materials for a China software copyright registration from a real project: application worksheet, source deposit plan, operation manual and consistency checks.

    641 GitHub stars~1.9k tokensUpdated 3 mo ago
    Auto-check passed
  • Light System Design

    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.

    641 GitHub stars~3.6k tokensUpdated 3 mo ago
    Auto-check passed

Questions about Cross-Material Consistency Gate

What does Cross-Material Consistency Gate do?

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.

When should I use Cross-Material Consistency Gate?

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.

How do I install Cross-Material Consistency Gate in Claude Code?

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.

How do I install Cross-Material Consistency Gate in Codex?

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.

Can I use Cross-Material Consistency Gate in Cursor, Gemini CLI or GitHub Copilot?

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.

What does Cross-Material Consistency Gate need to run?

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.

Does Cross-Material Consistency Gate access the network?

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.

Is Cross-Material Consistency Gate safe to install?

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.

What licence does Cross-Material Consistency Gate use?

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.

How many tokens does Cross-Material Consistency Gate use?

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.

What are the alternatives to Cross-Material Consistency Gate?

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.

Who maintains Cross-Material Consistency Gate?

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.