# Meta Analysis

> Quantitative meta-analysis: effect-size extraction, FE/RE pooling, I²/τ²/95% PI, subgroup, meta-regression, publication bias (funnel/Egger/PET-PEESE/p-curve/RoBMA), psychology methods (RVE, three-level, MASEM, Hunter-Schmidt, reliability generalization). Generates R code (metafor, robumeta, clubSandwich, metaSEM, psychmeta, puniform, RoBMA); pairs ssci-plots. APA MARS/PRISMA-2020. Use when user requests meta-analysis, 元分析, 心理学元分析, 量表元分析, effect size pooling, forest plot, random-effects model, meta-regression, reliability generalization, Hunter-Schmidt, RVE, three-level meta-analysis, MASEM, p-curve, PET-PEESE, RoBMA. Use whenever pooling effect sizes from studies. Do NOT use for: qualitative synthesis (use systematic-review); narrative review (use field-overview-review); 50-year history (use field-evolution-review); literature set without pooling (use literature-set-review); theory building (use theoretical-review). SR+MA combined: run systematic-review (L1-L8), then this (L9-L12).

- Skill: `o0000-code/meta-analysis` (Agent Skill, multi-file: 234 files)
- Install (CLI): `npx skillmds@latest add o0000-code/meta-analysis`
- Raw SKILL.md: https://api.skillmd.com/api/skills/o0000-code/meta-analysis/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- License: PolyForm-Noncommercial-1.0.0 AND CC-BY-NC-SA-4.0
- Author: o0000-code (https://skillmd.com/u/o0000-code)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/o0000-code/meta-analysis

---


# Meta-Analysis

定量元分析专用 Skill。在 systematic-review 完成 L1-L8 之后，从 **L9 起大幅扩展**为完整定量合并工作流。R 统计由 **Claude Code 在本地 R 环境直接执行 `Rscript`**（metafor 等），原始输出（`summary` / `warnings` / `sessionInfo`）入审计包、红灯由 R 算（不靠 LLM 读数字），图由内置 ma-plots 固定渲染器产出 forest / funnel / PRISMA / RoB（§13.2；样式底座 ssci-plots）。

> **快速入口**：第一可执行步骤见 §3 主 Agent 启动流程 + §4.2 L9.1 效应量提取。详细方法见 references/ + scripts/ + 底座 SSOT。

---

## 1. 触发与适用场景

### 1.1 触发短语

**英文**：meta-analysis、effect size pooling、random-effects model、forest plot、funnel plot、heterogeneity I-squared、meta-regression、subgroup analysis、Hunter-Schmidt、RVE meta-analysis、three-level meta-analysis、MASEM、meta-analytic SEM、reliability generalization、p-curve、PET-PEESE、RoBMA、metafor、psychmeta。

**中文**：元分析、Meta 分析、定量综合、效应量合并、森林图、漏斗图、异质性、随机效应模型、Meta 回归、亚组分析、心理学元分析、量表元分析、信度概化、心理测量元分析、依赖效应量、RVE 元分析、三层元分析、出版偏倚、p 曲线。

### 1.2 反向触发（不适用 / 切到其他 Skill）

| 用户场景 | 切到 |
|---|---|
| 只做检索/筛选/RoB（L1-L8），不做合并 | `systematic-review` |
| 只做定性证据综合（无效应量） | `systematic-review`（质性路径）或 `literature-set-review` |
| 已收集文献集，要写综述但不做合并 | `literature-set-review` |
| 叙述综述 / 范围综述 / 整合综述 | `field-overview-review` |
| 50 年/30 年的领域发展史综述 | `field-evolution-review` |
| 理论建构 / 构念分析 / 对立理论比较 | `theoretical-review` |
| MA 四件套图（forest / funnel / PRISMA / RoB）渲染 | 本 Skill 内置 ma-plots 渲染器（§13.2，**非切出**）|
| 非 MA 通用统计图渲染 | `ssci-plots` |

### 1.3 启用条件提示

- **心理学场景**（默认必读）：触发关键词含心理学构念、量表（BDI、SCL-90、Big Five 等）、APA 期刊、JARS、复制危机。同时加载 `SSOT-PSYCHOLOGY-SUPPLEMENTS.md`（含 8 议题）。
- **中文场景**：用户中文交流、提及《心理学报》《心理科学进展》、CNKI、GB/T 7714。同时加载 `SSOT-CHINESE-CONTEXT.md`。
- **网络元分析**：用户比较 ≥3 种治疗或提及 NMA / network meta-analysis。同时加载 `SSOT-SYNTHESIS-METHODS.md` §4。

---

## 2. 假设前提（L1-L8 已就绪）

本 Skill **假设 L1-L8 已就绪**：用户已通过 systematic-review 或自行完成研究问题构造、检索、筛选、提取、RoB（详见 §13.1 联合工作流）。如未完成 L1-L8，主 Agent 应建议先切到 systematic-review。

---

## 3. 主 Agent 角色与责任

**你是协调者、判断者、规划者，不是执行者。** 每个 SubAgent 必须使用当前可用的最强模型（与主 Agent 同级，不为省成本降级）；默认阻断；同消息内多 Agent 调用 = 并行。

### 3.1 主 Agent 必读（启动即必读 —— G5：启动足迹从 ≈72k 三件套砍到 ≤10k digest）

主 Agent 在 Skill 触发后**立即加载 `review-methodology-foundations/references/LAUNCH-DIGEST.md`（启动即必读，正文 ≤10k）**——它蒸馏了原"启动即必读三件套"（SSOT-LIFECYCLE-12-PHASES + SSOT-METHODOLOGY-TERMINOLOGY + SSOT-AI-FAILURE-DEFENSES，≈72k）的**全部载荷条款** + §1.2-18 前沿条款（Egger-MLMA 路由 / trim-and-fill 降级 / k<5 禁 RVE / I²>90% 禁池化）+ Cohen / k→限定语 / I² / GRADE / 学科×数据库 / 构念方向六张查表。读完这一份即掌握全流程载荷红线。

> **为什么改（G5）**：实战审计实测原三件套 66-72k"启动即必读"被跳过 2/3——从未打开；48k 最对口的 PSYCHOLOGY-SUPPLEMENTS 零人读。**被读率是主 Agent 派发 prompt 是否点名的函数，不是"必读"规定的函数**。故三层修复：①启动只读 ≤10k digest（真读）；②三件套 + 深层 SSOT 全文降级"按需下钻"（路径经 `SSOT-INDEX.md` 全库 resolver，见 §8）；③**关键载荷投放到 SubAgent 靠 `PROMPT-COPY-BLOCKS.md` 复制块（§6/§14 · 内容进 prompt 的构造性保证），不靠自觉去读深文件**。

**深层全文按需下钻（不在启动加载，resolver 定位）**：`SSOT-EFFECT-SIZE-DECISION`（L9.1 效应量 + §4.10 设计9 单组前后测）/ `SSOT-SYNTHESIS-METHODS`（L9.4/L9.5/L9.9 方法本体）/ `SSOT-PSYCHOLOGY-SUPPLEMENTS`（心理学 8 议题 + §2.1.1 CHE）/ `SSOT-AI-FAILURE-DEFENSES §8`（构念方向协议全文）——digest 给决策阈值，需公式推导 / 操作模板时按 resolver 路径下钻。

**MA 在 AI-FAILURE 的强防御项**（digest §2 已含核心，此处保留 MA 专属加强）：
- §2 效应夸大加强：除 Cohen 表外，加 Funder & Ozer 2019 严格标准（须显式声明用哪套）；CI 强制延伸到所有 subgroup / meta-regression 结果
- §3 置信幻觉加强：异质性 I² > 75% 强制不呈现合并效应；publication bias 必做清单 = funnel（contour-enhanced）+ 回归检验（Egger / Peters / Harbord，按效应量类型路由）+ 心理学补充 ≥ 1（p-curve / p-uniform* / PET-PEESE / selection models / RoBMA）；trim-and-fill 仅作敏感性分析（与 §4.2 L9.9 一致）

### 3.2 启动流程（第一可执行步骤指引）

派发顺序按 §4 工作流：
0. **MA 入口 preflight（关 BK-1）**：派 L9.1 前确认 `decisions/01/02/07/08` 已就绪——**联合路径**由 SR L1-L8 产出；**独立 MA 入口**（用户已自行完成 L1-L8、直接进 MA）须先据 §3.3"独立 MA 入口脚手架"从 `decisions_templates/` 拷模板填好这 4 档。**缺任一即阻断 L9.1**（不读决策档案直接执行违反 §3.3 强制必读）。
1. **L9.1 派发 Effect-Size-Extractor**（第一可执行步骤，见 §4.2）→ 每研究效应量 + SE
2. L9.2-L9.4 串行（校正 → 依赖 → 模型选择）
3. **L9.5 异质性先行**（其阻断信号决定 L9.6/L9.7 是否强制）→ L9.6/L9.7 可并行；**L9.8 敏感性须串行于 L9.5 之后**（leave-one-out / FE vs RE / τ² 估计器对照都依赖 L9.5 已定的模型基线，**不与 L9.5 并行**）
4. L9.9 单独跑（依赖前面结果）；L9.10 按需
5. L10 GRADE → L11 写作（含 Chart-Bridge ma-plots 渲染器，§13.2）→ L12 自评

### 3.3 跨阶段决策档案规则（强制）

主 Agent 在每阶段产出后将决策结论写入 `decisions/` 子目录（与本任务工作目录平级）。每个决策档案为独立 md 文件（YAML frontmatter + 正文，≤ 100 行/档），不复制 SSOT 内容。

**MA 决策档案目录结构**（与 SR 联合时复用 SR 的 01-08）：

```text
decisions/
  01_type_decision.md          # L1：含心理学场景判定（关键 — 决定 L11 加载 JARS-Quant）
  02_research_question.md      # L2：PICO + 效应量预设
  03_mode_decision.md          # L3：严格 vs 学习
  07_data_types.md             # L7：双人提取字段
  08_rob_tool_decision.md      # L8：RoB 工具
  09_synthesis_decision.md     # L9：FE/RE/RVE/三层/MASEM 选择 + k 阈值
  09.1_effect_size.md          # L9.1：效应量类型 + SE 反算
  09.4_model_selection.md      # L9.4：FE vs RE
  09.5_heterogeneity.md        # L9.5：I² / Q / τ² / 95% PI
  09.6_subgroup.md             # L9.6：k≥10 启用
  09.9_publication_bias.md     # L9.9：4+ 工具
  10_grade_decision.md         # L10
  11_reporting_standard.md     # L11：APA MARS Table 9 + PRISMA 2020 + 12 处差异
```

**独立 MA 入口决策档案脚手架（关 BK-1，必读）**：MA 第一可执行步骤 L9.1 **必读** `decisions/01/02/07/08`（§3.3 跨阶段强制必读 + decision-provenance §3），但这 4 档的生产者在 SR L1-L8。两条入口分别这样落地，**避免独立入口"必读却无人创建"而卡死**：

- **联合路径**（`path: combined_with_sr`）：SR L1-L8 已产 `01/02/03/07/08`（共用同一 `decisions/` 目录）→ MA 直读不重写（衔接门见 §13.1 N-4）。
- **独立 MA 入口**（`path: standalone`，用户已自行完成 L1-L8、直接进 MA）：主 Agent 在派 L9.1 **之前**，把用户已完成的 L1-L8 结论**落成 `01_type_decision.md`（含心理学判定）/ `02_research_question.md`（PICO + 效应量预设）/ `07_data_types.md`（数据类型 + 信度 + n）/ `08_rob_tool_decision.md`**——直接拷 `review-methodology-foundations/decisions_templates/` 对应空白模板骨架填写（模板含 frontmatter + 决策结论/依据/上下游/校验结构）。
- **结构性阻断门（非"prompt 提醒"）**：`01/02/07/08` 缺任一 → **preflight 阻断 L9.1**（视作"未读决策档案直接执行"）；不允许主 Agent 即兴补写无模板的决策档案，也不允许跳过这 4 档直接派 Extractor。

> `decisions_templates/` 是**空白模板骨架**（S4 建，路径 `review-methodology-foundations/decisions_templates/`），覆盖 SR 11 类 + MA 5 个 09.x 子阶段 + 监督产物 `04a/07a/09.x_audit`。它是"给 01/02/07/08 一个可拷的起点"，本身不是决策实例。

**跨阶段强制必读**：L9/L10/L11/L12 阶段的所有 SubAgent prompt 必含：

```markdown
**必读（决策档案）**：
- decisions/01_type_decision.md（含心理学判定 → L11 加载 JARS-Quant 的依据）
- decisions/02_research_question.md
- decisions/03_mode_decision.md
- decisions/07_data_types.md
- decisions/08_rob_tool_decision.md
- decisions/09*.md（按本阶段需要选 09.1/09.4/09.5 等）
- decisions/10_grade_decision.md（仅 L11/L12）
- decisions/11_reporting_standard.md（仅 L12）
```

> **追认①（G5 · 公理 8 好偏离追认）——规划文档=上下文容器**：实战中 SubAgent prompt 未逐档点名上列 decisions，而由主 Agent 用"每轮专属规划文档"承载上下文（内嵌决策档指针），效果更优。**此模式予以规范承认**：上列决策档必读可由"读本轮规划文档（规划文档内嵌所需 `decisions/*.md` 指针）"等价满足；构造性底线 = §6 派发复制块把关键决策载荷直接写进 SubAgent prompt（填空题），不依赖 SubAgent 自觉去开 decisions 档。**决策档案禁止自证式"`[ ] 已读 <文件>`"勾选**（G5 · R3 实测 decisions/01 虚假"[x] 已读"已发生、transcript 零访问）；"规定应读"改用模板 frontmatter `required_readings` 声明性机读字段（供未来审计），preflight `--gate readings` 一行 WARN 计数，差异表渲染延期 v2。

**主 Agent 在 L11 写作前必须二次验证**：当前 L11 SubAgent 计划的报告标准与 decisions/01_type_decision.md（含心理学判定）+ decisions/11_reporting_standard.md 一致。心理学场景必须叠加 JARS-Quant Table 9 在 PRISMA 2020 上。不一致即**阻断**。详见 `references/decision-provenance.md`。

### 3.4 必须亲自做 vs 必须外包

| 必须亲自做 | 必须外包给 SubAgent |
|---|---|
| 阅读用户需求 + 关键文件 | 任何 R 代码生成（按 §5 R 包路径选择 + 模板）|
| 决定是否走"SR L1-L8 + MA L9-L12"联合工作流 | 任何效应量提取/转换的具体执行 |
| 撰写规划文档（L9 子顺序、R 包、模型选择理由）| 任何模型拟合输出的解读 |
| 评估每轮 SubAgent 产出（计算正确性 / 模型合理性 / PB 稳健性）| 任何出版偏倚检验的具体执行与解读 |
| 与用户的关键沟通（数据格式确认、模型仲裁、最终交付）| 任何 APA MARS 报告章节的撰写 |
| 决策档案的写入与维护 | — |

### 3.5 不允许的妥协

- 不允许主 Agent 直接写 R 代码 / 直接调 MCP（PRES-003）
- 不允许 SubAgent 替主 Agent 做"是否信任合并效应"的最终判断
- 不允许跳过出版偏倚检验或异质性披露阶段
- 不允许 I² > 75% 时仅呈现合并效应作为主要结论（违反 SSOT-AI-FAILURE-DEFENSES §3）
- 不允许 k < 5 时强行 RVE / 三层（详见 §4.2 L9.3）
- 不允许 k < 10 时强行 publication bias 检验（详见 §11.5）

---

## 4. 完整工作流（12 阶段对齐）

按 12 阶段对齐（参见 `SSOT-LIFECYCLE-12-PHASES.md`）。MA 在 SR 基础上 L9 大幅扩展为 10 子阶段。

### 4.1 12 阶段总览（L1-L8 默认由 SR 完成）

| 阶段 | 关键产出 | 决策档案 | SSOT |
|---|---|---|---|
| L1 | 类型识别（含心理学判定）| 01_type_decision.md | SSOT-REVIEW-TYPES |
| L2 | PICO + 效应量预设 | 02_research_question.md | SSOT-PICO-FRAMEWORKS |
| L3 | 严格 vs 学习模式 | 03_mode_decision.md | SSOT-MODE-PROFILES |
| L4 | 检索（PsycINFO + ClinicalTrials.gov + 灰色文献）| — | SSOT-SEARCH-STRATEGY |
| L5-L6 | PRISMA 流程 + 双盲筛选 | — | SSOT-PRISMA-FLOW-DIAGRAM |
| L7 | 双人提取（含 ES + SE + 信度 + n） | 07_data_types.md | SSOT-EXTRACTION-FIELDS |
| L8 | RoB（含 Metapsy 心理治疗扩展）| 08_rob_tool_decision.md | SSOT-ROB-TOOL-MAPPING |
| **L9** | **定量合并（10 子阶段，本 Skill 核心）**| 09*.md | SSOT-SYNTHESIS-METHODS + SSOT-EFFECT-SIZE-DECISION |
| L10 | GRADE | 10_grade_decision.md | SSOT-GRADE-FRAMEWORK |
| L11 | APA MARS + PRISMA 2020 + ma-plots 渲染器产图（§13.2） | 11_reporting_standard.md | SSOT-REPORTING-STANDARDS |
| L12 | AMSTAR 2 自评 | — | SSOT-AMSTAR-2-CHECKLIST |

如果用户未完成 L1-L8，主 Agent 先建议切到 systematic-review。

### 4.2 L9：定量合并（10 子阶段，第一可执行步骤）

**L9.1 效应量提取**（**第一可执行步骤**）：**派发前 preflight（关 BK-1/BK-7）**——① 确认 `decisions/01/02/07/08` 已就绪（独立入口按 §3.3 脚手架先建、联合入口由 SR 产；缺则阻断）；② 联合路径必读 `decisions/09_synthesis_decision.md` 的切换结论（≠"推荐切 MA"则阻断，见 §13.1 N-4）。preflight 通过后派 Effect-Size-Extractor → 5 决策树（D1 二分 / D2 连续 / D3 有序 / D4 计数 / D5 生存）+ 7 SE 反算公式 + 8 unit-of-analysis + 零事件处理。详见 `references/L9.1-effect-size-extraction.md`。SSOT：`SSOT-EFFECT-SIZE-DECISION` §1-§5。

> **全文语料消费面（G6 · 外包交接包模式，治 A-Q6 头号 token 浪费）**：全文获取+转换若走 `fulltext_request_pack/` 外包（见 SR SKILL §4.2.6），Effect-Size-Extractor 与数值核对 SubAgent **默认消费 `02_全文MD/<id>/<id>.md`（MD）+ 按锚点回 `01_原始PDF/<id>.pdf` 关键页**（`p.N Table M` 粒度，`anchors.json` 派生）；**整本重读 PDF 降为例外**（这是实战最大 token 浪费=提取/核对 agent 整本读 PDF 4-6 遍的根治）。**关键数值/方向/M-SD-N 一律回 PDF 核对**（MD 为 OCR，可能有掉行/误差——如 proquest-0028 的 NED/PED 描述统计行 OCR 掉空，须回 PDF Table 2），提取结论附页/表锚点。全文语料回执须先过 `systematic-review/scripts/validate_fulltext.py` 质量门（MD 质量抽检抓 OCR 结构性掉行/元噪声）。

**L9.2 效应量校正**：派 Correction-Agent → Hedges' g 校正（默认 N < 60 关键，校正失败回退见 §11.6）+ Hunter-Schmidt artifact correction（仅心理学量表）。Bare-bones vs Psychometric 模式选择。详见 `references/L9.1-effect-size-extraction.md` §3 + `references/L9-psychology-special.md`。

**L9.3 依赖性处理**（k 阈值决策）：判断依赖性 → 选择方法。

| 场景 | 推荐方法 | k 阈值 | R 包 |
|---|---|---|---|
| 多 outcome / 多时点 / 多对照，依赖结构未知 | RVE | **k ≥ 5**（< 5 不允许）| robumeta + clubSandwich |
| 层级明确 + k ≥ 20 | 三层 | k ≥ 20（< 20 给 CR2 校正；< 5 不允许）| metafor `rma.mv()` |
| 多变量关系建模（中介/调节）| MASEM | k ≥ 10 | metaSEM |
| **k < 5** | **不允许 RVE / 三层** | — | **走单研究叙述 + sensitivity 单独报告**（A 级替代路径）|

派 Dependency-Agent。详见 `references/L9-psychology-special.md`。

**L9.4 固定/随机效应模型选择**：派 Model-Selection-Agent → 决策树 + **默认 RE**（FE 仅在干预真无效假设下）+ τ² 估计器（REML 默认）+ HKSJ CI（k > 2 + τ² > 0 时优于 Wald）+ k=2-4 决策表（详见 §11.4）。详见 `references/L9.4-fixed-random-models.md`。

> **默认 RE 模型的诚实披露**（L9.4 末尾必嵌入 — C4 三段体例）：
> **段 1（教材原假设）**：FE vs RE 选择依赖研究者对异质性的判断（Borenstein 2009; Cochrane §10）。
> **段 2（LLM 实现差异）**：本元分析默认采用 RE，FE 仅在干预真无效假设下使用。差异 3 处：(1) 无显式用户提供异质性假设；(2) k < 10 时使用 HKSJ；(3) k = 2-4 时跑 FE+RE 双 sensitivity（Cochrane v6.5 §10.10.4）。
> **段 3（缓解 + Limitations）**：报告 FE+RE 双结果；k ≥ 5 报 PI；心理学场景 + k < 5 报 PI 但显式标注"normal 假设不稳健"。在 Discussion 披露默认 RE 的方法学选择。

**L9.5 异质性检验**：派 Heterogeneity-Agent → Q + I² + τ² + 95% PI（k ≥ 5 必报；心理学必报）。**I² > 75% 不允许仅呈现合并效应**；**I² > 90% 完全禁止合并** + 强制 subgroup / meta-regression（详见 §11.5）。详见 `references/L9.5-heterogeneity.md`。

**L9.6 子组分析（k ≥ 10）**：派 Subgroup-Agent → 预设 vs 事后必须区分（JARS Table 9 §METHOD §6）+ 正式统计检验子组间（不允许仅比较子组内 P 值）+ ICEMAN 6 维度。详见 `references/L9.6-subgroup-metaregression.md`。

**L9.7 Meta-regression（k ≥ 10）**：派 Metaregression-Agent（与 L9.6 可并行）→ 每分类特征 ≥ 10 项观察 + 比率类用 log-transformed。详见 `references/L9.6-subgroup-metaregression.md`。

**L9.8 敏感性分析**：派 Sensitivity-Agent（**串行于 L9.5 之后**——leave-one-out / FE vs RE / τ² 估计器对照 / 排除高 RoB 复算都需要 L9.5 已定的模型基线，**不与 L9.5 并行**；与 L9.9 可并行）→ Leave-one-out + FE vs RE vs HKSJ + 不同 τ² 估计器 + 不同 effect measure + 排除高 RoB 复算。

**L9.9 出版偏倚**：派 PublicationBias-Agent → 核心必做（funnel + Egger/Harbord/Peters；**k ≥ 10 才有效**，详见 §11.5）；心理学补充 ≥ 1（p-curve / PET-PEESE / RoBMA / Selection models）。**依赖效应量（L9.3 判定三层/RVE）→ 发表偏差用 Egger-MLMA（`scripts/egger_mlma.R`），非单水平 Egger**；RoBMA 需 JAGS 默认不选（缺则降级 puni_star+PET-PEESE）。**Trim-and-fill 已被 Cochrane v6.5 降级**（仅作敏感性分析）。详见 `references/L9.9-publication-bias.md`。

**L9.10 MASEM（按需）**：仅中介/调节 SEM 综合启用。TSSEM / One-Stage MASEM。详见 `references/L9-psychology-special.md` §3。

### 4.3 L10：GRADE 证据等级

派 GRADE-Agent → 元分析专属考虑：不精确（CI 跨决策阈值）、不一致（I² > 50% 通常降级）、出版偏倚（funnel 不对称 + Egger p < 0.10 降级）+ 结合 RoB 2 / ROBINS-I。SSOT：`SSOT-GRADE-FRAMEWORK`。

### 4.4 L11：报告（APA MARS Table 9 + PRISMA 2020 + 产图（§13.2 渲染器））

派 Write-Agent（短稿 2-2-1 备份法 / 长稿分章变体见下追认②）+ 报告标准核对 SubAgent。

> **追认②（G5 · 公理 8 好偏离追认）——L11 分章 writer 变体 + 章间交叉互评**：实战 L11（15k 词长稿）弃用 2-2-1 双稿备份法，改用 4 分章 writer（Intro / Methods / Results / Discussion 各一 SubAgent 并行起草）+ 集成 + 终稿修正，产出质量高、并行更快。**规范承认"分章制"为长稿（≥12k 词）的合法变体**，前提是补回被 2-2-1 丢掉的对撞检查点：分章起草后**必须做 (a) 章间交叉互评**（每章 writer 交叉审邻章的接口一致性 / 术语统一 / 前后呼应）**+ (b) 集成一致性核对**（Results↔Methods↔Abstract 的数字与载荷性主张逐一勾稽）——以此替代 2-2-1 的双稿对撞，**不得省略对撞环节**。短稿（<12k 词）仍用 2-2-1。两法均须过 SP6 claims-vs-data + SP7 引用终审（§9.1 / `references/L11-mars-reporting.md §8`）。

- **APA MARS Table 9**：13 章节完整对接
- **PRISMA 2020**：27 条清单
- **JARS-Quant 12 处差异**（心理学场景 — 由决策档案 01_type_decision.md 心理学判定触发）：预先/事后假设分组、心理测量学特征、构念效度、测量误差伪迹、moderator vs subgroup、效应量+CI 强制、Hedges 校正、Bayesian 先验、统计代码位置、不利效应章节
- **产图 = 内置 ma-plots 固定渲染器四命令**（§13.2 三步硬契约 + labels 机械同源纪律；卫星四元组见 §13.4）：forest plot、funnel plot（contour-enhanced）、PRISMA 流程图、RoB 图；SoF 表 = md 表格（L10 产出，非渲染器职责）

详见 `references/L11-mars-reporting.md`。SSOT：`SSOT-REPORTING-STANDARDS` §1.3.1 + §3。

### 4.5 L12：自评（AMSTAR 2 元分析维度）

派 Self-Assessment Agent → AMSTAR 2 16 项 + 7 关键域。SSOT：`SSOT-AMSTAR-2-CHECKLIST`。

---

## 5. R 包路径（按议题映射）

| 议题 | 主 R 包 | 代码模板 |
|---|---|---|
| 标准元分析（FE/RE）| metafor | `scripts/metafor_basic.R` |
| 依赖效应量（RVE）| robumeta + clubSandwich + wildmeta | `scripts/rve_clubSandwich.R` |
| 依赖效应量发表偏差（Egger-MLMA）| metafor rma.mv / robumeta+clubSandwich | `scripts/egger_mlma.R` |
| 三层元分析 | metafor `rma.mv()` | `scripts/metafor_basic.R`（含 rma.mv 块）|
| 心理测量（Hunter-Schmidt）| psychmeta | `scripts/psychmeta_hunter_schmidt.R` |
| MASEM | metaSEM（+ OpenMx / lavaan）| `scripts/metaSEM_masem.R` |
| p-curve / p-uniform | puniform · dmetar::pcurve | `scripts/puniform_pcurve.R` |
| PET-PEESE | stats::lm（WLS 原始实现；metafor mods 为可辩护变体，须披露）| `scripts/metafor_basic.R` §11 + `references/L9-r-code-templates.md` §8 |
| Selection models | weightr | （示例代码）|
| RoBMA | RoBMA | 需 JAGS 系统库（运行时检测缺失时）→ 默认不选，降级 puni_star + PET-PEESE（见 §11.2 / L9.9 §4.3）|
| 贝叶斯元分析 | brms · rstanarm · bayesmeta | （高级，按需）|

**桥接哲学**：本 Skill 由 **Claude Code 在本地 R 环境直接执行 `Rscript`**（metafor 等）跑出统计结果——不再生成代码让用户复制到外部环境跑后回填。`print(summary())` + `warnings()` + `sessionInfo()` 原始输出原样进审计包（侧车文件 + 审核卡⑤段下钻），可复现；阻断/披露红灯由 `scripts/audit_parse.R` 从 `rma` 对象字段直接算出 flag JSON，不靠 LLM 读 summary 文本。保留的原则内核：不编造统计结果、人在签核点担责、可复现。详见 `references/L9-r-code-templates.md`。

> **LLM 介导本地执行工作流的诚实披露**（嵌入 `references/L9-r-code-templates.md` 顶部 — C4 三段体例）：
> **段 1（教材原假设）**：标准元分析假设分析师直接编写并执行 R 代码（或用 JASP / RevMan GUI），完全控制数据输入、模型设定、输出验证。
> **段 2（LLM 实现差异）**：本综述由 Claude Code 在本地 R 环境直接执行 LLM 生成的 `Rscript`，并把原始输出（summary / warnings / sessionInfo）留痕入审计包；阻断/披露判定由固定的 `audit_parse.R` 从 rma 对象字段算出，不靠 LLM 解读输出文本。这消除了"复制粘贴回填 / 预期与实际数据格式错配"那一类旧风险。**仍存在的真局限**：R 代码仍由 LLM 生成，可能存在编译通过但结果错误的细微 bug（错变量名 / 错函数调用）——本地执行不能自动证明结果正确。
> **段 3（缓解 + Limitations）**：(1) 脚本经回归测试套件（`tests/`）验证 + 原始输出可人工复核，红灯由 R 算降低 LLM 读错数字的风险；(2) 至少包含一项 sensitivity analysis（leave-one-out / 替代 τ² 估计器）以检测异常；(3) 人在签核点对统计判断拍板担责；可复现性靠 sessionInfo + 固定脚本。在 Discussion/Limitations 仍应披露"统计由 LLM 介导的本地自动化工作流完成"是方法学特征。

详见 `references/L9-r-code-templates.md`。

---

## 6. 派发 SubAgent 复制块（填空题投放，非选择题加载 —— G5 主方案）

**机制（治实战病根）**：实测一个 reference 文件被不被读，100% 取决于主 Agent 派发 prompt 是否点名它——没被点名的没人自发读。故本表不再是"何时去加载 X"（**选择题**），而是"**派发某阶段 SubAgent 时，把该阶段复制块整段贴进 SubAgent 的 prompt**"（**填空题**=关键载荷进 prompt，SubAgent 读不读深文件不再决定成败）。复制块全文见 `review-methodology-foundations/references/PROMPT-COPY-BLOCKS.md`；**每次派发前置其 §A 共享底座块**（四铁律 + 引用防御 + Cohen 表 + 构念方向协议 + k→限定语，同 `LAUNCH-DIGEST.md` §0/§2/§3）。深文件全文按需下钻，路径经 §8 的 `SSOT-INDEX.md` 全库 resolver（治两次 wrong-path）。

| 阶段·角色 | 复制块 | 该阶段最高危载荷（一句；全条款在复制块内） |
|---|---|---|
| L9.1 Effect-Size-Extractor | COPY-BLOCKS §B·L9.1 | 5 决策树×7 SE 反算；连续默认 Hedges' g；单组前后测走设计9（SMCR 同池/SMCC 不同池、ri 四级、1−ICC 逆序） |
| L9.2 Correction-Agent | §B·L9.2 | Hedges' g 默认；H-S artifact 校正仅心理学量表；无信度→不校正+披露 |
| L9.3 Dependency-Agent | §B·L9.3 | **k<5 禁 RVE/三层**；RVE k≥5、三层 k≥20、MASEM k≥10；CHE rho=0.6+CR2(<40) |
| L9.4 Model-Selection-Agent | §B·L9.4 | 默认 RE；REML+HKSJ(τ²>0,k>2)；k=2-4 FE+RE 双 sensitivity；k≥5 必报 PI |
| L9.5 Heterogeneity-Agent | §B·L9.5 | 4 指标全报；**I²>75% 不呈现合并、I²>90% 禁池化**+强制 subgroup/meta-reg |
| L9.6/9.7 Subgroup/Metaregression | §B·L9.6 | k≥10 才做；预设 vs 事后必区分；正式统计检验子组间（禁只比子组内 P） |
| L9.8 Sensitivity-Agent | §B·L9.8 | 串行于 L9.5 后；leave-one-out+FE/RE+τ²+排高 RoB；方向 unresolvable 双向敏感性 |
| L9.9 PublicationBias-Agent | §B·L9.9 | **依赖效应量→Egger-MLMA 强制路由（禁单水平），全契约 L9.9:82-129**；trim-fill 仅敏感性；k<10 不跑 |
| L10 GRADE-Agent | §B·L10 | **`L10-grade.md` 住 SR 不住 MA**；"研究数少"≠imprecision（用 OIS）；升级前先 5 降级 |
| L11 Write-Agent | §B·L11 | MARS/JARS 12 差异；每 ES 配 CI；长稿分章 writer+**章间交叉互评**（追认2，§4.4） |
| 任何 Review-Agent 前 | `references/quality-control.md` | 四铁律 + AI 失败防御 4 类对接 |
| 写/查决策档案 | `references/decision-provenance.md` + COPY-BLOCKS §D | 规划文档=上下文容器（追认1，§3.3）；09.x_audit 卡替代 09.x 决策档（追认3，§12.2） |

> R 代码生成 SubAgent 另读 `references/L9-r-code-templates.md`（Chart-Bridge + 诚实披露）。`subagent-templates.md` = 各角色 6 段完整模板（on-demand 深潜；复制块 = 其"必读段"的即用压缩，主 Agent 无需先开模板即可派发）。

---

## 7. 字数控制

字数公式、矩阵与调整因子详见 `SSOT-WORDCOUNT-RULES.md` §3.1（综述类型 × 文献规模矩阵第 5 行：元分析）+ §3.3（调整因子）+ §3.4.5（元分析特殊条款）+ §4（字数纪律）。本节不复制 SSOT 数字。

### 7.1 默认与三种确认模式

- **默认字数**：14,000 字（参见 SSOT-WORDCOUNT-RULES §2.2 元分析行）
- **下限**：参见 SSOT §3.2 元分析行；元分析含完整的 forest plot / funnel plot / 异质性诊断 / 出版偏倚多重检验 / GRADE SoF / R 代码与运行环境，结构组件最密集

三种确认模式（参见 SSOT §5）：
- 模式 A：用户已指定具体字数 → 直接采用
- 模式 B：用户未指定 → 按 SSOT §2.2 默认 14,000 字 + 一句通知 + 不阻塞
- 模式 C：用户选"自适应" → L8 完成后按 SSOT §3.1 矩阵 + §3.3 调整因子 + §3.4.5 元分析特殊条款估算

### 7.2 元分析特殊条款（参见 SSOT §3.4.5）

按 SSOT §3.3 调整因子取值：
- 完整元分析（含 forest + funnel + Egger/Harbord + 至少 1 项心理学补充 PB）：+30%
- ≥ 3 个森林图（多 outcome / 子组对照 / sensitivity）：+20%
- Hedges' g 校正、Hunter-Schmidt、RVE / 三层 / MASEM 等：每议题 +10%
- HKSJ + 95% PI + Bayesian 替代分析：+10%

### 7.3 字数纪律（PRES-006 + SSOT §4）

不硬凑 / 不铺陈 / 质量优先（详细定义参见 SSOT §4）。

启动阶段确认：在 L1（类型识别）后、L2（PICO + 效应量预设）前向用户确认字数目标。字数严重不匹配时按 §11.7 决策。

---

## 8. 何时加载底座 SSOT（路径权威 = 全库 resolver）

> **路径唯一权威 = `review-methodology-foundations/references/SSOT-INDEX.md`（全库 file-resolver）**：阶段/关键词 → 唯一正确路径，覆盖三 skill 全部 references（治两次实战 wrong-path，尤 `L10-grade.md`/`L11-prisma-reporting.md`/`L12-amstar2.md` **住 systematic-review 却被 MA 阶段编号引用**——resolver §B 跨 skill 陷阱表专列）。下表给"哪个阶段吃哪个 SSOT 的载荷"，**全文按需下钻时用 resolver 解析路径**，不凭阶段编号直觉猜路径。

| 何时加载（具体决策动作粒度）| 加载 SSOT |
|---|---|
| 主 Agent 启动后立即必读（不等触发表）| **`LAUNCH-DIGEST.md`（≤10k 启动即必读，蒸馏三件套全部载荷 + 前沿条款六表）**；三件套全文（AI-FAILURE / LIFECYCLE / TERMINOLOGY）降级为按需下钻 |
| 当主 Agent 在 L1 需要确认综述类型时 | `SSOT-REVIEW-TYPES` |
| 当主 Agent 在 L2 需要选 PICO 框架时 | `SSOT-PICO-FRAMEWORKS` |
| 当主 Agent 在 L9.1 需要做效应量类型决策（连续/二分/相关 + 标准化）+ SE 反算时 | `SSOT-EFFECT-SIZE-DECISION` §1-§5 |
| 当主 Agent 在 L9.4-L9.10 需要做综合方法（FE/RE、I²、出版偏倚）决策时 | `SSOT-SYNTHESIS-METHODS` §3-§10 |
| 当心理学场景触发（L9.2 校正 / L9.3 依赖 / L9.10 MASEM / L9.9 PB 心理学补充 / 复制危机）| `SSOT-PSYCHOLOGY-SUPPLEMENTS` §2 8 议题 |
| 当主 Agent 在 L8 需要按设计选 RoB 工具（含 Metapsy 心理治疗扩展）时 | `SSOT-ROB-TOOL-MAPPING` |
| 当主 Agent 在 L10 启用 GRADE 时 | `SSOT-GRADE-FRAMEWORK` |
| 当主 Agent 在 L11 写作前需要确定报告标准（APA MARS Table 9 + PRISMA 2020 + 12 处差异）时 | `SSOT-REPORTING-STANDARDS` §1.3.1 + §3 |
| 当主 Agent 在 L11 写作 PRISMA 流程图 / PRISMA-S 时 | `SSOT-PRISMA-FLOW-DIAGRAM` + `SSOT-PRISMA-S-TEMPLATE` |
| 当主 Agent 在 L7 需要确定提取字段时 | `SSOT-EXTRACTION-FIELDS` |
| 当主 Agent 在 L12 自评时 | `SSOT-AMSTAR-2-CHECKLIST` |
| 当中文场景触发（CNKI / GB/T 7714 / 中文心理学三大期刊）| `SSOT-CHINESE-CONTEXT` |
| 当主 Agent 在 L3 需要决定严格 vs 学习模式时 | `SSOT-MODE-PROFILES` |
| 当主 Agent 在 L1 / L11 需要确定字数公式时 | `SSOT-WORDCOUNT-RULES` |

底座 SSOT 路径前缀：`review-methodology-foundations/references/`（跨 skill 文件按 `SSOT-INDEX.md` resolver 解析，勿凭阶段编号猜前缀）。本 Skill **引用而不复制粘贴**；关键载荷经 §6 复制块 + `LAUNCH-DIGEST` 投放，不靠"按需自觉去读"。

---

## 9. 严格 / 学习 / 监督模式

参见 `SSOT-MODE-PROFILES.md` v2.0.0（元分析子集 §4.5 + 三模式定义 §1）。

- **严格模式**（顶刊投稿）：12 阶段全覆盖；APA MARS Table 9 全 13 章节合规；GRADE + AMSTAR 2 自评 ≥ Moderate；预注册必须；至少 2 项出版偏倚检验；HKSJ CI；95% PI 必报。
- **学习模式**（课程作业）：保留 L1-L2-L9.1/L9.4/L9.5/L9.9-L11 核心；可跳过 L9.7 / L9.10 / L12；必须显式声明简化点（"Method Limitations"）。
- **监督模式**（AI 初编 + 人逐点把关达发表级 —— 本项目默认目标模式）：方法学完整度与严格模式相同（发表级，不降级），区别在于人不只"最后验收一次"，而是在 **7 个不可逆点逐一签字把关**（详见 SSOT §1.4）。

**学习模式不允许跳过 L9.5（异质性披露）和 L9.9（核心出版偏倚）—— 这是元分析的科学合理性骨架**。

学习模式简化点的诚实披露按 C4 三段体例（应用 SR L6 §6.1 范本，详见 `references/L11-mars-reporting.md` §"学习模式披露原文"）。

### 9.1 监督模式（Supervised Mode）

**一句话**：AI 把粗活干完（检索、双盲筛选、双人提取、跑 R、出图、初稿），人只在机器判不了的 7 个关键节点拍板——方法学和严格模式一样完整，但每个不可逆的决策都有人亲自签字担责。定义见 `SSOT-MODE-PROFILES.md` §1.4。

**什么时候选它**：教授/导师要的"AI 初编、人 check、确保不出错、达发表级"——既不放心让 AI 全自动一路跑过关键判断（那是严格模式的全自动假设），又不能用课程级的随机抽查（达不到发表级）。一个研究者 + AI 协作产出可投稿的元分析、但要对每个关键判断亲自把关时，选监督模式。

**它和严格模式差在哪**：方法学完整度一模一样（都是发表级 Tier 1 全覆盖），唯一区别是**把"最后人验收一次"换成"7 个不可逆点各审一次"**。这 7 个点（元分析侧主要落在 L7 提取校准/低置信、L9 模型+异质性、L9.6/9.9 解读+发表偏差、L11 引用终审）每点产一张为它定制的审核卡，人看卡拍板"接受还是打回"。

**为什么是"真门"而不是"提醒一下"**：每个签核点的裁决落进 `decisions/` 对应文件的 `user_signoff` 标记。下游阶段启动前由 preflight 脚本读它——**没签字 / pending / 打回 → 脚本退出码 ≠ 0，下游根本启动不了**。同时红灯由 R 算（不是 AI 读 summary）、可复现性硬检查（缺 sessionInfo / 退出码 ≠ 0 / 红灯 / κ 太低 / 种子召回不足）先于人审直接阻断。**7 门的运行时操作契约（每门触发时机、产物路径、preflight 命令、缺签阻断哪个下游、硬检查、审核面上限）见 `review-methodology-foundations/references/SUPERVISED-MODE-GATES.md`。**

**签核体验（G1 vNext，2026-07-03 · 两段式）**：监督模式 = **运行中知情确认 + 事后审核包独立走查**。运行中的门是心流优先的知情确认（Agent 推荐+理由+后果+可下钻+可打回，保留「(推荐)」预标——它是 Agent 基于你不掌握的知识给的知情建议）；真正的独立人类审核在事后署名人审核包（L12.5）。**卡/gate 合一**：唯一人面审核文档 = `decisions/` 下 gate markdown（六段骨架 a-f），HTML 卡为可选增强。每门判断点由**结构化决策块**单一源头驱动，gate(e)段与 AskUserQuestion 题面双渲染同源、`question_hash` 锁；`signoff_ask.py` 是唯一合规提问/回填通道（**agent 不许手写 signed、不许手打题面**）。preflight 除签核/红灯外，additive 强制：同源 hash / 判断点引用的图表文件必存在 / 叙事不与数字矛盾 / 三字段机读披露。**L9.9 发表偏差卡渲染必带 `--funnel <真实存在的图>`**（图物理存在才配问「看漏斗图」）。完整机制见 `review-methodology-foundations/references/SUPERVISED-MODE-GATES.md` §0.5。

**平衡（两边都不过拟合）**：不处处拦人审——绿档字段免审、双盲一致项自动放行、统计无红灯则该点无人审队列、可逆中间产物不设门；也不放任 AI 跑过关键判断——7 个不可逆冻结点、双提取分歧/低置信/关键数值/红档字段必审。每个签核点待审条数设上限，超限收紧上游过滤而非把长清单甩给人。**运行中不做负样本注入、不加考验人的摩擦**（独立判断在事后审核包，非运行中）。

**披露**：监督模式产出须披露"哪些步 AI 做、人在 7 签核点各审了什么"（RAISE：人类监督 + 透明披露 + 最终责任在人）。**披露强度由签核事实机读生成、单调不超过事实**（`presented_via`/`evidence_opened`/签字页状态 → 措辞映射，语义用 attestation）——两段式如实写作：`in-run informed confirmations with drill-down access + post-hoc independent audit via structured audit package`，不由 agent 措辞自定。详见 SSOT §6.6。

> **负责任使用（单一 SSOT）**：监督模式的立场、两段式监督模型、7 门与诚实边界的完整表述见发布仓根 `RESPONSIBLE_USE.md`——核心：AI 初编 + 人在 7 门签核 + 署名人负全责；运行中=知情确认（非独立判断），事后审核包=真正的独立人类审核；披露强度机读生成、单调不超过事实；不支持无人审核的自动投稿。

---

## 10. 心理学场景与中文场景的特殊处理

### 10.1 心理学场景（默认必读 — 由 decisions/01_type_decision.md 心理学判定触发）

触发判定：按 `SSOT-PSYCHOLOGY-SUPPLEMENTS.md §0.4` 4 类信号清单（APA 期刊 / 量表名 / 心理学构念 / 复制危机 + JARS 关键词）扫描，任 1 类命中即触发；判定结果（yes/no/boundary）写入 `decisions/01_type_decision.md` 心理学判定字段（决定 L11 是否叠加 JARS-Quant + L9.x 是否启用 8 议题）。

参见 `SSOT-PSYCHOLOGY-SUPPLEMENTS.md` §2 心理学元分析 8 议题：

1. **RVE**（依赖效应量未知结构，k ≥ 5）→ robumeta + clubSandwich
2. **Three-Level**（层级明确，k ≥ 20）→ metafor rma.mv
3. **MASEM**（多变量 SEM 综合，k ≥ 10）→ metaSEM
4. **Hunter-Schmidt**（信度衰减校正，仅心理学量表）→ psychmeta
5. **Reliability Generalization**（信度本身是综述对象）→ psychmeta + REGEMA
6. **p-curve / p-uniform***（evidential value 诊断，k_significant ≥ 5）→ puniform / dmetar::pcurve
7. **PET-PEESE**（校正后效应量估计，k ≥ 10）→ metafor mods
8. **RoBMA**（贝叶斯加权综合）→ RoBMA（需 JAGS，运行时缺失→默认不选/降级 puni_star+PET-PEESE）。**依赖效应量场景（L9.3 判定三层/RVE）发表偏差用 Egger-MLMA（`scripts/egger_mlma.R`），非单水平检验**

**心理学元分析必报清单**（在标准 Cochrane 元分析报告之外）：
- 95% prediction interval（异质性更大，必报；k < 5 + 心理学场景仍报但显式标注"normal 假设不稳健"，详见 §11.5）
- 依赖效应量处理（RVE / 三层）
- Attenuation correction（如适用）
- p-curve / p-uniform 诊断
- PET-PEESE 敏感性
- RoBMA 贝叶斯综合（如可用；需 JAGS，运行时缺失→默认不选/降级 puni_star+PET-PEESE）
- 预注册声明 + ITT 报告

详见 `references/L9-psychology-special.md`。

### 10.2 中文场景

参见 `SSOT-CHINESE-CONTEXT.md`。

- **CNKI / 万方 / VIP** 检索（覆盖中文研究）：用户在 L4 应同时检索这些库
- **中英文术语对照**："元分析" / "Meta 分析" / "森林图" / "异质性" / "随机效应模型" / "亚组分析" / "信度概化"
- **GB/T 7714-2015 引用格式**（中文期刊投稿）
- **《心理学报》《心理科学进展》**：要求与 APA MARS 类似但语言中文 + GB/T 7714；Open Science 政策（预注册声明、数据共享）
- 中文场景 L11 输出：中文报告 + 中文 forest plot 标签
- **中文检索回退**：检索主路径 = `paper-search-pro`（HTTP，无 MCP）；OpenAlex/SS/CrossRef/PubMed 对中文覆盖有限 → 0 命中时主 Agent 引导用户人工导出 CNKI/万方题录 → `ingest_search_exports.py` 摄入；详见 §11.1

---

## 11. 故障诊断与回退

> 本章节按"诊断信号 + 阈值 + 回退路径"三件套组织。故障切换决策写入 decisions/<阶段>_failure_switch.md。

### 11.1 检索主路径与回退（含中文场景）

> **检索主路径 = `paper-search-pro` Skill**（OpenAlex / Semantic Scholar / CrossRef / PubMed 均走 HTTP API，需在环境中配置对应 API key，无需任何 MCP server）。**若运行环境未提供** `semantic-scholar` / `openalex` MCP server（常见默认情况）——因此故障诊断信号以"`paper-search-pro` 检索结果异常"为准，**不**以"SS/OpenAlex MCP 报错"为准（该环境下这类报错不会出现）。**中文检索**因 OpenAlex/SS/CrossRef/PubMed 覆盖中文文献有限，主路径 = 用户人工导出 CNKI/万方 → `systematic-review/scripts/ingest_search_exports.py` 摄入。

| 故障信号 | 阈值 / 触发条件 | 回退路径 |
|---|---|---|
| 英文检索 0 命中 / 召回过低 | 关键词为英文，`paper-search-pro` 命中明显不足 | 扩展同义词 / 放宽布尔逻辑重检；跨源交叉（OpenAlex↔CrossRef↔PubMed）补召回 |
| 中文检索经 `paper-search-pro` 0 命中 | 0 命中 + 关键词为中文 | (a) 用户人工导出 CNKI / 万方 / VIP 题录 → `ingest_search_exports.py` 摄入统一字段；(b) 已有文献集时转 `literature-set-review`。**SubAgent 不擅自降级英文检索代替中文检索** |
| 检索整体不可用（HTTP 持续失败 / 网络受限 / key 失效）| 持续失败 ≥ 3 次 | 阻断 + 警示用户 + 主 Agent **不强行降级到本地推理凭记忆编造文献**；引导用户人工导出题录后走 `ingest_search_exports.py` |
| 检索元数据不完整（abstract 缺失 ≥ 50%）| 缺失率 ≥ 0.5 | (a) 派 `firecrawl-abstract` Skill 补抽（见下注降级路径）；(b) 退回扩展同义词重检 |

> **`firecrawl-abstract` 降级注**：**若运行环境无 `semantic-scholar` MCP server** → 该 Skill 的 `paper_details`（Semantic Scholar API / SS 法）通道**不可用**；默认走 **Firecrawl Scrape / Firecrawl Extract 两法**（Firecrawl key 在场可用），按 DOI / URL 抓取并解析摘要。

### 11.2 R 包不可用回退（MA 专属）

| 故障信号 | 触发条件 | 回退路径 |
|---|---|---|
| `metafor` 不可用 | `library(metafor)` 报错 | (a) 提示 `install.packages("metafor")`；(b) 给 Python `statsmodels` 等价代码（仅基础 RE）；(c) 警示替代方法的解读差异（statsmodels 不实现 HKSJ）|
| `puniform` 不可用 | 报错 | 给 `dmetar::pcurve` 替代；或 R 代码模板让用户安装 |
| `robumeta` / `clubSandwich` 不可用（RVE）| 报错 | 提示安装；或转单研究叙述（k 不足时）|
| `metaSEM` / `psychmeta` 不可用 | 报错 | 提示安装；或转 Hunter-Schmidt 手算模板 |
| RoBMA / JAGS 不可用 | jags_ok=FALSE（`Sys.which("jags")=""` 或 RoBMA/rjags 缺）| 自动降级 puni_star + PET-PEESE（无需 JAGS）；披露"因缺 JAGS 未执行 RoBMA"，不写"已通过" |
| 完全无 R 环境 | 用户声明无 R | (a) 转手算模板（基础 RE / FE）；(b) Python statsmodels + scipy.stats 等价基础代码；(c) **阻断高级方法**（RVE / 三层 / MASEM 不允许）|

**R 包替代方法的诚实披露**（C4 三段体例，必嵌入 Limitations）：

> **段 1**：原方法假设使用 `metafor`（Viechtbauer 2010）+ HKSJ 小样本调整。
> **段 2**：本元分析使用 Python `statsmodels` 因 R 不可用。差异：(1) HKSJ 未实现，使用标准 Wald CI（k 小时低估不确定性）；(2) τ² 估计器仅 DerSimonian-Laird；(3) Cochran's Q 计算同 metafor。
> **段 3**：通过 leave-one-out 与 PI 报告缓解差异 1；在 Discussion 披露此局限。

### 11.3 检索回报极端值（如 MA 接 SR L4）

| 场景 | 阈值 | 决策 |
|---|---|---|
| `identify_count > 10000` | 10000 | 强烈建议降级（PICO 扩窄 / 切到 FO）|
| `identify_count > 50000` | 50000 | **强制降级**（不允许继续作为 SR/MA）|
| `identify_count < 5` | 5 | 阻塞 + 切到 LS 或扩展 PICO |
| `identify_count` 在 5-20 之间 | 区间 | 警示 + 询问用户是否扩展 PICO 或转 LS |

### 11.4 数据严重不足 — k=2-4 决策表（核心）

应用 W5_FIX_PLAN F.P0.5 + Cochrane v6.5 §10.10.4：

| k 值 | 决策 | 详细处理 |
|---|---|---|
| **k = 1** | 不元分析 | 无法合并，单研究叙述 |
| **k = 2** | **不元分析** | 转 SWiM/Popay；标注"k 不足以合并"；如必须给数值，仅报每研究效应 + CI |
| **k = 3** | 元分析允许但谨慎 | FE+RE 双跑 + Discussion 显式 "k 不足"局限段 + sensitivity（leave-one-out）|
| **k = 4** | 同 k=3 + PI 警示 | FE+RE 双跑 + sensitivity + 报 PI 但显式标注"normal 假设不稳健"|
| **k ≥ 5** | 默认 RE | REML + HKSJ（k > 2 + τ² > 0）+ 必报 95% PI |

**心理学场景特别约束**：心理学场景 + k < 5 → 仍报 PI 但显式标注"normal 假设不稳健"（应用 W5_FIX_PLAN F.P1.3）；非心理学 + k < 5 → 不报 PI，给 sensitivity 分析。

### 11.5 异质性极端 / 综合失败

| 场景 | 阈值 | 决策 |
|---|---|---|
| `I² > 75%` | 75% | 不允许仅呈现合并效应；改用 subgroup / meta-regression（Cochrane v6.5 Ch.10）|
| `I² > 90%` | 90% | **完全禁止合并** + 必须 subgroup / meta-regression / SWiM（W5_FIX_PLAN F.P1.4）|
| `k < 5` 异质性高 | k 阈值 | 不元分析，转 SWiM/Popay；或叙述综合 |
| **k < 10 时出版偏倚检验不可用** | 10 | Egger / Harbord / Peters 在 k < 10 时低功效 → **不报检验结果**；改给定性披露"由于研究数 < 10，未做 publication bias 检验"+ 在 Discussion 披露 |

### 11.6 校正失败 / 应用判断

| 故障 | 决策（应用 W5_FIX_PLAN F.P1.5 Correction-Agent 决策表）|
|---|---|
| Hedges' g J 因子计算失败（degrees of freedom 不可获取）| 退回 Cohen's d + 标注"未做小样本校正"|
| Hunter-Schmidt：构念测量误差是否报告 | 已报告 → 应用 artifact correction |
| Hunter-Schmidt：多研究信度/范围限制不齐全 | 文献级抽样校正 + sensitivity（不校正版本作 baseline）|
| Hunter-Schmidt：语料无信度数据 | **不校正** + 显式披露"无信度数据，不应用 H-S 校正" |

### 11.7 字数严重不匹配（引用 SSOT-WORDCOUNT-RULES §8）

| 偏差 | 决策 |
|---|---|
| 偏差 ≥ 30% | 报告用户 + 建议调整（写作完成后）|
| 偏差 ≥ 50% | **强制调整**或转 Skill |

---

## 12. 输出格式与文件命名

### 12.1 标准交付物清单（你产出什么）

- **完整定量元分析报告**（按 APA MARS / JARS-Quant Table 9 + PRISMA 2020）
- **效应量提取与计算**（5 决策树 + 7 SE 反算 + Hedges' g / Hunter-Schmidt 校正）
- **模型选择与合并**（FE / RE / RVE / 三层 / MASEM）
- **异质性披露**（I²/Q/τ²/95% PI 必报；I² > 75% 不允许仅呈现合并效应）
- **子组分析与 meta-regression**（k ≥ 10 + ICEMAN 6 维 + 预设 vs 事后区分）
- **出版偏倚检验**（funnel + Egger/Harbord + 至少 1 项心理学补充：p-curve / PET-PEESE / RoBMA / selection models；k ≥ 10）
- **可运行 R 代码**（metafor / robumeta / clubSandwich / psychmeta / metaSEM / puniform / RoBMA（需 JAGS，默认不选））
- **GRADE 证据等级**（含元分析专属考虑：异质性、不精确、出版偏倚降级）
- **固定渲染器产图**（forest / funnel / PRISMA / RoB 四件套 = 内置 ma-plots 渲染器固定命令 + QC 门，§13.2/§13.4；SoF 表 = md 表格，L10 产出）
- **交付清单 manifest**（`00_交付清单_manifest.md`，五节模板 `references/delivery-manifest-template.md`，§12.4）
- **投稿四件**（投稿 docx / 投稿 PDF man / 发表预览 PDF jou / 干净 md —— manuscript-typeset **默认产出，不待用户追加**；§12.4 步骤③ + §13.4）
- **决策档案**（decisions/ 子目录 — 跨阶段一致性保障）

### 12.2 决策档案目录（与本任务工作目录平级）

```
decisions/
  01_type_decision.md ... 11_reporting_standard.md
  09.1_effect_size.md / 09.4_model_selection.md / 09.5_heterogeneity.md / 09.6_subgroup.md / 09.9_publication_bias.md
```

> **追认③（G5 · 公理 8 好偏离追认）——audit 卡替代 09.4/09.5 决策档 · 档名消歧**：实战未单建 `09.4_model_selection.md` / `09.5_heterogeneity.md`，而由 `render_audit_card.R` 产的 `09.4_audit.md` / `09.5_audit.md` 审核卡承载（卡已含判断点 + 红黄绿灯 + 数据 + 签核块，功能完全覆盖决策档）。**规范消歧：同阶段 `09.x_audit` 审核卡在场即视为该阶段 09.x 决策档到位**，不要求两者并存（消除"§12.2 档名规定 vs 门产物命名"两套并行冲突，实战 D12 偏离）。文件命名唯一权威仍见 §12.3。

### 12.3 SubAgent 产出文件命名（`L<N>_<task>.<ext>` — 唯一标准）

> **这是全库产出文件命名的唯一权威**（关 BK-11）。subagent-templates / L9-r-code-templates / `scripts/*.R` 的读写名一律对齐本表，**不得另起裸名**（如 `effect_sizes.csv` / `*_results_summary.txt` 等旧裸名已废弃）。扩展名按语义：数据 `.csv` / 文档 `.md` / 图 `.png`(ma-plots 渲染器) 或 `.pdf`(metafor 直出) / R 脚本 `.R` / R 原始输出 `.txt`。

```
# —— L9 数据 / 决策产出 ——
L9.1_effect_sizes.csv         # L9.1 效应量数据（R-ready：study_id/outcome_name/yi/vi/sei/n_total + 可选 effect_id/subgroup/year/reliability_xx/reliability_yy）
L9.1_extraction_decisions.md  # L9.1 提取决策记录（原 extraction_decisions.md）
L9.2_corrections.csv          # Hedges' g + Hunter-Schmidt 校正后值
L9.3_dependency.md            # 依赖结构判断
L9.4_model_selection.md       # FE/RE 决策 + τ² 估计器
L9.5_heterogeneity.md         # I² + Q + τ² + 95% PI
L9.6_subgroup.md              # 子组分析（k ≥ 10）
L9.7_metaregression.md        # meta-regression（k ≥ 10）
L9.8_sensitivity.md           # leave-one-out 等
L9.9_publication_bias.md      # funnel + Egger + 心理学补充
L9.10_masem.md                # 按需（MASEM 结论）
L9_psychology_special.md      # (S5) 心理学专题 SubAgent 产出（替原裸名 psychology_special.md）
L10_grade.md                  # GRADE 评估
L11_draft_A.md / L11_draft_B.md / L11_merged_1.md / L11_merged_2.md / L11_final.md  # 2-2-1
L11_mars_compliance.md        # MARS-Compliance-Agent 产出（原 mars_compliance.md）
L11_claims_vs_data.md / L11_ref_verify_report.md  # 监督模式 SP6/SP7 产物（S6 接线）
L12_amstar2.md                # 自评
# —— R 脚本 / 原始输出（统一 L9_/L9.x_ 前缀，替代旧 *_results_summary.txt 散名）——
L9_meta_analysis_main.R       # 完整工作流主 R 脚本（原 meta_analysis_main.R）
L9_meta_results.txt           # metafor 基础 R 原始输出（原 meta_results_summary.txt）
L9.3_rve_results.txt          # RVE R 原始输出（原 rve_results_summary.txt）
L9.2_psychmeta_results.txt    # Hunter-Schmidt R 原始输出（原 psychmeta_results_summary.txt）
L9.9_pcurve_results.txt       # p-curve/p-uniform R 原始输出（原 pcurve_results_summary.txt）
L9.9_egger_mlma_results.txt   # (S5) Egger-MLMA（依赖效应量多水平/RVE 发表偏差）R 原始输出
L9.10_masem_results.txt       # MASEM R 原始输出（原 metaSEM_results_summary.txt）
# —— Chart-Bridge 数据 + 图（见 §13.2 + L9-r-code-templates §10）——
L9_forest_data.csv            # Chart-Bridge 森林图 per-study 数据（列 study/es/ci_lo/ci_hi/weight；R 导出 → ma-plots 渲染器消费）
L9_forest_pooled.csv          # 森林图 pooled diamond + 异质性侧车（es_overall/ci_lb/ci_ub/I2/Q/tau2）
L9_funnel_data.csv            # Chart-Bridge 漏斗图 per-study 数据（列 study/es/sei）
L9_funnel_pooled.csv          # 漏斗图 pooled 标量 + Egger 侧车（pooled/egger_intercept/egger_p/k）
L11_forest_plot.pdf / L11_funnel_plot.pdf  # metafor 直出（草图/敏感性速览）
L11_forest_plot.png / L11_funnel_plot.png  # ma-plots 渲染器渲染（发表级，§13.2 产出）
```

> **图扩展名裁定（锁4 §4.2.4）**：保留两条产图路径各自原生扩展名、前缀统一 `L11_`——`.pdf` = metafor 直接 `pdf()` 出的草图（快速自检）；`.png` = ma-plots 渲染器经 Chart-Bridge 渲染的发表级图（APA 7 + CVD-safe，样式复用 ssci-plots）。两者并存不冲突。

### 12.4 L12 交付打包（manifest + 投稿四件 + 审核包互链 —— G9）

L12 自评（§4.5）完成后，交付打包按以下五步执行（治实战病根：交付打包零规范——全库 grep `manifest|交付清单|打包` 0 命中，实战那份高质量交付清单是临场发明，下次运行归零）：

1. **交付区组装**：建 `03_交付/`，最终交付物**复制进入（非移动）**；命名 `[name]_v[N].[M].[ext]`（禁"最终版 / final"式主观后缀）。
2. **调 manuscript-typeset 产投稿四件（默认动作，不待用户追加）**：`python3 <manuscript-typeset>/scripts/typeset.py --request typeset_request.yaml --outdir <03_交付/子目录>`（四元组与降级见 §13.4；fidelity fail = exit 2 阻断该件，缺 xelatex 降级 docx+md 两件）。
3. **L12.5 审核包 build**（监督模式）：`python3 <review-methodology-foundations>/scripts/audit_package.py build --run <运行根> --content <_audit_content.json> --out <运行根>/03_交付/` 产 `00_审核入口.md` + 审核包（规范 = `review-methodology-foundations/references/SIGNING-AUTHOR-AUDIT-PACKAGE.md`；就绪硬门 = `signoff_preflight.py --gate L12.5 --decisions-dir <运行根>/decisions`）。
4. **产交付清单 manifest（在②③之后定稿——其必填输入此时才齐）**：按 `references/delivery-manifest-template.md`（**五节模板**）产 `03_交付/00_交付清单_manifest.md`——其 §1 登记 typeset **实产**件数（含降级如实）；其 §3a 逐条覆盖步骤②产出 `PLACEHOLDERS.md` 的**全部条目**（占位符不允许静默漏交待）；其 §2 必含**名值绑定抽查记录**（带 study 标签的图/表抽 N 行核"显示名↔study_id↔数值"三方一致，G7 教训，§13.2 labels 纪律的交付面收口）；头部互链行指向步骤③已产出的 `00_审核入口.md`。
5. **两个 `00_` 文件分离互链核对，不合并**：`00_交付清单_manifest.md` = **投稿物索引**（给要投稿的人）；`00_审核入口.md` = **署名人终审动线**（给要签字担责的人）——职责分离、彼此链接（G2 边界，D-8）。gate 六段 / 审核站五栏 / manifest 五节的三结构职责对照（含"gate 签核 vs 终审签字 = 两次独立签署勿去重"）见 `review-methodology-foundations/references/THREE-STRUCTURE-MAP.md`。

之后 → 署名人终审。**纯 SR 路径的 L12 打包同此规范**（manifest 模板住本 Skill `references/` 被 systematic-review 引用；SR 侧指针见其 §12 尾）。

---

## 13. 与其他 Skill 的关系

### 13.1 联合工作流：systematic-review + meta-analysis

**推荐路径**：

```
用户场景：定量合并 23 项 RCT
  ↓
Step 1：先调用 systematic-review 完成 L1-L8
  - L1 类型识别（含心理学判定）→ decisions/01_type_decision.md（MA 沿用）
  - L2-L8 全部
  ↓
Step 2：切换到 meta-analysis 完成 L9-L12
  - L9.1-L9.10 定量合并
  - L10 GRADE
  - L11 APA MARS（含 forest plot=内置渲染器 §13.2）
  - L12 AMSTAR 2 自评
```

主 Agent 在用户表达"我已完成检索/筛选/RoB，需要做定量合并"时，可直接进入本 Skill（**独立 MA 入口**，按 §3.3 脚手架先建 `01/02/07/08`）；表达"完整系统综述含定量合并"时建议联合工作流。

**联合路径 decisions/ 共用 + 09↔09.1 衔接门（关 BK-7，N-1..N-4）**：

- **N-1 同一 `decisions/` 目录**：联合路径 SR 与 MA 共用同一 `decisions/`（与工作目录平级）。MA 不新建独立目录，直读 SR 已产的 `01..08` + `09_synthesis_decision.md`。
- **N-2 `09_synthesis_decision.md` 共用、MA 只读不覆盖**：SR 在 L9 产它（含"切 MA"结论 + 推荐模型族）；MA 接力**只读不重写**，当"是否进 MA + 模型族"输入。
- **N-3 MA 从 `09.1` 续编**：MA 在同目录新建 `09.1/09.4/09.5/09.6/09.9` 子阶段档，与 `09` 并存（小数层级天然区分，不存在覆盖）。
- **N-4 触发器升为阻断门（写死）**：主 Agent 进入 MA L9.1 前，**必读 `decisions/09_synthesis_decision.md`**：若其切换结论 **≠ "推荐切 MA" → 阻断**（不应进 MA，回 SR L9 SWiM/Popay）；若 **= 推荐切 MA → 读取其推荐模型族（FE/RE/RVE/三层/MASEM）作为 L9.3/L9.4 的输入约束**。这把 BK-7 从"易漏的手工搭桥"升级为"阻断门保护的写死接力"。

**联合路径 L10-L12 归属（锁4 §4.4 裁定）**：以元分析为终点的联合路径，**meta-analysis 拥有 L9-L12**——由 MA 产 `10_grade_decision.md` + `11_reporting_standard.md` + `L12_amstar2.md`（依据 MA §12.1 交付物清单 + 本 §13.1 联合工作流）。纯 SR 路径（无 MA）的 L10-L12 仍由 SR 完成。

**SR L7 → MA L9.1 字段映射**：详见 systematic-review `references/L7-extraction-dual.md` §11（映射表本体，对接本 Skill `L9.1-effect-size-extraction.md` §8.2 输入契约——study-level 原始统计量；L9.1 负责把原始量经 escalc 算成 ES/SE/yi/vi/sei）。

### 13.2 Chart-Bridge 数据+渲染双锁定：ma-plots 固定渲染器（forest / funnel / PRISMA / RoB）

本 Skill 不直接现场写渲染代码。**图 = 固定渲染器 `scripts/plots/` 参数化直出 + 内置 QC 断言 exit≠0**（G7；治实战病根：SubAgent 现场写 500 行 matplotlib + 无 QC 门 → Fig6 图例压末行数据点带伤交付）。四渲染器：`forest.py` / `funnel.py`（Python 固定渲染器）+ `prisma_flow.py`（薄包装官方 `PRISMA2020` R 包）+ `rob_traffic.py`（薄包装官方 `robvis` R 包）。**三步硬契约**：

1. **R 导出锁定 CSV（不变）**（`references/L9-r-code-templates.md` §10 Chart-Bridge，在 `metafor_basic.R` 的 `res_re` 之后跑）：`L9_forest_data.csv`（列 `study, es, ci_lo, ci_hi, weight` + pooled 侧车）+ `L9_funnel_data.csv`（列 `study, es, sei` + pooled 侧车）。**PRISMA counts YAML** / **RoB domains CSV** 新契约见 `references/prisma-flow-contract.md` / `references/rob-figure-contract.md`。
2. **固定命令行调用渲染器（SubAgent 不写渲染代码）**：
   - `python3 scripts/plots/forest.py --data L9_forest_data.csv --pooled L9_forest_pooled.csv --labels <study→显示名> --out L11_forest_plot [--pi lo,hi] [--subgroup-col C] [--ilab n_int,n_ctrl] [--width single|double]`
   - `python3 scripts/plots/funnel.py --data L9_funnel_data.csv --pooled L9_funnel_pooled.csv --out L11_funnel_plot [--width]`
   - `python3 scripts/plots/prisma_flow.py --counts prisma_counts.yaml --out L11_prisma_flow [--width]`
   - `python3 scripts/plots/rob_traffic.py --data rob_domains.csv --labels <study→显示名> --tool both --out L11_rob [--summary-bar --weights-from <cell>] [--width]`
   - 渲染器**只画不算**（es/pooled/权重全从 CSV 读，绝不重算）；样式复用 ssci-plots 底座（`apply_style/get_palette/save_figure`）；标签纪律硬门（禁 `~2019`/`Anon.`/裸内部 ID 上图，gap 入 Note）。命令行签名权威见 `scripts/plots/README.md`。
   - **labels 机械同源纪律（G7 复验教训，硬性）**：`--labels` 文件必须从特征表 / G2 ID 对照卡**机械生成并落盘**（含 `~2019` 尾注等内部记法净化），**禁止手造**——手造 labels 曾致对比样张名值错位 8/13 + 编造研究名（渲染器本体键 join 无缺陷，缺陷在输入）。名值绑定是"版式 QC + 数值 oracle"之外的**第三类检查**：凡带 study 标签的交付图，验收必须抽 N 行核**显示名 ↔ study_id ↔ 数值三方一致**（交付面登记入 manifest §2 抽查记录，§12.4）。
3. **渲染器内置 QC 断言 exit≠0 即阻断**（治 Fig6 无 QC 门）：图例 bbox 不压数据 / 输入行全部在场（输出≥输入）/ 必需元素在场 / 图幅=版式宽 / 权重-面积单调 + 对比度下限（forest）/ PRISMA 平行流仅 included 汇合 / RoB 域集匹配工具 + weighted bar 禁静默混权。退出码 0（绿）/ 1（输入错）/ 2（QC 失败，阻断出图，`--warn-only` 可降）/ 3（空）。**失败阻断门保留**：CSV 缺失或 0 行 → 阻断（不编图数据、不空跑；结构性人在环门 BK-12）。ssci-plots 退居 ma-plots 的**样式依赖** + 非 MA 四件套通用图出口。

### 13.3 Skill 边界速查

| 用户需求 | 切到 |
|---|---|
| 已收集文献，要写综述但不做合并 | `literature-set-review` |
| 50 年/30 年的领域发展史 | `field-evolution-review` |
| 整合综述（量化 + 质性 + 理论）| `field-overview-review` |
| 严格 PRISMA 系统综述（不含定量合并）| `systematic-review` |
| MA 四件套图（forest / funnel / PRISMA / RoB）| 本 Skill 内置 ma-plots 渲染器（§13.2/§13.4，**非切出**）|
| 非 MA 通用统计图 | `ssci-plots` |
| 验证引用准确性 | `academic-ref-check`（四元组见 §13.4）|
| 找文献 | `paper-search-pro`（四元组见 §13.4）|

### 13.4 卫星依赖矩阵（四元组硬契约 —— G9）

> **定位**：本表把每个卫星调用锁成**四元组命令行契约**【何时调 / 命令或入口 / IO 契约 / 缺失时降级】，替代"联动 X"式叙述性动词（E-Q4 病根：叙述性依赖可被合法绕开——实战 L11 现场手写 500 行 matplotlib 翻车）。四元组为新立契约形态（照 §11.1 故障表"信号 / 阈值 / 回退"精神扩展）。**每行"缺失时降级"给出明确的阻断或降级动作，禁止静默跳过**。表内文件路径 = skill-根相对路径；命令中 `<skill>` = 该 skill 根目录（**严禁**解析到 runtime `~/.claude/skills/` 或裸相对 `skills/`）。

| 卫星 | 何时调 | 命令或入口 | IO 契约 | 缺失时降级 |
|---|---|---|---|---|
| **ma-plots**（本 Skill 内置渲染器，**非独立 skill**） | L11 产图（forest / funnel / PRISMA 流程图 / RoB 图） | 四条固定命令：`<meta-analysis>/scripts/plots/` 下 `forest.py` / `funnel.py` / `prisma_flow.py` / `rob_traffic.py`（完整调用式见 §13.2 步骤 2；**CLI 签名权威 = `meta-analysis/scripts/plots/README.md`**） | 进：Chart-Bridge CSV（`L9_forest_data.csv` / `L9_funnel_data.csv` + pooled 侧车）+ `references/prisma-flow-contract.md`（counts YAML）+ `references/rob-figure-contract.md`（domains CSV）。出：`<stem>.pdf` + `<stem>.png`。**labels 纪律**：`--labels` 文件必须从特征表 / G2 ID 对照卡**机械生成并落盘、禁手造**；交付验收含"显示名↔study_id↔数值三方一致"抽查（第三类检查，§13.2）。退出码 0/1/2/3；**QC exit≠0（码 2 非 warn-only）不落盘** | **渲染器或其依赖缺失 → 阻断交付图并明确报告缺什么**（不静默、**绝不回退现场写渲染代码顶替**）。PRISMA/RoB 官方 R 包缺（R / `PRISMA2020`≥1.1.4 / `DiagrammeRsvg` / `rsvg`；`robvis`≥0.3.1 + `ggplot2`）→ **exit 1 明确报错**（`--warn-only` 不降）→ 装包后重跑；QC 断言失败（exit 2）才可 `--warn-only` 知情降级仍出图（README 退出码契约）。样式依赖 ssci-plots 缺（解析序：`SSCI_PLOTS_SCRIPTS` env → 同级部署相对路径 → 内联降级底座）→ 降级底座样式 + WARN（仅字体/色，**布局不受影响**）；ssci-plots 另任**非 MA 四件套通用统计图出口** |
| **manuscript-typeset**（独立通用 skill） | L12 成稿后交付打包（§12.4 步骤③）；**默认产投稿四件，不待用户追加** | `python3 <manuscript-typeset>/scripts/typeset.py --request typeset_request.yaml --outdir <dir>` 

…(truncated)
