Skip to content
Back to skills

Sr Search Record

ASecurity

综述文章的检索与筛选记录(乔淼PhD · AI学术训练营 · AI学术工作流 · 综述文章工作台 阶段②)。**Snyder 三型通用**——系统 / 半系统·叙事 / 整合式共用一套内核。AI 全自动跑完:概念块拆解 → 检索式多轮自动校准(种子召回 + 精度守卫)→ 全量抓取去重 → **按相关性排序截断出候选集** → 摘要筛选(**摘要层定稿,不做全文筛选**)→ include 收敛到目标带 → 引文追踪补漏 → Zotero 入库 → 产出论文可直接贴的三张表(检索记录表 S1–Sn / 纳入排除标准表 / 选择流程数字)+ 待人工复核清单。**全程只有一个硬停点**,其余一律降级继续。检索引擎用 OpenAlex 开放 API(免登录免密钥,随 skill 附 scripts/oa_search.py),医学题目补 Europe PMC(MeSH)。AI 只出筛选建议不当第二评审。Trigger on:"跑综述的文献检索"、"自动检索并筛选文献"、"建综述语料库"、"生成检索记录表和 PRISMA 数字"、"systematic review search"、"bu...

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 16, 2026
researchpythonbashapiperformance

Works with

  • api
  • mcp

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned October 16, 2026

