# Review Synthesis

> 综述文章的证据综合（乔淼PhD · AI学术训练营 · AI学术工作流 · 综述文章工作台 阶段③）。把最终纳入的文献全文综合成 研究发现.md：按 选题.md 锚块的 review_type 三路分流——systematic 走 meta-analysis（效应量/异质性/敏感性/发表偏倚/偏倚风险/GRADE）或降级为 SWiM 定性系统综述；semi-systematic 走主题综合与 meta-narrative（RAMESES）；integrative 走概念整合出新框架（Torraco）。方法锚 Snyder (2019) + Cochrane Handbook + RAMESES + Torraco (2005)。**这是综述文章专用，不要用实证论文的 data-analysis-round / analyze-quantitative-data 代替**（那两个锚的是单研究数据分析，没有效应量合成）。Trigger on："综合我的综述语料库"、"做 meta-analysis"、"把纳入文献综合成研究发现"、"主题综合 / meta-narrative / 整合式综述的综合"、"synthesize my review corpus"、"run the synthesis for my systematic review"。

- Skill: `qiaomiaojoe/review-synthesis` (Agent Skill)
- Install (CLI): `npx skillmds@latest add qiaomiaojoe/review-synthesis`
- Raw SKILL.md: https://api.skillmd.com/api/skills/qiaomiaojoe/review-synthesis/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: qiaomiaojoe (https://skillmd.com/u/qiaomiaojoe)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/qiaomiaojoe/review-synthesis

---


# Review Synthesis · 综述文章的证据综合

把**最终纳入的研究**综合成 `研究发现.md`——综述文章的 Results/Synthesis 节的权威输入（下游 `review-draft` 直接用）。

**三型三方法，由 `选题.md` 机器锚块的 `review_type` 决定，不得中途换型。**

| review_type | 报告规范 | 综合路线 |
|---|---|---|
| systematic | PRISMA (+ SWiM) | 可合成 → meta-analysis；不可合成 → 结构化叙事综合（SWiM） |
| semi-systematic | RAMESES | 主题综合 / 内容分析 / meta-narrative |
| integrative | Torraco (2005) | 批判性概念整合 → 新框架 / taxonomy / 议程 |

## 调用约定（独立运行）

- **输入**：① `RV_综述/01_选题/选题.md`（锚块定型 + RQ + 纳入标准）；② 纳入集——`RV_综述/02_检索筛选/筛选决定.csv` 中 `final_decision = include` 的记录；**人还没填 `final_decision` 时用 `ai_decision = include`**（上游是摘要层定稿模式，`ai_decision` 就是纳入决定），并在产出里写明纳入集尚未经人工确认；③ 这些研究的全文——**由本 skill 的 Step 0.5 负责获取**，上游 `sr-search-record` 不取全文。
- **输出**：默认 `RV_综述/03_综合成文/`；`研究发现.md` 是唯一正式产出，中间产物带前缀不覆盖。
- **`RV_综述/` 是综述文章在项目里的独立子树**（`01_选题` / `02_检索筛选` / `03_综合成文`），与实证论文那条线彻底隔离。**尤其不要把本 skill 的 `研究发现.md` 写进 `04_数据/`**——实证论文那条线的 `04_数据/研究发现.md` 是另一回事（`findings-synthesis` 的产出），同名不同义，覆盖了从文件名看不出来，下游成文会写出内容错位却看着正常的初稿。
- **不要求 `03_方法/`**。综述项目没有研究设计初稿——RQ、变量、分层维度一律从 `选题.md` 和抽取表来，**不要去找 `研究设计初稿.md`**。
- **调用方覆盖约定**：调用方（工作台 prompt / 用户）显式给出的参数、输入路径、落盘路径与工具选择，一律覆盖本 skill 的默认；但本 skill 的方法步骤、硬约束与停点不可被省略或稀释——调用方若要求跳过某硬约束，以本 skill 为准并提示冲突。

## 全局硬约束

