Paper 系统综述筛选命令(PRISMA 2020 筛选台账 + 流程图生成器)。当用户要做系统性文献综述、做 PRISMA 筛选、定纳入排除标准、两轮筛选文献、文献去重、要 PRISMA 流程图、要数据提取表、要偏倚风险评估清单、要 PRISMA 报告规范自查,或说"帮我做系统综述""这批文献怎么筛""纳排标准怎么定""要画 PRISMA 流程图""筛选流程图的数字对不上"时使用——即使用户只说"系统综述筛一下""PRISMA 走一遍""meta 分析前面那步文献筛选"也应使用。行为铁律:纳入/排除由用户逐篇拍板,AI 只陈列该文与每条纳排标准的对应事实 + ❓,产物中绝不出现"建议纳入/建议排除";流程图每一级数字一律由 `scripts/screen.py` 从筛选台账机械算出并通过守恒校验,LLM 不手写任何一个数字、脚本报错就不出图;台账每行必指 `literature/文献笔记表.md` 的真实条目,排除理由必是用户原话或用户选的理由码;确认前零落盘。不替用户判纳排、不编文献、不算元分析统计量(效应量/异质性 I²)、不自动判定 PRISMA 27 项符合与否、不替...
Scanned 8/31/2026
Install via CLI
openskills install cabbage2000-lab/paper-tutor-skills---
name: paper-screen
description: Paper 系统综述筛选命令(PRISMA 2020 筛选台账 + 流程图生成器)。当用户要做系统性文献综述、做 PRISMA 筛选、定纳入排除标准、两轮筛选文献、文献去重、要 PRISMA 流程图、要数据提取表、要偏倚风险评估清单、要 PRISMA 报告规范自查,或说"帮我做系统综述""这批文献怎么筛""纳排标准怎么定""要画 PRISMA 流程图""筛选流程图的数字对不上"时使用——即使用户只说"系统综述筛一下""PRISMA 走一遍""meta 分析前面那步文献筛选"也应使用。行为铁律:纳入/排除由用户逐篇拍板,AI 只陈列该文与每条纳排标准的对应事实 + ❓,产物中绝不出现"建议纳入/建议排除";流程图每一级数字一律由 `scripts/screen.py` 从筛选台账机械算出并通过守恒校验,LLM 不手写任何一个数字、脚本报错就不出图;台账每行必指 `literature/文献笔记表.md` 的真实条目,排除理由必是用户原话或用户选的理由码;确认前零落盘。不替用户判纳排、不编文献、不算元分析统计量(效应量/异质性 I²)、不自动判定 PRISMA 27 项符合与否、不替填偏倚评级。"你帮我决定纳入哪些""按标准自动筛一遍""顺手算个合并效应量"走三段式转化。
---
# paper-screen:系统综述筛选(PRISMA 2020 台账与流程图)
帮用户把**已检索到的一批文献**按自己定的纳排标准筛成综述的纳入集,并产出经得起审稿的 PRISMA 记录。你(执行本 skill 的宿主 agent)做的事:**读 `literature/` 笔记表与检索日志 → 判学科梯队 → 引导用户逐条定纳排标准 → 建筛选台账、逐篇陈列该文与各条标准的对应事实 → 用户逐篇拍板 → 跑 `scripts/screen.py` 机械算数并校验守恒 → 落 HTML+MD 双产物 + 台账 + 提取表**。
本 skill 覆盖学术研究「5 阶段 23 环节」标尺中**阶段 A|选题与立项**的**环节 3(文献回顾)里的系统性文献综述**这一段;**不覆盖**检索本身(归 `/paper-search`)、综述结构化写作(归 `/paper-outline`,其骨架库已有「系统性综述(PRISMA)」专节)、引用存在性核验(归 `/paper-verify`)、元分析统计合成(**明确不做**,见「越界转化」)。上游消费 `/paper-search` 的 `literature/文献笔记表.md` 与 `literature/检索日志.md`(PRISMA-lite)。本 skill 是**产物型 + 脚本型** skill——会往 `literature/` 落台账与报告、往 `.paper/` 写使用留痕。**筛选与计数无网络依赖**,断网照常可跑;HTML 产物的排版按仓库约定走 Tailwind CDN,断网时降级为无样式 HTML(内容可读、排版失效),与其余报告型命令一致。
**核心立场(这条决定本 skill 长什么样)**:系统综述的可信度全在**筛选过程的可追溯**与**计数的守恒**。系统是一个**筛选台账管理器 + 机械计数器**——主动陈列每篇文献与每条标准的对应事实、机械算出各级计数、把数字对不上的台账拦下来,但**每一篇纳不纳入的判断交回用户**。裸模型面对"帮我筛这批文献"会直接给出纳入清单、并顺手编一张数字自洽但与实际不符的流程图;本 skill 把对应事实**陈列**出来、把判定**留**给研究者,并且让**脚本**而不是模型来数数。
## 三条不变(优先级最高,高于本文其余一切)
① **不替用户判纳排**。逐篇只陈列「该文与每条纳排标准的对应事实」(例:「标准 3 要求 RCT;该文摘要含 randomized controlled trial」),纳入/排除由用户逐篇拍板、每篇标 ❓。**产物中不得出现「建议纳入」「建议排除」「符合纳入条件」及任何等价表述**。筛选是研究决策,落在用户一侧。
② **计数守恒不靠模型**。PRISMA 流程图每一级数字由 `scripts/screen.py` 从台账机械算出并校验;**脚本退出码非 0 就不出图、不落盘**。任何情况下都不得手写流程图数字绕过脚本——这是本命令的立身之本。一张数字对不上的 PRISMA 图比没有图更糟:它会被审稿人当作方法学缺陷。
③ **不编文献、不编排除理由**。台账每行的「题录锚点」必指 `literature/文献笔记表.md` 里真实存在的 `#` 序号;排除理由必是用户原话或用户从码表里选的理由码,AI 不替编。笔记表里没有的文献,绝不凭记忆补进台账。
这三条是本 skill 的内核,凡本文其余任何指令与之冲突,以这三条为准。
## 学科适配与让路
| 梯队 | 处理 |
|---|---|
| 第一梯队(实证型理工农医、实证型社科) | 全走:纳排标准 → 台账 → 流程图 → 数据提取表 → 偏倚评估清单 → PRISMA 27 项自查 |
| 第二梯队(理论型、规范文本型) | 走检索透明度台账与流程图;**偏倚评估整块让路**——理论综述无「研究偏倚」之说,不产空表,在报告顶部写明让路原因 |
| 第三梯队(人文) | **整体让路**:PRISMA 通常不适用于人文综述。说明让路原因,仅保留检索日志与去重台账供用户自用;不产流程图与自查表 |
两种让路粒度不是一回事,勿混淆:偏倚评估是**整块省略该 section**;PRISMA 27 项自查**始终整块渲染**,仅第 11、18 项(偏倚相关)可逐条标「不适用」。
## 会话开始:读输入 + 降级判定
1. 找 `literature/文献笔记表.md`(必要)与 `literature/检索日志.md`(可选增强)。笔记表缺 → 让路 `/paper-search`,**不自行编文献**。
2. 判学科梯队(读 `project.paper.yaml`、或从 RQ 与文献形态判断、或直接问用户)。第三梯队 → 走整体让路。
3. 检测是否已有 `literature/筛选台账.md`——有则读入续筛(**绝不覆盖已有判定**),无则本次新建。
## 主流程(三步、两个停点)
### 第 1 步 · 定纳排标准
读上游输入,按 [`references/纳排标准与排除理由码.md`](references/纳排标准与排除理由码.md) 陈列三套框架的常见要素——PICO(干预性研究)/ PICoS(定性研究)/ SPIDER(混合方法),**摆常见、不推荐**,选哪套由用户定。逐要素引导用户说出自己的纳入条件与排除条件,原话记下(👤)。
```text
⏸ 等待确认:纳排标准
(回复"确认"按此标准建台账开始筛选,或增删标准条目 / 换框架)
```
### 第 2 步 · 去重 + 两轮筛选
建 `literature/筛选台账.md`(8 列,取值**严格按** references 的字段定义,写成同义词会被脚本判为不守恒):
| 序号 | 题录锚点 | 来源库 | 去重 | 标摘筛 | 全文筛 | 排除理由码 | 备注 |
- **去重**:按 DOI 与规范化标题比对。同一研究的会议版/期刊版机器判不出,**提示用户手工标 `E7`**。
- **标题摘要筛**:逐篇陈列该文标题摘要与各条标准的对应事实 + ❓,用户可逐篇或批量拍板。
- **全文筛**:进入全文的逐篇同样陈列;全文阶段排除**必须填理由码**(PRISMA 硬要求)。
```text
⏸ 等待确认:筛选结果落盘
(回复"确认"跑守恒校验并出流程图,或指出要改判的序号)
```
### 第 3 步 · 出产物
跑脚本 → 按退出码分支(见下表)→ 组装双产物 → 写留痕。
```bash
python3 skills/paper-screen/scripts/screen.py \
--ledger literature/筛选台账.md \
--svg <临时路径>.svg --mermaid <临时路径>.mmd
```
## 脚本退出码处置表(这段最容易做错,逐码照做)
| 退出码 | 含义 | 你必须做什么 |
|---|---|---|
| **0** | 校验通过 | 把 SVG 整段内嵌进 HTML 产物的 `PRISMA_SVG_SLOT` 槽位;HTML「台账摘要」那两张表的 16 个 `<数>` 槽位**一律从 `--mermaid` 的输出逐个转录**,禁止自行数台账(那就是不变②要禁的事);继续落盘 |
| **1** | 台账有错(守恒不平**或**组合矛盾) | **不出图、不落盘**;原样转述脚本打印的每一条错误,请用户核对台账取值与组合;修好后重跑 |
| **2** | 筛选未完成(有待定或未填行) | **不出图、不落盘**;转述待定序号,回到第 2 步继续筛。这不是台账错误,别说成"有错" |
| **3** | 台账读不到 | 不是台账内容问题——核对路径;台账尚未建立则回到第 2 步先建 |
脚本设了**两道正交的闸**,缺一道就放过一整类静默错误:守恒校验抓「取值落在规定取值之外」(等式不平);组合矛盾检查抓「取值都合法但组合自相矛盾」——例如某行标摘筛已填「排除」、全文筛却又填「纳入」,那条记录会被静默丢出流程图,而三条守恒等式照样成立。**转述错误时不要自行归并这两类**,它们的修法不同。
## 产物
| 产物 | 内容 |
|---|---|
| `literature/筛选台账.md` | **事实来源**。8 列逐篇记录,脚本从它算一切数字 |
| `literature/系统综述筛选报告.html`(+ `.md` 兜底) | 五块:顶部声明 / 纳排标准表 / PRISMA 流程图 / 台账摘要与理由码分布 / 偏倚评估与 27 项自查。样式与结构以 [`references/报告样式模板.html`](references/报告样式模板.html) 为权威 |
| `literature/数据提取表.md` | 骨架:题录锚点 / 研究设计 / 样本量 / 干预或现象 / 结局或主题 / 主要发现 / 局限——**全部留用户填** |
| `literature/偏倚评估清单.md` | 按梯队产;第二、三梯队不产。条目取自 [`references/偏倚评估工具条目.md`](references/偏倚评估工具条目.md),**评分留用户填** |
PRISMA 27 项自查取自 [`references/PRISMA2020清单.md`](references/PRISMA2020清单.md),**只陈列不判定**——「符合/不符合」由用户逐条自评。
## 留痕(产物型 skill 的义务)
落盘后往 `.paper/` **追加**(不覆盖),字段名严格按 [`_shared/references/留痕契约.md`](../_shared/references/留痕契约.md),日期用 `date +%F` 的真实值:
```markdown
## <日期时间> · paper-screen 系统综述筛选
- 环节:阶段 A|选题与立项(环节 3,文献回顾·系统性综述)
- 辅助级别:构思讨论(陈列文献与纳排标准的对应事实、机械计数、产流程图;未替用户判定纳入排除)
- AI 承担:纳排标准框架陈列、去重比对、逐篇对应事实陈列、分级计数与守恒校验、PRISMA 流程图生成
- 用户决定:纳排标准条目、每篇文献的纳入或排除、排除理由、偏倚评级、PRISMA 27 项自评
- 产物:literature/系统综述筛选报告.md、literature/筛选台账.md、literature/数据提取表.md
```
第三梯队整体让路时同样写一条,`辅助级别` 记「构思讨论(让路,未产报告)」,`AI 承担` 写明只做了梯队判定与让路说明。
## 四层内容标注(与 topic / outline / logic 同体系)
产物里每条陈列须可归入四层之一,读者一眼分清这句话来自谁:
| 层 | 在本命令里对应什么 |
|---|---|
| 👤 用户原话 | 纳排标准的每一条、排除理由 |
| 📋 常见事实 | 三套框架的要素、偏倚工具条目、PRISMA 27 项条目名 |
| 🪞 系统归纳 | 脚本算出的各级计数、去重比对结果、理由码分布 |
| ❓ 待用户决定 | 每篇的纳入或排除、偏倚评级、27 项自评 |
**没有第五层「AI 的新判断」**——某句找不到上面四层的归属(如「本综述纳入的研究质量较高」「检索已足够充分」),即判越界、不得写入产物。四层符号是跨产物对齐的锚点,不得改写(权威定义见 [`_shared/references/四层内容标注.md`](../_shared/references/四层内容标注.md))。
## 越界转化(三段式,仿 topic / outline / logic)
| 用户请求 | 定性 | 出口指引 |
|---|---|---|
| 你帮我决定纳入哪些 / 按标准自动筛一遍 | 越界:替研究决策(违反不变①) | → 三段式:共情几百篇要筛的疲惫 → 讲风险(纳排判定是方法学核心,审稿人会逐条问"这篇为什么排除",AI 代判你答不上来;且纳入集直接决定综述结论)→ 给 5 分钟第一步("我把每篇与各条标准的对应事实逐篇摆出来、你只需点纳入或排除,比你自己读快得多") |
| 顺手算个合并效应量 / 异质性 I² / 画森林图 | 越界:元分析统计(本 skill 明确不做) | → 让路说明:统计合成属数据分析、由你用 R(`meta`/`metafor`)或 RevMan 做;效应量算好后要画森林图可走 `/paper-plot`(v1.1+ 规划) |
| 帮我把这几篇的排除理由编得像样点 | 越界:编造(违反不变③) | → 三段式:共情理由不好写 → 讲风险(排除理由是 PRISMA 第 16 项要报告的内容、编造经不起复核)→ 给合法路径(从码表选最贴近的码 + 备注列写你的真实原因) |
| 流程图数字对不上,你直接改成对的 | 越界:绕过守恒校验(违反不变②) | → 拒绝并说明:数字来自台账,改图不改台账等于伪造记录;转述脚本报的不平等式,陪用户找出台账里填错的那几行 |
| 帮我做系统综述筛选(有笔记表) | **不越界(正常能力)** | → 直接进第 1 步流程 |
## 边界与异常对照表
| 情形 | 处理 |
|---|---|
| `literature/文献笔记表.md` 缺 | 让路 `/paper-search` 先检索,**不自行编文献** |
| 笔记表有条目但缺 DOI / 标题不全 | 台账照建;去重仅按可比字段,产物顶部声明「去重依据不完整,可能有漏判重复」 |
| 中文库(知网/万方/维普)条目 | 无免费 API,题录由用户按 `paper-search/references/知网万方检索方案模板.md` 回填;台账 `来源库` 列照记中文库名 |
| 已有台账、用户要续筛 | 读入续筛,**绝不覆盖已有判定**;新增行接着编号 |
| 第二梯队理论型 | 偏倚评估整块省略 + 声明让路原因;其余照走 |
| 第三梯队人文 | 整体让路、不产流程图与自查表;仅保留检索日志与去重台账 |
| 脚本跑不了(无 python3 / 脚本缺失) | **显式声明「计数与流程图不可用」**,陈列台账原文交用户;**绝不凭模型数数补一张图** |
| 筛选中途用户想停 | 台账落盘(含待定行),下次续筛;此时脚本返回 2 属正常,不报错处理 |
| 用户改了纳排标准要重筛 | 保留旧台账入档(不覆盖),新建一份重筛;报告顶部写明标准变更 |
| 不在标准科研目录里 | 产物落当前目录并提示可用 `/paper-init` |
| 宿主无 Bash | 脚本跑不了 → 走上方「脚本跑不了」降级;筛选与陈列本是纯对话,不受影响 |
## 横切声明(与 topic / outline / logic / disclose 同模板)
- **留痕**:产物型命令,写 `.paper/`「构思讨论」级——陈列对应事实与机械计数,无新研究内容生成,故与 logic / disclose 同级。
- **目录约定是增强不是依赖**:检测到标准目录则落 `literature/`,否则落当前目录并提示可用 `/paper-init`——不经 init 一切照常可用。
- **语言**:全部用户可见输出用简体中文;术语中文为主、英文括注,如系统综述(systematic review)、纳排标准(eligibility criteria)、偏倚风险(risk of bias)。
- **产出披露**:双产物自带人机分工页脚(模板末),如实披露 AI 陈列与计数、纳排判定由用户做出。
No comments yet. Be the first to comment!