npx -y skills add qiaomiaojoe/ai-academic-workflow --skill sr-search-record --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Sr Search Record?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Sr Search Record
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/qiaomiaojoe-sr-search-record/badge)](https://www.skillsdirectory.com/skills/qiaomiaojoe-sr-search-record)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: sr-search-record
description: 综述文章的检索与筛选记录(乔淼PhD · AI学术训练营 · AI学术工作流 · 综述文章工作台 阶段②)。**Snyder 三型通用**——系统 / 半系统·叙事 / 整合式共用一套内核。AI 全自动跑完:概念块拆解 → 检索式多轮自动校准(种子召回 + 精度守卫)→ 全量抓取去重 → **按相关性排序截断出候选集** → 摘要筛选(**摘要层定稿,不做全文筛选**)→ include 收敛到目标带 → 引文追踪补漏 → Zotero 入库 → 产出论文可直接贴的三张表(检索记录表 S1–Sn / 纳入排除标准表 / 选择流程数字)+ 待人工复核清单。**全程只有一个硬停点**,其余一律降级继续。检索引擎用 OpenAlex 开放 API(免登录免密钥,随 skill 附 scripts/oa_search.py),医学题目补 Europe PMC(MeSH)。AI 只出筛选建议不当第二评审。Trigger on:"跑综述的文献检索"、"自动检索并筛选文献"、"建综述语料库"、"生成检索记录表和 PRISMA 数字"、"systematic review search"、"build the corpus for my review"、"run the search and screening for my review"。
---

# SR Search Record · 综述文章的检索与筛选记录

把综述文章的检索环节做成**可复现、数字能对账、且一口气跑得完**的流水线。**Snyder 三型共用这一套**(历史原因名字里带 sr,不只服务 systematic review)。AI 干 80%(设计检索式、多轮校准、全量抓取、排序截断、摘要筛选建议、记账出表),剩下 20%(最终纳入裁决、边界记录、学科术语补漏)交给人。

**产出不是"搜到的一堆文献",是论文方法节能直接贴的三张表 + 一个 60–100 篇的纳入集。**

## 摘要层定稿模式(本 skill 的核心设定)

**判定只有一层:题名 / 摘要。`ai_decision` 就是纳入决定,没有全文筛选层。**

- 筛选阶段**不获取全文**。全文在 ③ 成文阶段(`review-synthesis` / `review-draft`)best-effort 获取,**拿不到不改变纳入集**,只影响 `evidence_level`。
- `ft_decision` / `ft_reason` 两列已退休。台账里不再有它们。
- 这是**明示的方法学让步,不是无损优化**,三型都适用:
  - 摘要经常不写清关键闸门(样本、设计、是否报告了某类结果),只靠摘要判会同时放进假阳性、漏掉假阴性。
  - **PRISMA 要求全文评估**。systematic 型用本模式,产出里必须写明这条偏离,投稿时大概率被要求补做。
  - RAMESES(半系统)与 Torraco(整合式)不强制全文评估层,与本模式不冲突。
- **产出里一律如实写**:"筛选在题名/摘要层完成,未进行全文合格性评估"。**不得把流程图标成完整 PRISMA**,systematic 型的流程图要标注该偏离。

## 规模链(三个数必须一致,流程才闭得上)

| 环节 | 目标 | 谁保证 |
|---|---|---|
| 检索式校准后命中 | **300–2,000** | 第 2 步,种子召回 + 精度守卫 |
| 排序截断后候选集 | **300 条**(可扩到 600 / 900) | 第 4 步 `rank --shortlist` |
| 摘要筛选后 include | **60–100** | 第 4 步收敛闭环 |

实测参考(在一个 7,660 条的真实语料库上验证):截断线 300 时候选集里 include 密度约 23–25%,**预计产出 70–80 篇**,落在目标带内。

**截断线是预算,不是相关性悬崖。**实测 301–600 名这一段的 include 密度与前 300 名相当(都是 25% 上下)——词面排序的区分力到几百名就饱和了。所以线外那批**不是"不相关",是"这次没预算看"**,措辞必须如实,不得暗示它们已被评估过。

## 调用约定(独立运行)

- **定型(第一件事)**:读 `RV_综述/01_选题/选题.md` 机器锚块的 `review_type`(systematic / semi-systematic / integrative),写进 `检索配置.json`——它决定**报告规范与出表形状**(检索与筛选内核三型完全一致)。锚块缺失就问用户,不要默认 systematic。**这是本 skill 唯一的硬停点。**
- **输入**:优先读 `RV_综述/01_选题/选题.md`(综述规格、RQ、纳入排除标准、近邻综述)。**有这个文件就直接开跑,不要回头确认概念块**;只有在没有该文件、纳入标准只能从口述推断时,才在拆完概念块后确认一次。
- **输出**:默认落项目根下的 `RV_综述/02_检索筛选/`;调用方给了路径以调用方为准。**`RV_综述/` 是综述文章在项目里的独立子树**(`01_选题` / `02_检索筛选` / `03_综合成文`),与实证论文那条线彻底隔离。**不要把综述的产出写进实证论文的目录**(尤其 `04_数据/研究发现.md`:两条线同名不同义)。
- **检索引擎**:本 skill 目录下的 `scripts/oa_search.py`(OpenAlex 开放 API + Europe PMC)。**必须调用这个脚本,不要临时自己写检索代码**——脚本保证检索记录格式一致、命中数可复跑、截断与收敛规则统一。运行前设 `export OPENALEX_MAILTO=<用户邮箱>` 进礼貌池。
- **质量标准**:对齐已发表综述的主流做法(2 个以上信息源 + 概念块布尔式 + 限制器 + 纳入文献参考文献回溯)。不追求 Cochrane 级的双人独立筛选、MeSH 逐行检索与全文合格性评估——这三条必须由人完成,本 skill 只做到可交接。
- **调用方覆盖约定**:调用方显式给出的参数、路径与工具选择,一律覆盖本 skill 的默认;但本 skill 的方法步骤、硬约束与降级规则不可被省略或稀释。

## 全局硬约束

1. **不编造文献。** 所有条目必须来自脚本实际返回的记录,带 DOI 或 OpenAlex ID。不得凭印象补充"应该还有一篇…"。
2. **AI 不是第二评审。** AI 的判断写在 `ai_decision` 列,`reviewer_1` / `reviewer_2` / `final_decision` 一律留空给人填。**不得声称完成了双人独立筛选。**
3. **unclear 一律保留。** 摘要缺失、信息不足、边界模糊的记录标 `unclear` 进候选池,**不得为了缩短清单自动排除**。摘要层定稿模式下 unclear 尤其重要——它们正是本该靠全文判、而本流程放弃了的那批。
4. **数字必须对账。** 选择流程里每个数字都要能从 `records.csv` / `筛选决定.csv` 反算出来;对不上就报错,不许四舍五入或估算。
5. **检索源如实报告。** 方法节必须写明"检索源为 OpenAlex(+ 补充源)",不得表述成 Scopus / Web of Science。局限节要写明未使用受控词表与商业库、**未检索中文数据库**、**以及未做全文合格性评估**。
6. **区分"改标准"与"修词"。**
   - **禁止**:为了让数字好看而提高纳入门槛、删种子、砍掉合法的检索维度。任何标准改动写进"协议偏离"。
   - **必须做**:修掉伤精度的泛词(单块命中 > 100 万时 `probe` 会点名)。**合法性判据:改动前后 `recall` 的种子召回率不下降。** 守住这条就是纯赚精度,与本条前半句不冲突。
7. **截断 ≠ 排除。** 截断线外的记录标 `not-screened-lowrank`,在选择流程说明里**单列一行**,措辞为"未进入筛选(相关性排序预算外)"。**不得计入排除数**,也不得说成"已评估后排除"。
8. **规模不达标不是失败。** include 落不进 60–100 时按第 4 步的收敛闭环处置,**最多调 2 次**;两次后接受当前数字并如实汇报。硬凑一个漂亮数字才是错。
9. **不中途讨许可,遇阻就降级。** 每一步都设计成一口气跑完。**唯一合法硬停点 = `选题.md` 缺失或读不出 `review_type`**(定不了型就定不了报告规范,无法降级)。其余任何失败都走下面的降级阶梯:**记账 → 降级 → 继续**,跑完一次性汇报。上下文预算将尽是软停:先写盘、报出续跑位置再停。**"数量大、要花时间"不是停点。**

## 降级阶梯("不卡住"的实现)

| 卡点 | 降级动作 | 停? |
|---|---|:--:|
| OpenAlex 429 / 超时 | 脚本已内置指数退避 5 次;仍失败 → 把 `filters.publication_year` 拆成几段分批抓 → 再失败用已抓部分,覆盖缺口写进降级记录 | 否 |
| 种子 DOI 不在 OpenAlex | 记录该事实,**保留种子**,继续(不为它无限加词) | 否 |
| 校准 5 轮不收敛 | 接受当前检索式,交给第 4 步排序截断;迭代史写进检索记录 | 否 |
| 命中 > 本型过宽阈值 | 先按硬约束 6 修泛词;修完仍过宽 → 截断照跑,把过宽事实写进局限 | 否 |
| 命中 < 30 | 依次放宽:去限制器 → 降为 2 块 AND;每次放宽记协议偏离 | 否 |
| include 偏离目标带 | `expand` 扩线 / 核心闸门复筛,最多 2 次 | 否 |
| 引文追踪 API 失败 | 跳过补漏,在选择流程说明里写"未执行引文追踪"及原因 | 否 |
| Zotero 写入失败 | 降级为导出 RIS / BibTeX 落盘 + 报告写明,**流程继续** | 否 |
| 上下文将尽 | `merge` 写盘 + 报续跑位置 | 软停 |
| **`选题.md` 缺失 / 无 `review_type`** | 无法降级 | **是** |

每触发一次降级,追加一行到 `RV_综述/02_检索筛选/降级记录.md`(时间、卡点、降级动作、对结果的影响)。**收尾汇报必须把这个文件的内容摊开讲**,不许埋在文件里。

## 步骤

### 第 1 步 · 拆概念块,出配置

读 `选题.md`(或用户口述)→ 把研究问题拆成 **2–4 个概念块**(PICO / PECO / SPIDER / 自定义均可)。

- 每块列全同义词:全称与缩写、英美拼写、旧称、近义表达。**块内 OR,块间 AND。**
- **警惕单词级泛词。** `verification` / `accountability` / `autonomy` / `responsibility` / `subjectivity` / `adoption` / `performance` 这类各学科通用词,会把块撑到百万量级并淹掉整个语料库。要表达这些概念,用**精确短语**(`epistemic responsibility` 而不是 `responsibility`)。
- 不要把 outcome、研究设计、过窄情境塞进检索式,除非纳入标准明确要求——那会牺牲召回。
- 限制器(年份 / 语言 / 文献类型)只在纳入标准有学术理由时才加,理由要写下来。

写成 `RV_综述/02_检索筛选/检索配置.json`:

```json
{
  "field": "title_and_abstract",
  "blocks": [
    {"name": "AI", "terms": ["artificial intelligence", "machine learning", "ChatGPT"]},
    {"name": "采纳", "terms": ["technology adoption", "implementation intention"]},
    {"name": "中小企业", "terms": ["SME", "small and medium enterprises"]}
  ],
  "filters": {"publication_year": "2015-2026", "type": "article", "language": "en"},
  "sentinels": ["10.xxxx/yyyy"],
  "review_type": "systematic"
}
```

**种子文献(sentinels)不问用户要**,按序自动获得:① `选题.md` 里的近邻综述 / 关键文献的 DOI;② 不够 3 篇时,用最宽的一两个块跑一次 `probe`+`fetch --cap 40`,按被引数排序,AI 从题摘里挑出明显合格的 3–5 篇当种子。用户主动给了就优先用用户给的。

### 第 2 步 · 检索式自动校准(循环,AI 自己跑,不问用户)

每轮执行:

```bash
python3 <skill>/scripts/oa_search.py probe  -c RV_综述/02_检索筛选/检索配置.json
python3 <skill>/scripts/oa_search.py recall -c RV_综述/02_检索筛选/检索配置.json
```

看三个指标改式子:

- **精度守卫**:`probe` 会点名单块命中 > 100 万的块并列出块内的单词级词条。**这类块必须收紧**(换精确短语 / 删通用词),改完重跑 `recall` 确认种子召回没掉。这是硬约束 6 明确要求做的事。
- **种子召回 < 100%** → `recall` 会指出是哪个块(或哪个限制器)把它挡掉了。给那个块补**精确短语**(不要图省事补单词);若是限制器挡的,判断该限制器是否真有学术理由,没有就删掉。
- **命中数** → 目标 300–2,000。<30 一律是偏窄,给命中最少的块补同义词。

**收敛条件(三条同时满足,可机器判定)**:种子召回 100% && 命中落 300–2,000 && 本轮相对上一轮无改动。

**上限 5 轮。** 5 轮仍不收敛时**不要停下来让用户选方案**:接受当前检索式继续往下跑,把"未收敛 + 原因 + 每轮迭代史"写进检索记录的协议偏离节,收尾汇报时一并告知。命中超过本型过宽阈值时也一样继续——截断线本来就是为这种情况准备的——但要把过宽事实写进局限。

**种子召回不了且诊断为不可修复时**(概念只出现在全文、题摘完全不提,或该 DOI 在 OpenAlex 无记录),记录该事实并继续,**不要删掉这个种子**。

每轮都追加记录到 `RV_综述/02_检索筛选/检索记录.md`,保留全部历史版本(这就是"检索式如何迭代"的证据)。

### 第 3 步 · 全量抓取

```bash
python3 <skill>/scripts/oa_search.py fetch -c RV_综述/02_检索筛选/检索配置.json -o RV_综述/02_检索筛选/records
```

得到 `records.csv` / `.jsonl`(含 DOI、题名、年份、期刊、作者、被引数、摘要、命中了哪几个块)。记下三个数:**原始命中数、去重后待选数、摘要覆盖率**——直接抄脚本打印的 `PRISMA · Identification` 那行,不要自己相减。

**数字必须来自不带 `--cap` 的完整抓取。** `--cap` 是试跑用的,脚本会明确打印"被截断、没抓完",那种结果只能当样本看。另外 OpenAlex 的 `meta.count` 是估算值,与翻页实际遍历数可能差几条,**以遍历数为准并在方法节说明**。

学科对口时补跑一个信息源,让"信息源 ≥2"成立:

- 医学 / 健康 / 护理:Europe PMC(支持 MeSH)
  `oa_search.py epmc -q '(MESH:"Artificial Intelligence") AND (MESH:"Education, Nursing")' -o RV_综述/02_检索筛选/epmc`
- 中文文献:**本 skill 的自动检索不覆盖中文核心期刊**。OpenAlex 的覆盖来自 Crossref DOI,而 CNKI 系核心刊基本不注册 DOI——实测《中国电化教育》在 OpenAlex 只有 915 条、AI 主题命中 10 条,《电化教育研究》8 条,且多无 DOI、无摘要。**要做中文综述,须另行人工检索 CNKI / 万方 / 维普并如实写进方法节**(导出的题录用 `add` 子命令并进台账,`found_via=cnki:<检索式>`,选择流程里单列为一个信息源)。
- 灰色文献 / 政策报告:WebSearch,**单列来源,不与数据库检索混算**

### 第 4 步 · 排序截断 + 摘要筛选(连续跑,AI 出建议)

先把纳入 / 排除标准写成**可判定的条目表**(对齐 `选题.md`;每条都要能对一篇摘要回答 yes/no),落 `RV_综述/02_检索筛选/纳入排除标准.md`。

**注意:标准表里凡是"只能读全文才判得了"的条目**(如是否报告了某种分层结果、样本量细节),在摘要层判不了。这类条目**标注为「全文层标准 · 本流程未执行」**,写进局限,**不要在摘要层硬判**。

**4.1 建台账 + 截断**

```bash
python3 <skill>/scripts/oa_search.py rank -i RV_综述/02_检索筛选/records.csv \
  -c RV_综述/02_检索筛选/检索配置.json -o RV_综述/02_检索筛选/筛选决定.csv --shortlist 300
```

排序键:`Σ_块(题名最佳词权 × 2 + 摘要最佳词权) → 命中块数 → 有无摘要 → 被引数`,其中**精确短语 3 分、单词 1 分**(这是压制泛词噪音最直接的杠杆)。

前 300 条进入筛选;其余自动标 `pass1 = not-screened-lowrank`。**必须给 `-c`**,不给就退化成弱排序。

**台账已存在且已有判定时不要跑 `rank`**(会清空判定,脚本本身也会拒绝执行)——那是续跑,直接跳到 4.2 从第一条空判定接着筛。

**4.2 连续筛(分批是内部颗粒度,不是汇报节奏)**

只筛 `pass1` 不是 `not-screened-lowrank` 的记录,按 `seq` 顺序,每次在脑子里处理约 40 条:

`ai_decision` ∈ {include, exclude, unclear} + `ai_reason`(排除必须对应标准表里的某一条,**每篇只记一个首要排除理由**)

- 无摘要(`has_abstract=N`)→ 一律 `unclear`,不得据题名排除。
- 判不准 → `unclear`。宁可多留——摘要层定稿模式下没有第二道关了。
- 量大时先过一遍题名(只排明显的人群/场景不符,绝不用需要读摘要才能判的标准),再对推进的读摘要;两遍**连着跑完,中间不汇报**。用 `pass1` 列记进度(`exclude` / `advance` / `pass2-done` / `locked-noabs`)。

**每处理完一批,写一个分片** `RV_综述/02_检索筛选/筛选决定-partNNN.csv`(列只需 `uid, pass1, ai_decision, ai_reason`),**然后立刻继续下一批**(硬约束 9)。

**分片只给真正逐条判定的记录用。** `not-screened-lowrank` 由 `rank` 一次性写进台账,**绝不为它们写分片**——那会产出几百个空壳文件。`merge` 成功后分片自动归档进 `_parts/`。

**4.3 合并 + 收敛检查**

```bash
python3 <skill>/scripts/oa_search.py merge -b RV_综述/02_检索筛选/筛选决定.csv -p RV_综述/02_检索筛选/筛选决定-part*.csv
```

`merge` 把判定写回台账、拒绝 AI 填写人工列、报进度,并做**收敛检查**:

| include 数 | 动作 |
|---|---|
| **60–100** | 达标 → 第 5 步 |
| **< 60** | `expand -b 筛选决定.csv -n 600` 扩线,**只筛新增的那批**,重跑 merge。扩到 900 仍不足 → 接受,记账 |
| **> 100** | **不扩线、不改标准**:对 include 集按标准表里最核心的 1–2 条闸门再过一遍,边缘的降为 **unclear**(进候选池,**不是 exclude**),重跑 merge |

**最多调 2 次**,两次后接受当前数字并如实汇报(硬约束 8)。每次调整都要写进 `检索记录.md`:调整前的 include 数、动作、理由。**不得事后按结果反推标准。**

**跑不完怎么办**:上下文预算将尽时先跑 4.3 写盘再停,汇报里写清 `已筛 X / N,续跑从 seq=Y 起`。

台账列固定为:
`seq, uid, doi, title, year, journal, has_abstract, n_blocks_hit, found_via, oa_url, rank_score, pass1, ai_decision, ai_reason, pdf_status, evidence_level, reviewer_1, reviewer_2, final_decision, note`

AI 可写 `pass1 / ai_decision / ai_reason`(本步)与 `pdf_status / evidence_level`(③ 成文阶段回填);
`reviewer_1 / reviewer_2 / final_decision / note` **永远留空**给人填,`merge` 会拒绝 AI 写入。

**4.4 手工补充(书 / 书章 / 库外经典)**

OpenAlex 对专著与书章的覆盖弱于期刊论文,整合式综述尤其容易漏掉最重要的一批:

```bash
python3 <skill>/scripts/oa_search.py add -b RV_综述/02_检索筛选/筛选决定.csv \
  --dois 10.xxxx/yyy --csv 手工题录.csv --reason "概念奠基专著"
```

补进来的记录 `found_via = manual:<理由>`,走同样的筛选流程,**选择流程说明里单列为「其他方法识别的记录」,不得混进数据库检索命中数**。

### 第 5 步 · 引文追踪补漏(一轮,自动)

**前提:第 4 步已筛完候选集**(`merge` 报「候选集全部筛完」)。

对 `include` 的记录做双向追踪(对齐已发表综述"翻纳入文献参考文献"这一步):

```bash
python3 <skill>/scripts/oa_search.py cite -c RV_综述/02_检索筛选/检索配置.json \
  --dois-file RV_综述/02_检索筛选/included_dois.txt --known-csv RV_综述/02_检索筛选/records.csv \
  -o RV_综述/02_检索筛选/补漏 --min-blocks 2
```

补漏集走同样的第 4 步筛选(`rank -i 补漏.csv --shortlist 0` 建自己的台账——补漏集通常本来就不大,不必再截断),`found_via` 保留为 `citation:backward` / `citation:forward`,选择流程里单列成"其他方法识别的记录"。**只做一轮**,不递归。

补漏筛完后**把 include 数合并计算**,再对总数做一次第 4.3 的收敛检查。

### 第 6 步 · 入 Zotero + 出表 + 复核清单

**6.1 入 Zotero**:调 `lit-pdf-zotero`,**明确 override**:

- **不建金字塔**——`Classic / Key Texts / Supporting-P/X/Y/V` 是 PXYV 那套,综述文章不用。**也不出金字塔分布图与 PXYV 罗盘图。**
- **只建一个 Collection:`review-<项目名>`**,不下设子集合。
- **只入 `ai_decision = include` 的文献**——Zotero 里这个集合就等于本综述的纳入集。`unclear` 的留在台账里交人复核,人确认后再手工加进来。
- **本步不做专门的 PDF 获取**(那是 ③ 的事)。`zotero_add_by_doi` 的 `attach_mode="auto"` 顺手抓到 OA PDF 就抓到,**抓不到不重试、不换渠道、不记账、不报告**。
  ⚠️ 已知故障:zotero-mcp 的 `attach_mode="auto"` 在上传失败时**仍会返回「PDF attached」**(`_download_and_attach_pdf` 不检查 `attachment_both` 的返回值直接 `return True`)。**不得把接口提示当作附件已挂的证据**;要报告附件状态就必须用子项接口复查。
  ⚠️ **禁止用 `zotero_add_from_file` 挂 PDF**——它没有 parent 参数,永远新建父条目,只会造重复题录。
- 标签用 `sr-included` + 项目 slug;`extra` 写 `study_id`、`found_via`、`doi`。
- **Zotero 写入失败不阻塞**:降级为导出 RIS / BibTeX 落 `RV_综述/02_检索筛选/`,写进降级记录,流程继续。
- 人之后手工改了 `final_decision`,以台账为准;**不要自作主张改 Zotero 集合成员**。

纳入集**只在这一步之后**才成立,交给 `lit-verify` 做一次 DOI / 题录验真,再进入 ③(`review-synthesis`)。

**6.2 出表**(一趟出全,不再分两趟):

1. **检索记录表** → `RV_综述/02_检索筛选/检索记录.md`
   `| # | 概念块 / 步骤 | 内容 | 命中数 |` 的 S1–Sn 表(`probe` 直接给),加上:检索日期、检索源、完整可复跑检索式、限制器及理由、迭代过程(第 2 步每轮)、**截断规则与扩线记录**、协议偏离。
2. **纳入 / 排除标准表** → `RV_综述/02_检索筛选/纳入排除标准.md`
   `| 维度 | 纳入 | 排除 |`,维度如可得性、样本、学科、研究设计、文献类型、语言、年份。**"全文层标准 · 本流程未执行"的条目单独标出。**
3. **选择流程数字** → `RV_综述/02_检索筛选/选择流程.md`
   识别(各源命中数)→ 去重删除数 → 去重后总数 → **未进入筛选(相关性排序预算外)** → 进入摘要筛选数 → 摘要排除数(按理由分组)→ include → unclear → 纳入集。
   **每个数字标出从哪张表哪一列反算得来**;对不上就停下报错。
   - systematic 型:可画 PRISMA 式流程图,但**必须在图注写明"未进行全文合格性评估,本流程在题摘层定稿"**。
   - semi-systematic:加一张**传统 / 主题覆盖表**。
   - integrative:加一张**概念覆盖矩阵**(概念 × 文献,标出空格)。
   - 全文获取率一栏留空标「待 ③ 回写」——那是成文阶段的数字。
4. **待人工复核清单** → `RV_综述/02_检索筛选/待复核.md`
   列 `ai_decision = include` 与 `unclear`(各带 AI 理由),加一节「需要你确认的三件事」——① 概念块是否漏了本学科行话;② 是否需要去 Scopus / WoS 复核一次纳入集(投保守期刊时);③ 边界记录的裁决。
   **这份清单不是停点**:默认直接往下走 ③,用户想看随时能看。

**筛选未跑完时**:三张表照出,但每一份产出的**开头必须放醒目警告**——已筛 X/N、剩余 Z 条未筛、排除数与纳入数都是部分值、不得据此绘制流程图或撰写方法节,并写清续跑位置。**不得把部分结果呈现成最终结果。**

最后给会话内小结:规模链各步数字、**降级记录逐条摊开**、协议偏离、以及"人接下来要做什么"。

## 与其他 skill 的边界

- 纳入集验真 → `lit-verify`(第 6 步之后跑一次)。
- **全文获取 → ③ 成文阶段**(`review-synthesis` 起手做,best-effort,调 `lit-pdf-zotero` / `scansci-pdf`)。**本 skill 不取全文。**
- 下游综合 → `review-synthesis`(三型三方法)。**不要走 `data-analysis-round` / `analyze-quantitative-data`**——那是实证论文的单研究数据分析,不含效应量合成。
- **综述文章的三型都走本 skill**。`literature-search`(PXYV 金字塔)是给**实证论文**定位理论坐标用的,对综述文章是错的产出形状——审稿人问的是"你怎么选的文献",金字塔答不了。
- 成文 → `review-draft`(按 PRISMA / RAMESES / Torraco 报告规范,局限节必须写摘要层定稿这一条)。

Files in this skill

  • SKILL.md24.4 KB
  • scripts/oa_search.py42.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.