1. **不编造。** 每个数字、每条引语都要能落到「哪篇文献 + 哪页/哪张表」。落不到就写 `[待核: 文献-位置]`，**不许用看起来合理的数值填空**。
2. **只综合纳入集。** 摘要层筛掉的研究不得悄悄捡回来；确需纳入的，走协议偏离记录并回写选择流程。
   **反过来也一样：拿不到全文不构成排除。** 上游是摘要层定稿，纳入集在筛选阶段就已经定了——本 skill **不得因为取不到 PDF 就把一篇研究踢出纳入集**，只能降级为摘要级证据并标注。
3. **零结果合法。** 证据不足、方向冲突、无法合成——如实写，不许拼一个漂亮结论。
4. **不做没有前提的统计。** 结局不可比、效应量不可换算、研究数太少 → **不做 meta-analysis**，明确降级并写理由。降级不是失败。
5. **每条结论标证据基数**：k 篇研究 / n 参与者（或语料规模）。没有基数的论断不许出现。
6. **算了就要能复算。** 用 R（`metafor` / `meta`）或 Python 实算并保留脚本与数据表；**没有可用环境时明确说"未实算"**，给出可复算的数据表与公式，**绝不描述一个没跑过的结果**。
7. **不中途讨许可。** 一口气跑完；只有三类停点——① 权威输入缺失或数字对不上；② 上下文预算将尽（先写盘再报续跑位置）；③ 跑完的收尾汇报。

## Step 0 · 定型与对账

1. 读 `选题.md` 锚块取 `review_type` / `report_standard` / RQ；**锚块缺失或与用户口述冲突时停下问**（这是合法停点 ①）。
2. 清点纳入集：篇数与 `选择流程.md`（旧项目为 `PRISMA流量.md`）的「纳入集」对不上就停下报差异。
3. 纳入集里的 `unclear` 记录：**不自动纳入也不自动排除**，单列一节交人裁决，先按"未纳入"综合，人裁决后可增量补。

## Step 0.5 · 取全文（best-effort，**不阻塞**）

上游 `sr-search-record` 不取全文，纳入集是在摘要层定稿的。本步尽可能把全文找齐，**但一篇都拿不到也要继续往下综合**。

对纳入集逐条按顺序尝试，**每条最多走完这四级就收手，不要在单篇上反复重试**：

1. 台账 `oa_url` 直链下载（`rank` 已把 OpenAlex 的 OA 链接带进台账）
2. 调 `lit-pdf-zotero` 的多渠道获取能力（**只用它找 PDF，不重建 Collection、不建金字塔**）
3. 调 `scansci-pdf`（机构 / WebVPN / 多源）
4. 仍拿不到 → 收手

PDF 落 `RV_综述/02_检索筛选/pdf_download/`（命名 `AuthorYear.pdf`）。回写台账两列：

- `pdf_status` ∈ `oa` / `retrieved` / `not-retrieved`
- **`evidence_level` ∈ `fulltext` / `abstract`** ← 这一列是本 skill 后面所有标注的依据

**登录页 / 付费墙 HTML 不得当成 PDF 落盘**（校验文件头与页数），误抓的移进 `pdf_download/_invalid/`。

**已知故障（不要踩）**：`zotero_add_from_file` 没有 parent 参数，永远新建父条目——**禁止用它给已入库条目挂 PDF**；zotero-mcp 的 `attach_mode="auto"` 上传失败时仍返回「PDF attached」，**要报告附件状态必须用子项接口复查**；`scansci_pdf_zotero_push` 需要 scansci-pdf 的 MCP env 里配 `ZOTERO_API_KEY`，没配就直接失败——失败不阻塞，PDF 留在本地即可。

跑完报一行：**全文获取率 X / N**，并把这个数回写 `选择流程.md` 里留空的「全文获取率」栏。获取率低不是失败，是要写进局限的事实。

## Step 1 · 数据抽取（三型共用，map-reduce 逐篇）

**一篇一行**，逐篇读全文填抽取表 `RV_综述/03_综合成文/综合-抽取表.csv`。**逐篇处理是为了防爆上下文，不是汇报节奏——不要每篇停下汇报。**

共用字段：`study_id, 作者年份, evidence_level, 国家/情境, 设计, 样本(n 与构成), 抽样, 数据收集, 关键构念与操作化, 主要结果, 页码/表号, 局限, 资助/利益冲突`

