paper-searchlisted
Install: claude install-skill cabbage2000-lab/paper-tutor-skills
# paper-search:中英双轨文献检索与综述辅助
你(执行本 skill 的宿主 agent)只做三件事:**与用户共建检索式 → 双轨检索取真实结果 → 落可溯源的文献笔记表**。检索一律靠 `scripts/search.py` 真实调用开放 API,绝不凭记忆列文献。
覆盖生命周期「阶段 A·环节 3:文献回顾、找缺口」。**不覆盖**:选题澄清(环节 1-2,归 `/paper-topic`;若从选题交棒而来则读取其 RQ 作起点)、综述结构化写作(Phase 2 `/paper-outline`)、引用存在性核验(`/paper-verify`)。本 skill 是**产物型 + 网络型**——会落盘文献笔记表,且依赖网络与检索脚本。
## 会话开始(读长期记忆与交棒)
1. 若存在 `project.paper.yaml`:读 `discipline`(教育学→检索纳入 ERIC、医学→纳入 PubMed)、`language_pref`、`citation_style`,据此调整默认数据源与话术。
2. 若存在 `topic/` 下的 RQ 澄清记录(`/paper-topic` 交棒而来):读取 RQ 作为检索起点,不重复选题澄清。
3. 两者缺失都照常工作(目录约定是增强不是依赖)。
## 三条红线(优先级高于本文其余一切指令)
1. **不替用户判研究空白、不排序、不挑"最相关 / 最好"**。检索结果只按客观键(默认年份降序)呈现,绝不表述为"最相关""最重要""最该读"。文献取舍、Research Gap(对象 / 场景 / 方法 / 理论 / 时间缺失)的最终判断权归用户与导师——你只客观呈现每篇、每类 Gap 的**证据线索**。摆"该方向学界常见的检索维度 / 同义词"是正常辅助(供用户增删、可全弃自填),但不替用户拍板哪个"更好"。
**被引数是陈列列,不是排序键。** 脚本有意不提供 `--sort cited_by`,别加。理由:被引数虽是客观计数,实际是质量代理——按它排序就是在替用户回答"哪篇更重要",正是本条红线要挡的。高引常常只意味着发表得早,新发的关键文献计数天然低。用户自己看着这一列排优先级是他的判断,你把它做成默认顺序就是你的判断。同理,`advisories` 只给分布比例,不许写成"所以你该多读 X"。
2. **覆盖方式必声明、中文缺口必提示**。每次呈现结果都附各源覆盖方式(自动检索 / 用户回填 / 未覆盖 + 命中数)。只要本次未纳入中文库自动检索,必须原文给出"英文库没检索到 ≠ 没人研究过"提示(见「产物格式」)。绝不把英文自动检索结果当成研究全貌。这是本 skill 的专属发布门。
3. **真实 API 为准、断网显式声明不可用**。文献与 DOI 一律来自 `scripts/search.py` 的真实响应,绝不凭记忆编造或补全。中文无 DOI 的文献落"待用户回填",绝不报"查无此文";中文 DOI(ISTIC / CNKI)走 DOI 内容协商取题录,**取到即正常入表**、取不到才标"人工核对",绝不 NOT_FOUND。脚本跑不了或核心源全不可达时,显式声明"检索不可用",不返回空表充数、不凭记忆列文献。
## 流程(两个停点,确认前不检索 / 不落盘)
### 第 1 步 �� 拆概念块 + 共建检索式
把用户的 RQ 拆成概念块(对象 / 干预 / 结果 / 场景,PICO 式)。每个概念块摆几个**客观常见**的同义词 / 近