Community写作与编辑github.com

MinorBaek/wiki-synthesize

为科学维基中一个成熟的概念或方法笔记起草或更新“living-synthesis”中的“## State of Knowledge”区块,依据证据金字塔权衡发现,对照每篇引用的PDF检查每个新或更改的条目,并在写入前提交给人类批准。通过 /wiki-synthesize、"synthesize this concept"、"state of knowledge for X" 触发。

wiki-synthesize 是什么?

wiki-synthesize 是一款针对科学维基的 AI 助手技能,专为“living-synthesis”层设计。它的核心功能是将笔记中已验证的发现(如概念笔记的“## Key Findings”或方法笔记的声明性章节)重新组织成一个“State of Knowledge”区块,捕捉证据的流动状态:已解决、有争议、已被取代、新兴。该技能严格遵循证据金字塔进行权衡,并强制性地对每个新或更改的条目对照其引用 PDF 进行逐字检查(证据检查第 2 层),以确保事实准确性。它支持交互式(通过 /wiki-synthesize 触发)、工作清单(自动运行 lint 检查并优先列出待处理笔记)和批量处理(管理式异常处理模式,并行派生子代理)三种模式。在任何写入操作前,技能都会等待人类批准,并通过脚本(如 synth_validate.py)和一系列安全规则(如禁止捏造、零信息丢失、预全文检查)确保可靠性与可审计性。该技能适用于 Obsidian 或类似文件系统优先的科学维基平台,可与 wiki-lint 和 wiki-ingest 等工具协同工作。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/MinorBaek/science-wiki-kit/tree/HEAD/skills/wiki-synthesize

Installed? Explore more 写作与编辑 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

wiki-synthesize 是做什么的?

首次运行前,请阅读工具包中的 docs/GOTCHAS.md(关于摄取、综合和代码检查的操作注意事项)和 docs/SEALS.md(封印格式)。

这是“living-synthesis”层的“外科医生”。它将笔记中已验证的发现存储(概念笔记中的 ## Key Findings;方法笔记中包含声明的小节)重新组织成一个“State-of-Knowledge”区块,该区块捕捉证据的 流动:已解决、有争议、已被取代、新兴。它绝不捏造声明。每个条目都追溯到一个现有的发现,并且每个新或更改的条目在用户批准之前都会对照其引用的每篇 PDF 进行检查(证据检查第 2 层)。

模式

  • 默认: /wiki-synthesize <NoteName> 对一篇概念或方法笔记进行综合。
  • 工作清单: /wiki-synthesize(无参数)运行 wiki-lint 检查 15,然后呈现 check15_missing 按优先级排序(首先按 synthesis.priority_fields 中列出的字段排序,然后按来源作品数量降序排序)以及 check15_stale(需要重新综合的候选笔记),并询问要处理哪篇笔记。该工作清单是一个积压任务,不是必须立即全部完成的任务。合格集合是检查 15 实时报告的内容;冻结在文档中的计数值会过时。
  • 批量: /wiki-synthesize --batch [N] 是一种管理式异常处理的批量模式(默认批次大小为 8)。它运行检查 15,形成一个优先级队列,分派并行子代理(每个子代理遵循 SYNTHESIS-WORKFLOW.md 并返回一个区块和一份自报告,从不写入),通过证据检查和 scripts/synth_validate.py 对每次写入进行把关,写入干净的笔记,并在 4 个触发条件(T1 无法验证的关键数字、T2 信息丢失、T3 结构异常、T4 子代理置信度低)以及检查发现的任何缺陷时进行升级。请参阅 references/BATCH-WORKFLOW.md。首先向用户提出一个批次的子代理方案(它们做什么、数量、使用哪个模型),并等待用户批准。

角色与边界

执行: 读取笔记的发现存储,根据 evidence_level 和内联测量进行权衡,起草区块,检查每个新或更改的条目对照 PDF,提交供批准,然后写入(插入区块并吸收 ## Controversies or Gaps),封印来源笔记,运行门控,记录日志。

不执行: 捏造数字或声明,创建 debates/ 笔记(改为在报告中标记候选对象),触碰低于综合阈值的笔记,或在用户批准之前写入任何内容。

文件位置

路径来自 wiki.config.json。笔记:<wiki_root>/concepts/、methods/、papers/、books/。开始前请始终阅读 WIKI_SCHEMA.md(Living-Synthesis 层)。

阈值(综合前必须满足的条件)

status: final 并且(synthesis.min_sources 或更多不同的来源作品(默认为 3)或者至少一个引用的来源具有 synthesis.sr_levels 中的 evidence_level(默认为 SR-MA、SR))。这恰好是 wiki-lint 检查 15 的资格测试。如果不满足:报告并停止。

工作流程

完整流程见 references/SYNTHESIS-WORKFLOW.md。总结:读取契约,解析笔记(精确的 test -f/内容搜索,绝不能仅用 glob),阈值门控,预全文检查,将发现聚类到子问题,检查新或更改的条目对照 PDF,在聊天中提出区块(附引文和页码),批准,写入(scripts/synth_write.py:在 ## Definition 之后插入,吸收 Controversies,打戳),封印来源笔记(<kit>/tools/seal.py),如果区块已存在则进行重新综合 diff,然后记录日志,重新运行门控并重新运行检查 15。

安全规则

  • 绝不捏造。 每个条目都追溯到一个现有的发现;不允许来自记忆或来源笔记的新数字。
  • 证据检查第 2 层:没有经过 PDF 检查的新或更改的条目。 对于最多 3 个不同的来源作品,编排器负责检查;超过 3 个,它提议一个子代理,其职责仅限于差异,并等待用户确认。在更改任何内容之前,每个缺陷都要在 PDF 中重新阅读,并且来源笔记要用笔记的名称进行封印。来源笔记上的全文封印并不能保护笔记对该作品的陈述:在之前对此方法的审计中,大约 4/10 的抽样笔记-来源笔记对存在缺陷。
  • 人在回路中。 交互模式:提议、批准、写入(未经用户确认不写入)。批量模式:synth_validate.py 对每次写入进行把关,4 个触发条件会升级;绝不实现完全自主。
  • 零信息丢失。 在 ## Controversies or Gaps 小节被吸收之前,该小节中的每个要点都必须映射到一个区块条目。
  • 预全文检查。 预全文队列中的一篇引用的论文(在 synthesis.prefulltext_cutoff 之前创建且未进行全文封印,或仅以摘要级别封印的论文笔记)会降低受影响条目的置信度,并获得内联 ⚠ 标志;仅当条目所依赖的数字本身无法验证时才暂停该条目。书籍章节是可信锚点,除非其自身的 status: 是 draft 或 stub,这表示笔记是在未获取全文的情况下被摄取的(全文级别的 source_verification 会覆盖状态)。synth_validate.py V4 会机械地强制执行此规则。
  • 声明需要来源。 每个条目引用 [[wikilinks]]。
  • 文件系统优先。 使用主机的文件工具;不需要 Obsidian 插件或 MCP。

相关技能

  • wiki-lint:检查 15 生成此技能的工作清单;检查 32 标记(笔记、作品)对,如果无封印。综合后运行它以确认无漂移(链接检查干净,检查 15 将笔记从 missing 中移除)。
  • wiki-ingest:上游。此技能重新组织的发现是由摄取写入的。

参考资料

  • references/SYNTHESIS-WORKFLOW.md:详细流程、区块模板、门控逻辑、重新综合处理。
  • references/BATCH-WORKFLOW.md:批量模式、编排器循环、子代理摘要、V1-V5 写入门控、升级触发条件。
  • scripts/synth_validate.py:写入门控和全维基扫描。scripts/synth_write.py:区块插入。<kit>/tools/seal.py:封印。

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

相关技能