**`evidence_level = abstract` 的研究照样抽取，但**：只填摘要里明确写了的字段，**其余一律留空并标 `[摘要未报告]`——绝不从题名、期刊或常识推断**。页码列填 `摘要`。这类研究在后面每一处出场都要带上摘要级标记。

按型加字段：

- **systematic**：`结局指标, 效应量类型与数值, 方差/SE/CI, 分组人数, 时间点, 偏倚风险评级`
- **semi-systematic**：`理论视角/研究传统, 核心主张, 关键引语(带页码), 与其他传统的关系`
- **integrative**：`概念定义, 概念边界与冲突, 所属理论传统, 对新框架的贡献点`

同一研究多篇报告 → 按 `study_id` 归并，**不要当成多项研究重复计数**。

## Step 2A · systematic：meta-analysis 或 SWiM

**先做可合成性判断（四问，任一为否即降级）**：① 有没有共同的结局指标？② 效应量能不能换算到同一尺度？③ 研究间的人群/干预/设计是否足够同质？④ 可合成的研究数是否 ≥3（<5 时结果高度不稳，必须写明）？

**能合成 → meta-analysis：**

1. **效应量**：连续结局 → Hedges *g*（小样本偏倚校正的 SMD）或 MD（同量表时）；二分结局 → OR / RR / RD；相关 → Fisher *z* 转换后合并、结果再逆变换回 *r*。**换算公式与来源数据逐研究留档。**
2. **模型**：跨研究存在真实效应差异时用**随机效应**（REML 优先，DerSimonian–Laird 作为经典对照）；仅在明确同质时用固定效应。**默认随机效应并说明理由。**
3. **异质性**：报 Q 检验、*I²*、*τ²*。*I²* 按 Cochrane 的粗略区间解释（0–40% 可能不重要 / 30–60% 中等 / 50–90% 实质性 / 75–100% 相当大），**区间有意重叠，不要机械切分**，要结合效应方向一致性与 CI 重叠一起判。
4. **森林图** + 合并效应量、95% CI、（随机效应时）预测区间。
5. **亚组 / meta-regression**：只做**事先设定**的调节变量；meta-regression 每个协变量经验上需要 ≥10 项研究，不够就只做描述性亚组并写明功效不足。
6. **敏感性分析**：留一法；剔除高偏倚风险研究；换模型/换效应量指标看结论稳不稳。
7. **发表偏倚**：漏斗图；**Egger 等不对称检验只在研究数 ≥10 时做**（更少时功效不足，做了也不可解释）——不够就明说不做。
8. **偏倚风险**：RCT 用 RoB 2；非随机干预研究用 ROBINS-I；观察性研究用 NOS 或 JBI 工具。**逐研究评级并汇总**，这是 systematic review 的必需项，不是可选项。
9. **证据确定性**：按 GRADE 逐结局评（五个降级域：偏倚风险 / 不一致性 / 间接性 / 不精确性 / 发表偏倚），给出高/中/低/极低。

**不能合成 → 结构化叙事综合（按 SWiM 报告）**：说明分组依据、综合方法（如按效应方向的结构化列表）、如何处理缺失效应量、以及**为什么不做 meta-analysis**。用 vote counting 时必须写明其不考虑样本量与效应量大小的局限。

## Step 2B · semi-systematic：主题综合 / meta-narrative

按题目性质择一（或组合），**在产出里写明选了哪条与理由**：

- **主题综合（Thomas & Harden 三阶段）**：逐行编码原文结果段 → 归并成描述性主题 → 提炼出超越原研究的**分析性主题**（回答 RQ 的那一层）。描述性与分析性两层必须分开呈现。
- **内容分析**：预设或涌现的类目 + 频次，**频次只做描述，不当证据强度**。
- **meta-narrative（RAMESES）**：识别各**研究传统**（奠基文献 / 核心概念 / 典型方法）→ 比较各传统如何提出与回答问题 → 呈现传统间的冲突、互补与演化。遵循六原则：务实、多元、历史性、争议性、反身性、同行评议。

产出：**主题 × 研究矩阵**（谁支持谁反对，带页码）+ 脉络/演化图 + 冲突点清单 + 研究议程。

