| name | constellatio |
| description | 对有争议历史现象做接受史分析,找出对象内部让各代投射都能贴住的结构性裂缝,可选输出暗夜星图 viewer。 |
| argument-hint | [phenomenon | workspace-or-markdown-path] |
| allowed-tools | Read, WebSearch, Write |
constellatio
这个 skill 做什么
输入一个在历史上被反复征用、各代读法互相矛盾的现象(李鸿章、王安石变法、
鸦片战争、五四),输出两样东西:
- 一份接受史分析 — 每个时代怎么读的、为什么这么读、变迁追踪的是读者
还是对象
- 一个判断 — 对象内部的什么结构让所有时代的投射都能贴住(屏幕属性)
第二点是这个 skill 在普通接受史之上唯一多做的事。普通接受史告诉你"各代
怎么读了";这个 skill 多问一句:"对象身上什么东西让它能被这样反复读而不
耗尽?"
可选地,分析可以搭配一张暗夜星图 viewer — 同一组事件固定不动,各代的连
法在上面各画一层,让眼睛直接比较散文需要绕着弯说的东西。
输入
Target: $ARGUMENTS
- 一个现象名(
李鸿章、五四、鸦片战争)→ 从公开材料做
- 一个 workspace 目录 → 读
<ws>/final.md,当作待诊断的读法之一
- 一个
.md 文件 → 同上
- 空 → 问用户哪个现象,以及已经知道哪些互相矛盾的读法
至少三种互相矛盾的读法才值得动这个 skill。不到三种,普通的论证分析就够
了。超过七种,通常是在凑数。
方法
三步。前两步是标准接受史工作,第三步才是这个 skill 的独有贡献。
第一步 · 底图。 列出这个现象里不可压缩的事实 — 无论谁来读都必须处理
的事件、人物、文本。不解读,只列。
第二步 · 每代读法当作诊断。 每一个时代的读法,问的不是"读得对不对",
是"这个时代需要从历史里取走什么来支撑自己的当下"。亮了什么、压暗了什
么、不愿看什么 — 这些是诊断材料。同时追踪:各代读法的变化到底在追踪什
么?几乎从来不是关于对象本身的新发现,通常是读者群体自己的合法性危机在
变。
第三步 · 屏幕属性。 这是这个 skill 唯一真正多做的事。问:对象内部的
什么结构让每一代的投射都能贴住?通常是一个真实存在于对象内部的矛盾(启
蒙 + 救亡同时在场;开明改革 + 帝国困局同时在场)— 不是后人构造的复杂
性,是对象本身的双重结构。找到这个,才能解释为什么这个现象被反复征用而
不耗尽。找不到,就诚实说找不到。
输出
- workspace 模式 →
<workspace>/analysis/{stem}_constellatio.md
- 单文件模式 →
analysis/{stem}_constellatio.md
- 纯现象模式 → 问用户放哪
散文六段:
- 现象 — 名称,不装饰
- 不可压缩面 — 每个读法都必须包括的事实
- 每代读法的诊断 — 每个时代需要这个现象是什么,以及为什么
- 变迁追踪的是什么 — 跨时代变化到底在追踪什么
- 屏幕属性 — 对象内部让投射贴住的结构
- 当下读法的诚实 — 当代的综合本身也是一种时代读法,不是终审
可选 · 暗夜星图 viewer
当各代读法可以在同一组事件上做明暗对比时,一张星图可以让眼睛直接做散文
需要绕着弯说的比较。
星图不是分析。它把各代的连法摆在视觉上,让读者自己看。诊断、屏幕属性、
变迁追踪 — 这些只在散文里。
做 viewer 时参考 references/viewer-spec.md(美学 + 技术规范)和
references/example-may-fourth.html(canonical 例子)。散文例子见
references/example-may-fourth.md。
诚实
- 只有两种读法且只是互相矛盾 → 不值得用这个 skill
- 屏幕属性找不到 → 说找不到,不要发明一个对象里不存在的矛盾
- 没有人提出过的读法不是读法,不要为了凑数而发明立场
- "无法归结"有时候就是诚实的结论
- 当代的综合和过去各代一样,是时代读法,不是终审 — 说清楚这件事