opensensenova/sn-prepare-citations
用于终稿完成且脚注需要后处理时:去重 [^key] 引用,转换为 [N] 编号,并追加参考文献。
npx skills add https://github.com/OpenSenseNova/SenseNova-Skills --skill sn-prepare-citations
处理 sn-deep-research 的 stitched.md:从 evidence.json 收集 sources[],将正文中的 [^source_id] 转换为 [N] 编号引用,插入 L0/TOC,并追加参考文献。
python3 scripts/prepare_citations.py \
--report <report_dir>/stitched.md \
--evidence <report_dir>/sub_reports/d1.evidence.json <report_dir>/sub_reports/d2.evidence.json \
--outline <report_dir>/outline.json \
--output <report_dir>/report.md
| 参数 | 说明 |
|---|---|
| --report | 输入 markdown。sn-deep-research 中通常是 stitched.md |
| --evidence | 全部 d*.evidence.json,用于收集 source 元数据和修复 claim-id 泄漏 |
| --outline | 可选但推荐。提供 L0、TOC 和标题结构信息 |
| --output | 输出 markdown。sn-deep-research 中通常是 report.md |
| --no-l0 | 关闭 L0 摘要层渲染 |
| --no-toc | 关闭 TOC 渲染 |
sources[] 收集引用元数据。[^dN.cM] claim-id 引用泄漏;能映射到 claim evidence 时替换为对应 source_id,不能映射则报告 unresolved。[^source_id],按首次出现顺序分配编号。[^source_id] → [N],移除脚注定义行。## 参考文献。report.md 和同目录 citations.json。orphan_citations 非空:不要交付,回 writer/stitcher 修正引用或删除 unsupported 内容。claim_id_leakage.unresolved 非空:不要交付,回 writer 修正 [^dN.cM]。claim_id_leakage.resolved 非空但 unresolved 为空:可以继续,但记录为警告;writer 后续应直接输出 [^source_id]。不传 --outline / --output 时,脚本会覆写 --report 指向的文件,仅做引用编号和参考文献追加。sn-deep-research 正常流程不使用该模式。
Take opensensenova/sn-prepare-citations from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.