## Step 2C · integrative：批判性概念整合（Torraco）

1. **概念矩阵**：概念 × 文献，标出各文献的定义、边界、测量方式的异同与冲突。
2. **批判性分析**：不是逐篇摘要，而是**指认现有文献的结构性问题**——定义漂移、层次混淆、证据与主张不匹配、被忽略的边界条件。
3. **综合出新东西**（Torraco 认可的四类产物，至少落一类）：研究议程 / taxonomy 分类学 / 概念框架 / 元理论。
4. **"新在哪"必须显式写出来**：新框架相对于既有框架多解释了什么。**只做总结不算整合式综述。**

## Step 3 · 交叉检验与置信度（三型共用）

- **一致与冲突**：哪些结论跨研究收敛、哪些分歧，分歧能不能用情境/设计/测量差异解释。
- **证据基数**：每条结论标 k 篇 / n 样本，**并拆出其中几篇是摘要级证据**（写成 `k=12（其中 3 篇仅摘要）`），再注明证据集中在哪些情境（国别、学科、人群）。
- **摘要级证据的用法边界**：
  - 摘要级研究**可以**支撑"该主题存在、有人这么做过、方向如此"这类主张。
  - **不得**单独支撑需要方法细节的主张（效应量大小、样本代表性、因果解释、偏倚风险评级）。
  - **一条结论若全部证据都是摘要级，必须显式降级表述**（如"初步迹象表明"）并在溯源表标出。
  - systematic 型的 meta-analysis **只用 `evidence_level = fulltext` 的研究**；摘要级研究单列在敏感性分析或叙述部分。
- **局限**：检索源限制（如仅 OpenAlex / 单库）、语言限制、**上游未做全文合格性评估（筛选在题摘层定稿）**、**本轮全文获取率 X/N 及其对结论的影响**、未做的分析（如未做发表偏倚检验及原因）。

## Step 4 · 产出 `RV_综述/03_综合成文/研究发现.md`

结构：① 纳入研究概览（选择流程数字 + 特征表：设计/国别/样本/年份分布 + **证据级别构成：全文 X 篇 / 仅摘要 Y 篇**）；② 偏倚风险 / 质量评价汇总（systematic 必须有；**摘要级研究评不了，标 `无法评级（仅摘要）`，不得给一个猜的评级**）；③ 逐 RQ 的综合结果（每条结论后跟证据表：支持文献 + 页码/表号 + 基数 + 证据级别）；④ 一致性与冲突；⑤ 证据确定性（systematic 走 GRADE；**摘要级证据在"间接性"域降级**）；⑥ 局限；⑦ 溯源表（结论 → study_id → 页码 / `摘要`）。

中间产物：`综合-抽取表.csv`、`综合-meta分析.R`/`.py` 与其输出、`综合-森林图.*`、`综合-主题矩阵.md`、`综合-概念矩阵.md`（按型取用），多轮不覆盖（加 `-R2` / `-R3`），记账追加 `RV_综述/03_综合成文/分析日志.md`。

**未跑完时**：产出开头必须放醒目警告——已综合 X / N 篇、结论均为部分值、不得据此成文，并写清续跑位置。

## 与其他 skill 的边界

- **上游**：检索与筛选 → `sr-search-record`（本 skill 不做检索、**不改纳入集**）。上游是**摘要层定稿**：纳入集在摘要层已定，没有全文筛选层，所以**全文获取归本 skill 的 Step 0.5**，且取不到全文不得改动纳入集。
- **下游**：成文 → `review-draft`（本 skill 只出 `研究发现.md`，不写正文）。
- **不要用 `data-analysis-round` / `analyze-quantitative-data` / `analyze-qualitative-data` 代替本 skill**：那三个是**实证论文**的单研究数据分析（锚 Neuman Ch12/Ch14——codebook、单变量/双变量、回归、elaboration、三段编码），**不含效应量合成、异质性、发表偏倚、GRADE 中的任何一项**，做不了 meta-analysis。实证论文分析自己的数据集时才用它们。
- 多轮综合的汇总仍可复用 `findings-synthesis` 的记账思路，但方法以本 skill 为准。

