with one click
对有争议历史现象做接受史分析,找出对象内部让各代投射都能贴住的结构性裂缝,可选输出暗夜星图 viewer。
npx skills add https://github.com/MidnightDarling/collate --skill constellatioCopy and paste this command into Claude Code to install the skill
对有争议历史现象做接受史分析,找出对象内部让各代投射都能贴住的结构性裂缝,可选输出暗夜星图 viewer。
npx skills add https://github.com/MidnightDarling/collate --skill constellatioCopy and paste this command into Claude Code to install the skill
使用场景:按 raw.review.md 清单改完稿后,对 raw.md(OCR 原始)和 final.md(定稿)做对比。说"看我改了哪些""对比一下""diff""校对完了让我看看""我到底接受了哪些建议""我漏改了啥""改动统计""核对一下改动""闭环检查"都走这个 skill。生成段落级 HTML diff,关联 raw.review.md 的 A/B/C 标注,一目了然:接受了哪些 agent 建议、拒绝了哪些、清单外修正了哪些、agent 标过但漏改了哪些。主动触发,不必等用户说 "diff-review"。
使用场景:用户运行 `/collate:to-docx`、对校对好的 Markdown 说"转成 Word""生成 docx""出一份 Word 稿""学界交流用""期刊投稿版本""给编辑看"等。这个 skill 把校对定稿的 Markdown 转成 `.docx`:思源宋体正文、段首缩进两字、行距 1.2、字间距 0.2 pt、页边距上下左右全部 2 cm、脚注连续编号、中文引号规范、图表题注位置正确、参考文献独立一段。优先使用 Anthropic 的 `docx` skill(若可用)提供完整 OOXML 能力;fallback 到 bundled 的 md_to_docx.py(python-docx 实现)。**主动触发**:用户提到"Word"、"doc"、"文档"、"交给编辑"、"投稿格式"等都应走这个 skill。
使用场景:用户在 Mac 上运行 `/collate:ocr-run`、对清理过的历史论文 PDF 做文字识别、说出"跑 OCR""识别文字""PDF 转文字""MinerU""百度 OCR""把扫描件识别出来""出 Markdown""准备校对"等。这个 skill 支持**百度 OCR 和 MinerU 双引擎**,根据 `~/.env` 里的 OCR_ENGINE 自动选(mineru 优先精度、baidu 成本低用户已有 key)。它专门优化了历史文献的识别参数:繁体竖排、古籍异体字、民国新式标点、现代简体;并产出「原图 + OCR 文本逐页并排」的 preview.html 供用户在浏览器里直接改错字。凡是提到"OCR""识别""转文字""跑识别"都应主动触发,不要等用户说"ocr-run"三个字。
使用场景:用户在 Mac 上首次安装 collate 插件、运行 `/collate:setup`、或说出"配置 OCR 引擎""注册 MinerU""我有百度 OCR key""历史论文 OCR 怎么配""插件装好了下一步""第一次用这个"。凡是和"插件初始化""把 OCR 的 key 配好""装依赖"相关的请求都走这个 skill。它会引导历史文献研究者(可能是非技术背景)在 Mac 上完成 Python 依赖、poppler、OpenCV 的安装,并配置百度 OCR 或 MinerU 其中之一的 API key 到 ~/.env。这个 skill 一定要主动触发,即使用户没说"配置"两个字。
使用场景:用户在 Mac 上运行 `/collate:prep-scan`、提供一个扫描版 PDF、说出"去水印""去馆藏章""去知网水印""去页眉页脚""预处理论文 PDF""清理扫描件""图书馆章""历史文献 OCR 前处理""国家图书馆藏""中华再造善本"等。典型输入是用户从知网、读秀、国图扫描服务、档案馆数字资源、古籍数据库下载的 PDF,上面常见问题是:红蓝馆藏章、数据库 logo 水印(知网/维普/读秀/CNKI)、扫描日期戳、页眉刊名、页脚馆藏号、古籍版心鱼尾。这个 skill 把这些都处理干净并合回一份 cleaned.pdf,给下一步 OCR 用。这个 skill 应当主动触发,只要用户提到历史论文 PDF 或图像预处理就走它,不必等用户说"预处理"三个字。
使用场景:用户对 OCR 出来的 Markdown 运行 `/collate:proofread`、说出"校对这份稿子""看看 OCR 对不对""检查字形""有没有识别错""这段繁体有没有问题""专名校对""标点校对""帮我过一遍"等。这个 skill 会判定文献类型(繁体古籍 / 民国排印 / 现代简体),加载对应的专业知识 reference,然后调用 historical-proofreader agent 输出一份**标注清单**(A 类 OCR 错 / B 类规范问题 / C 类存疑待考),不直接改原文。社科院历史学者的日常核心工作就是这一步——凡是涉及"校对"的请求都要主动触发这个 skill,不必等用户说 proofread 三个字。
| name | constellatio |
| description | 对有争议历史现象做接受史分析,找出对象内部让各代投射都能贴住的结构性裂缝,可选输出暗夜星图 viewer。 |
| argument-hint | [phenomenon | workspace-or-markdown-path] |
| allowed-tools | Read, WebSearch, Write |
输入一个在历史上被反复征用、各代读法互相矛盾的现象(李鸿章、王安石变法、 鸦片战争、五四),输出两样东西:
第二点是这个 skill 在普通接受史之上唯一多做的事。普通接受史告诉你"各代 怎么读了";这个 skill 多问一句:"对象身上什么东西让它能被这样反复读而不 耗尽?"
可选地,分析可以搭配一张暗夜星图 viewer — 同一组事件固定不动,各代的连 法在上面各画一层,让眼睛直接比较散文需要绕着弯说的东西。
Target: $ARGUMENTS
李鸿章、五四、鸦片战争)→ 从公开材料做<ws>/final.md,当作待诊断的读法之一.md 文件 → 同上至少三种互相矛盾的读法才值得动这个 skill。不到三种,普通的论证分析就够 了。超过七种,通常是在凑数。
三步。前两步是标准接受史工作,第三步才是这个 skill 的独有贡献。
第一步 · 底图。 列出这个现象里不可压缩的事实 — 无论谁来读都必须处理 的事件、人物、文本。不解读,只列。
第二步 · 每代读法当作诊断。 每一个时代的读法,问的不是"读得对不对", 是"这个时代需要从历史里取走什么来支撑自己的当下"。亮了什么、压暗了什 么、不愿看什么 — 这些是诊断材料。同时追踪:各代读法的变化到底在追踪什 么?几乎从来不是关于对象本身的新发现,通常是读者群体自己的合法性危机在 变。
第三步 · 屏幕属性。 这是这个 skill 唯一真正多做的事。问:对象内部的 什么结构让每一代的投射都能贴住?通常是一个真实存在于对象内部的矛盾(启 蒙 + 救亡同时在场;开明改革 + 帝国困局同时在场)— 不是后人构造的复杂 性,是对象本身的双重结构。找到这个,才能解释为什么这个现象被反复征用而 不耗尽。找不到,就诚实说找不到。
<workspace>/analysis/{stem}_constellatio.mdanalysis/{stem}_constellatio.md散文六段:
当各代读法可以在同一组事件上做明暗对比时,一张星图可以让眼睛直接做散文 需要绕着弯说的比较。
星图不是分析。它把各代的连法摆在视觉上,让读者自己看。诊断、屏幕属性、 变迁追踪 — 这些只在散文里。
做 viewer 时参考 references/viewer-spec.md(美学 + 技术规范)和
references/example-may-fourth.html(canonical 例子)。散文例子见
references/example-may-fourth.md。