nsfc-ref-alignment
- Repo stars 2,062
- Author repo ChineseResearchLaTeX
NSFC Ref Alignment
与 bensz-collect-bugs 的协作约定
- 当用户环境中出现因本 skill 设计缺陷导致的 bug 时,优先使用
bensz-collect-bugs按规范记录到~/.bensz-skills/bugs/,严禁直接修改用户本地 Claude Code / Codex 中已安装的 skill 源码。 - 若 AI 仍可通过 workaround 继续完成用户任务,应先记录 bug,再继续完成当前任务。
- 当用户明确要求“report bensz skills bugs”等公开上报动作时,调用本地
gh与bensz-collect-bugs,仅上传新增 bug 到huangwb8/bensz-bugs;不要 pull / clone 整个 bug 仓库。
适用场景
- 你有一份 NSFC 标书(LaTeX 项目),希望检查:
.tex里所有\cite{...}/\citep{...}/\citet{...}等引用的 bibkey 是否都存在于.bib.bib条目的基础字段是否完备、格式是否明显错误(如 DOI 非法、年份缺失)- 引用所在句子的“语义主张”是否与该文献(至少从 title/author/year/venue/DOI 等元信息)相匹配,是否存在乱引/过度主张/张冠李戴风险
- 你希望只得到一份报告先人工审核(改
.bib/ 改正文属于大事)。
不适用
- 你希望“自动替换 bibkey / 自动改写正文”——本 skill 默认禁止直接修改(除非你明确要求)。
- 你只是想补齐 BibTeX 条目:优先使用
nsfc-bib-manager。
输入
project_root:标书项目根目录(如projects/NSFC_General)- 可选:
main_tex:主入口 tex(默认main.tex) - 可选:
report_dir:报告输出目录(默认./references,相对你运行 skill 的当前目录) - 可选:
verify_online:是否进行在线核验(默认 false;仅做确定性查询,失败降级)
输出(只读 + 可复现)
中间产物(强制)
所有中间文件必须托管在:
{project_root}/.nsfc-ref-alignment/run_{YYYYMMDDHHMMSS}/
其中 run_{YYYYMMDDHHMMSS} 为时间戳;如同秒重复运行,脚本会追加 -2/-3/...,确保多次分析不冲突。
该目录至少包含:
ai_ref_alignment_input.json:结构化输入(引用位置 + 句子上下文 + 文献元信息 + 校验结果),供宿主 AI 做语义判断ref_integrity_report.md:确定性报告(缺失 bibkey、重复条目、字段缺失、DOI 格式问题等)citations.csv:逐条引用清单(file/line/bibkey/sentence)bib_inventory.json:BibTeX 清单(被引用条目与问题标注)
最终交付(默认)
仅输出一份供用户审核的报告(默认写入 ./references/;用户可指定其他目录):
NSFC-REF-ALIGNMENT-vYYYYMMDDHHMMSS.md(如同秒重复运行,脚本会追加-2/-3/...避免覆盖)
该报告必须是“只读审查报告”,不得直接修改标书正文或 .bib。
工作流(推荐)
步骤 1:预检与定位
- 确认
project_root存在且包含main_tex。 - 自动解析
main_tex的\input{}/\include{}依赖树,收集所有涉及的.tex文件。 - 自动发现
\bibliography{...}/\addbibresource{...}指向的.bib文件;若发现 0 个.bib,则回退为在project_root下搜索*.bib并给出 warning。
步骤 2:确定性抽取(脚本执行)
运行脚本生成结构化输入与确定性报告:
cd /path/to/ChineseResearchLaTeX
python3 skills/nsfc-ref-alignment/scripts/run_ref_alignment.py \
--project-root "projects/NSFC_General" \
--main-tex "main.tex" \
--report-dir "references" \
--prepare
如需在线核验(建议只对最终稿/重点条目开启):
python3 skills/nsfc-ref-alignment/scripts/run_ref_alignment.py \
--project-root "projects/NSFC_General" \
--main-tex "main.tex" \
--report-dir "references" \
--prepare \
--verify-online
步骤 3:宿主 AI 语义核查(本 skill 的核心)
宿主 AI 在读取 {run_dir}/ai_ref_alignment_input.json 后,逐条核查:
真实性/存在性(P0)
- bibkey 缺失:正文引用了不存在的条目
- DOI/URL 明显无效或在线核验失败且元信息严重不一致
语义不匹配风险(P0/P1)
- P0:句子对文献作出了“强断言”,但从元信息看高度不可能(如年份矛盾、领域完全不相关、明显张冠李戴)
- P1:可疑但证据不足(元信息不足、缺少 DOI/缺少 title/作者信息不全)
过度主张/弱支撑(P1)
- 例如“首次/唯一/最优/显著优于”但缺乏足够支撑或疑似需要更强引用
证据优先级(强制): 在线核验结果(若开启) > BibTeX 的 title/abstract > 仅从句子推断(最低优先级)。
步骤 4:生成最终报告(只读)
在 report_dir 写入最终报告 NSFC-REF-ALIGNMENT-vYYYYMMDDHHMMSS.md,必须包含:
- Summary:总引用数、唯一 bibkey 数、缺失条目数、重复条目数、P0/P1 数
- P0(必须处理):缺失 bibkey、明显伪造/错误元信息、严重语义错配
- P1(建议处理):字段不全(缺 DOI/缺 year)、弱支撑/过度主张、需要人工复核
- 附录:逐条引用明细(至少包含 file/line、原句、bib 条目关键字段、风险判断与理由)
修改边界(强制)
- 默认不修改任何标书内容与配置:
- 禁止修改:
**/*.tex、**/*.bib、**/*.cls、**/*.sty
- 禁止修改:
- 允许写入:
{project_root}/.nsfc-ref-alignment/**(中间产物)./references/**(最终报告;可由用户改到别处)
- 若用户明确要求“修复引用/修复 bib”,必须先在报告里给出修改计划与影响面,再执行最小化修改(默认不做)。
与 check-review-alignment 的关系(经验复用)
- 共同点:脚本只做确定性抽取;“语义是否匹配”的判断由宿主 AI 完成;输出可追溯的结构化输入与报告。
- 不同点:本 skill 面向标书项目(多文件
\input{}结构),且默认不做任何自动改写(只输出审查报告)。
验证清单(静态自检)
{project_root}/.nsfc-ref-alignment/run_{timestamp}/存在且包含 4 个核心产物(json/md/csv/json)。- 最终报告写入
report_dir,且没有任何.tex/.bib文件被修改。 - 报告对每个 P0/P1 给出:定位(file/line)+ 原句 + 依据 + 建议动作。
- Fluxly category
- Other
- Author-declared agents
- No explicit declaration found; this is not inferred or tested compatibility
- Static check
- 88 / 100 · heuristic scan, not runtime safety proof
- Author / version / license
- @huangwb8 · no license declared
- Fluxly token estimate
- Lean
- Fluxly setup estimate
- Plug-and-play
- External API key
- No requirement detected
- Detected OS requirements
- Unspecified
- Runtime requirements
- Unspecified
- Detected file/system behavior
-
- Read-only
- Detected network behavior
- Local-only
- Install commands
- None (reference only)
Profile is derived at build time from SKILL.md and install vectors. Subject to drift from author intent.
Heads up: 未限定 allowed-tools,默认拥有全部工具权限。
The current SKILL.md does not define a fixed output example. 当用户环境中出现因本 skill 设计缺陷导致的 bug 时,优先使用 bensz-collect-bugs 按规范记录到 ~/.bensz-skills/bugs/,严禁直接修改用户本地 Claude Code / Codex 中已安装的 skill 源码。 若 AI 仍可通过 workaround 继续完成用户任务,应先记录 bug,再继续完成当前任务。 当用户明确要求“report bensz skills bugs”等公开上报动作时,调用本地 gh 与 bensz-collect-bugs,仅上传新增…
你有一份 NSFC 标书(LaTeX 项目),希望检查: .tex 里所有 \cite{...} / \citep{...} / \citet{...} 等引用的 bibkey 是否都存在于 .bib .bib 条目的基础字段是否完备、格式是否明显错误(如 DOI 非法、年份缺失)
你希望“自动替换 bibkey / 自动改写正文”——本 skill 默认禁止直接修改(除非你明确要求)。 你只是想补齐 BibTeX 条目:优先使用 nsfc-bib-manager。
projectroot:标书项目根目录(如 projects/NSFCGeneral) 可选:maintex:主入口 tex(默认 main.tex) 可选:reportdir:报告输出目录(默认 ./references,相对你运行 skill 的当前目录)
输出(只读 + 可复现)
所有中间文件必须托管在: {projectroot}/.nsfc-ref-alignment/run{YYYYMMDDHHMMSS}/ 其中 run{YYYYMMDDHHMMSS} 为时间戳;如同秒重复运行,脚本会追加 -2/-3/...,确保多次分析不冲突。
# NSFC Ref Alignment
## 与 bensz-collect-bugs 的协作约定
- 当用户环境中出现因本 skill 设计缺陷导致的 bug 时,优先使用 `bensz-collect-bugs` 按规范记录到 `~/.bensz-skills/bugs/`,严禁直接修改用户本地 Claude Code / Codex 中已安装的 skill 源码。
- 若 AI 仍可通过 workaround 继续完成用户任务,应先记录 bug,再继续完成当前任务。
- 当用户明确要求“report bensz skills bugs”等公开上报动作时,调用本地 `gh` 与 `bensz-collect-bugs`,仅上传新增 bug 到 `huangwb8/bensz-bugs`;不要 pull / clone 整个 bug 仓库。
## 适用场景
- 你有一份 NSFC 标书(LaTeX 项目),希望检查:
- `.tex` 里所有 `\cite{...}` / `\citep{...}` / `\citet{...}` 等引用的 bibkey 是否都存在于 `.bib`
- `.bib` 条目的基础字段是否完备、格式是否明显错误(如 DOI 非法、年份缺失)
- 引用所在句子的“语义主张”是否与该文献(至少从 title/author/year/venue/DOI 等元信息)相匹配,是否存在乱引/过度主张/张冠李戴风险
- 你希望**只得到一份报告**先人工审核(改 `.bib` / 改正文属于大事)。
## 不适用
- 你希望“自动替换 bibkey / 自动改写正文”——本 skill 默认禁止直接修改(除非你明确要求)。
- 你只是想补齐 BibTeX 条目:优先使用 `nsfc-bib-manager`。
## 输入
- `project_root`:标书项目根目录(如 `projects/NSFC_General`)
- 可选:`main_tex`:主入口 tex(默认 `main.tex`)
- 可选:`report_dir`:报告输出目录(默认 `./references`,相对你运行 skill 的当前目录)
- 可选:`verify_online`:是否进行在线核验(默认 false;仅做确定性查询,失败降级)
## 输出(只读 + 可复现)
### 中间产物(强制)
**所有中间文件**必须托管在:
`{project_root}/.nsfc-ref-alignment/run_{YYYYMMDDHHMMSS}/`
其中 `run_{YYYYMMDDHHMMSS}` 为时间戳;如同秒重复运行,脚本会追加 `-2/-3/...`,确保多次分析不冲突。
该目录至少包含:
- `ai_ref_alignment_input.json`:结构化输入(引用位置 + 句子上下文 + 文献元信息 + 校验结果),供宿主 AI 做语义判断
- `ref_integrity_report.md`:确定性报告(缺失 bibkey、重复条目、字段缺失、DOI 格式问题等)
- `citations.csv`:逐条引用清单(file/line/bibkey/sentence)
- `bib_inventory.json`:BibTeX 清单(被引用条目与问题标注)
### 最终交付(默认)
仅输出一份**供用户审核的报告**(默认写入 `./references/`;用户可指定其他目录):
- `NSFC-REF-ALIGNMENT-vYYYYMMDDHHMMSS.md`(如同秒重复运行,脚本会追加 `-2/-3/...` 避免覆盖)
该报告必须是“只读审查报告”,不得直接修改标书正文或 `.bib`。
## 工作流(推荐)
### 步骤 1:预检与定位
1) 确认 `project_root` 存在且包含 `main_tex`。
2) 自动解析 `main_tex` 的 `\input{}` / `\include{}` 依赖树,收集所有涉及的 `.tex` 文件。
… Author text anchors workflow facts; Fluxly only indexes current sections, terms, files, and commands.
sections -> 与 bensz-collect-bugs 的协作约定 → 适用场景 → 不适用 → 输入 → 输出(只读 + 可复现) → 中间产物(强制)
terms -> 只得到一份报告 · 所有中间文件 · 供用户审核的报告 · 真实性/存在性 · 语义不匹配风险 · 过度主张/弱支撑 · 不修改 · 修改计划
files/cmd -> bensz-collect-bugs · ~/.bensz-skills/bugs/ · huangwb8/bensz-bugs · .tex · \cite{...} · \citep{...} · \citet{...} · .bib
body sha256 -> 88a9d4716f1b
Decide Fit First
Design Intent
How To Use It
Boundaries And Review