关于 Answering Research Questions
Answering Research Questions 是一项协调文献研究流程的技能,涵盖问题解析、PubMed 检索、论文评估、引文追踪和结果综合。它面向需要系统记录研究进度并整理输出的研究任务。
主要功能
- 01解析主题、数据需求与限制
- 02使用 PubMed 检索文献
- 03为论文评分并提取发现
- 04追踪论文及引文关系
- 05将发现整理为研究文件
适用场景
- 01查找与研究主题相关的测量数据
- 02在检索中追踪并去重论文
- 03沿引文发现更多相关研究
- 04生成整合后的文献综述
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ kthorn/ research-superpower --skill answering-research-questions安装后在 Claude Code 中输入/answering-research-questions确认已加载。
详细介绍
回答研究问题
概述
协调从查询到研究发现的完整研究工作流。
核心原则: 系统化、可追踪、全面。搜索 → 评估 → 遍历 → 综合。
开始时说明:“我将使用 Answering Research Questions 技能,查找有关 [主题] 的 [具体数据]。”
流程
阶段 1:解析查询
从用户请求中提取:
关键词:
- 主要概念(例如,“BTK 抑制剂”“选择性”)
- 同义词和替代表述(例如,“Bruton 酪氨酸激酶”)
- 相关术语(例如,“脱靶”“激酶面板”)
所需数据类型:
- 具体测量值(IC50、KD、EC50 等)
- 方法或方案
- 结构或序列
- 结果或结论
限制条件:
- 日期范围
- 特定化合物/靶标
- 生物体或系统
- 出版物类型
如有需要,请提出澄清问题:
- “您需要体外还是体内数据?”
- “有特定的时间范围吗?”
- “您最关注哪些激酶?”
- “我应该使用哪个电子邮箱地址发送 Unpaywall API 请求?”(查找开放获取论文时必需)
阶段 2:初始化研究会话
建议文件夹名称:
research-sessions/YYYY-MM-DD-brief-description/
示例:research-sessions/2025-10-11-btk-inhibitor-selectivity/
向用户展示建议:
📁 Creating research folder: research-sessions/2025-10-11-btk-inhibitor-selectivity/
Proceed? (y/n)
创建文件夹结构:
mkdir -p "research-sessions/YYYY-MM-DD-description"/{papers,citations}
初始化文件:
核心文件(始终创建):
papers-reviewed.json:
{}
citations/citation-graph.json:
{}
SUMMARY.md:
# Research Query: [User's question]
**Started:** YYYY-MM-DD HH:MM
**Keywords:** keyword1, keyword2, keyword3
**Data types sought:** IC50 values, selectivity data, synthesis methods
---
## Highly Relevant Papers (Score ≥ 8)
Papers scored using `evaluating-paper-relevance` skill:
- Score 0-10 based on: Keywords (0-3) + Data type (0-4) + Specificity (0-3)
- Score ≥ 8: Highly relevant with significant data
- Score 7: Relevant with useful data
- Score 5-6: Possibly relevant
- Score < 5: Not relevant
(Papers will be added here as found)
Example format:
### [Paper Title](https://doi.org/10.1234/example)
**DOI:** [10.1234/example](https://doi.org/10.1234/example) | **PMID:** [12345678](https://pubmed.ncbi.nlm.nih.gov/12345678/)
---
## Relevant Papers (Score 7)
(Papers will be added here as found)
---
## Possibly Relevant Papers (Score 5-6)
(Noted for potential follow-up)
---
## Search Progress
- Initial PubMed search: X results
- Papers reviewed: Y
- Papers with relevant data: Z
- Citations followed: N
---
## Key Findings
(Synthesized findings will be added as research progresses)
重要:DOI 和 PMID 始终使用可点击的 Markdown 链接
辅助文件(针对大型搜索,>100 篇论文):
关于何时创建,请参阅 evaluating-paper-relevance 技能:
- README.md - 项目概览、方法、文件清单
- TOP_PRIORITY_PAPERS.md - 按优先级分级整理的精选论文列表
- evaluated-papers.json - 便于程序化访问的丰富结构化数据
对于小型搜索(<50 篇论文),仅创建核心文件。对于大型搜索(>100 篇论文),辅助文件能显著提升组织效率。
阶段 3:检索文献
使用 searching-literature 技能:
- 根据关键词构建 PubMed 查询
- 执行搜索(从 100 条结果开始)
- 将结果保存到
initial-search-results.json - 报告:“🔎 找到 N 篇符合查询条件的论文”
阶段 4:评估论文
使用 evaluating-paper-relevance 技能:
对于每篇论文:
- 检查 papers-reviewed.json(如已处理,则跳过)
- 阶段 1:为摘要评分(0–10)
- 若评分 ≥ 7:进行阶段 2 深入分析
- 将研究发现提取到 SUMMARY.md
- 如有 PDF 和补充材料,则下载
- 更新 papers-reviewed.json(所有论文均需更新,包括低分论文)
- 若评分 ≥ 7:针对该论文继续执行阶段 5
重要:无论评分高低,都要将每篇论文添加到 papers-reviewed.json。这可避免重复评审,并记录完整的搜索历史。
报告每篇论文的进度:
📄 [15/100] Screening: "Paper Title"
Abstract score: 8 → Fetching full text...
✓ Found IC50 data for 8 compounds
→ Added to SUMMARY.md
📄 [16/100] Screening: "Another Paper"
Abstract score: 3 → Skipping (not relevant)
📄 [17/100] Screening: "Third Paper"
Abstract score: 7 → Relevant, adding to queue...
每评估 10 篇论文,提供一次汇总进度
阶段 5:遍历引文
使用 traversing-citations 技能:
对于评分 ≥ 7 的论文:
- 获取参考文献(向后追溯)
- 获取引证文献(向前追溯)
- 按相关性筛选(评分 ≥ 5)
- 加入处理队列
- 评估队列中的论文(返回阶段 4)
报告进度:
🔗 Following citations from highly relevant paper
→ Found 12 relevant references
→ Found 8 relevant citing papers
→ Adding 20 papers to queue
阶段 6:检查点
在以下情况下检查:
- 每评审 50 篇论文
- 每处理 5 分钟
- 队列清空
询问用户:
⏸️ Checkpoint: Reviewed 50 papers, found 12 relevant
Papers with data: 7
Continue searching? (y/n/summary)
选项:
y- 继续处理n- 停止并完成整理summary- 显示当前研究发现,然后再决定
阶段 7:综合研究结果
停止时(用户表示不需要,或队列为空):
选项 A:手动综合(小规模研究)
- 查看 SUMMARY.md——按相关性和主题整理
- 提取关键发现——按数据类型分组
- 添加综合分析部分:
## Key Findings Summary
### IC50 Values for BTK Inhibitors
- Compound A: 12 nM (Smith et al., 2023)
- Compound B: 45 nM (Doe et al., 2024)
- [More compounds...]
### Selectivity Data
- Compound A shows >80-fold selectivity vs other kinases
- Tested against panel of 50 kinases (Jones et al., 2023)
### Synthesis Methods
- Lead compounds synthesized via [method]
- Yields: 30-45%
- Full protocols in [papers]
### Gaps Identified
- No data on selectivity vs [specific kinase]
- Limited in vivo data
- Few papers on resistance mechanisms
- 更新搜索进度统计
- 列出所有已下载文件
选项 B:基于脚本的综合(大型研究,论文超过 50 篇)
对于大型研究,可考虑创建综合分析脚本:
创建 generate_summary.py:
- 从辅助脚本中读取
evaluated-papers.json - 按优先级和支架类型汇总研究发现
- 生成全面的 SUMMARY.md,其中包含:
- 附带统计数据的执行摘要
- 按相关性评分分组的论文
- 后续步骤的优先级建议
- 方法说明文档
- 包含时间戳和可复现性信息
优势:
- 不同研究期间的格式保持一致
- 添加更多论文后可轻松重新生成
- 可自定义分组和筛选逻辑
- 完整记录研究方法
最终报告:
✅ Research complete!
📊 Summary:
- Papers reviewed: 127
- Relevant papers: 18
- Highly relevant: 7
- Data extracted: IC50 values for 45 compounds, selectivity data, synthesis methods
📁 All findings in: research-sessions/2025-10-11-btk-inhibitor-selectivity/
- SUMMARY.md (organized findings)
- papers/ (14 PDFs + supplementary data)
- papers-reviewed.json (complete tracking)
阶段 8:最终汇总
重要:务必在最后汇总研究结果
1. 创建 relevant-papers.json
筛选 papers-reviewed.json,仅提取相关论文(评分 ≥ 7):
# Read papers-reviewed.json
with open('papers-reviewed.json') as f:
all_papers = json.load(f)
# Filter for relevant papers (score >= 7)
relevant_papers = {
doi: data for doi, data in all_papers.items()
if data.get('score', 0) >= 7
}
# Save to relevant-papers.json
with open('relevant-papers.json', 'w') as f:
json.dump(relevant_papers, f, indent=2)
格式:
{
"10.1234/example1.2023": {
"pmid": "12345678",
"title": "Paper title",
"status": "highly_relevant",
"score": 9,
"source": "pubmed_search",
"timestamp": "2025-10-11T16:00:00Z",
"found_data": ["IC50 values", "synthesis methods"],
"chembl_id": "CHEMBL1234567"
},
"10.1234/example2.2023": {
"pmid": "23456789",
"title": "Another paper",
"status": "relevant",
"score": 7,
"source": "forward_citation",
"timestamp": "2025-10-11T16:15:00Z",
"found_data": ["MIC data"]
}
}
2. 在 SUMMARY.md 中添加方法部分
将以下部分添加到现有 SUMMARY.md 的顶部(论文列表之前):
# Research Query: [User's question]
**Date:** 2025-10-11
**Duration:** 2h 15m
**Status:** Complete
---
## Search Strategy
**Keywords:** BTK, Bruton tyrosine kinase, inhibitor, selectivity, off-target, kinase panel, IC50
**Data types sought:** IC50 values, selectivity data, kinase panel screening
**Constraints:** None (open date range)
**PubMed Query:**
("BTK" OR "Bruton tyrosine kinase") AND (inhibitor OR "kinase inhibitor") AND (selectivity OR "off-target")
---
## Screening Methodology
**Rubric:** Abstract scoring (0-10)
- Key terms: +3 pts each (or Keywords 0-3, Data type 0-4, Specificity 0-3 if using old rubric)
- Relevant terms: +1 pt each
- Threshold: ≥7 = relevant
**Sources:**
- Initial PubMed search
- Forward/backward citations via Semantic Scholar
---
## Results Statistics
**Papers Screened:**
- Total reviewed: 127 papers
- Highly relevant (≥8): 12 papers
- Relevant (7): 18 papers
- Possibly relevant (5-6): 23 papers
- Not relevant (<5): 74 papers
**Data Extracted:**
- IC50 values: 45 compounds across 12 papers
- Selectivity data: 8 papers with kinase panel screening
- Full text obtained: 18/30 relevant papers (60%)
**Citation Traversal:**
- Papers with citations followed: 7
- References screened: 45 papers
- Citing papers screened: 38 papers
- Relevant papers found via citations: 8 papers
---
## Key Findings Summary
### IC50 Values for BTK Inhibitors
- Ibrutinib: 0.5 nM (Smith et al., 2023)
- Acalabrutinib: 3 nM (Doe et al., 2024)
- [Additional findings synthesized from papers below]
### Selectivity Patterns
- Most inhibitors show >50-fold selectivity vs other kinases
- Common off-targets: TEC, BMX (other TEC family kinases)
### Gaps Identified
- Limited data on selectivity vs JAK/SYK
- Few papers on resistance mechanisms
- No in vivo selectivity data found
---
## File Inventory
- `SUMMARY.md` - This file (methodology + findings)
- `relevant-papers.json` - 30 relevant papers (score ≥7)
- `papers-reviewed.json` - All 127 papers screened
- `papers/` - 18 PDFs + 5 supplementary files
- `citations/citation-graph.json` - Citation relationships
---
## Reproducibility
**To reproduce:**
1. Use PubMed query above
2. Apply screening rubric (threshold ≥7)
3. Follow citations from highly relevant papers (≥8)
4. Check Unpaywall for paywalled papers
**Software:** Research Superpowers skills v2025-10-11
---
[Existing paper listings follow below...]
## Highly Relevant Papers (Score ≥ 8)
### [Paper Title]...
向用户报告:
✅ Research session complete!
📄 Consolidation complete:
1. SUMMARY.md - Enhanced with methodology, statistics, and findings
2. relevant-papers.json - 30 relevant papers (score ≥7) in JSON format
📁 All files in: research-sessions/2025-10-11-btk-inhibitor-selectivity/
- SUMMARY.md (complete: methodology + paper-by-paper findings)
- relevant-papers.json (30 relevant papers for programmatic access)
- papers-reviewed.json (127 total papers screened)
- papers/ (18 PDFs)
🔍 Quick access:
- Open SUMMARY.md for complete findings and methodology
- Use relevant-papers.json for programmatic access
💡 Optional: Clean up intermediate files?
→ Use cleaning-up-research-sessions skill to safely remove temporary files
工作流检查清单
使用 TodoWrite 跟踪以下步骤:
- 解析用户查询(关键词、数据类型、限制条件)
- 提议并创建研究文件夹
- 初始化跟踪文件(SUMMARY.md、papers-reviewed.json、citation-graph.json)
- 使用 searching-literature 技能搜索 PubMed
- 对每篇论文:使用 evaluating-paper-relevance 技能进行评估
- 对相关论文(≥7):使用 traversing-citations 技能遍历引用
- 定期报告进度
- 每处理 50 篇论文或每 5 分钟创建检查点
- 完成后:综合研究结果,并在 SUMMARY.md 中补充方法说明
- 创建 relevant-papers.json(供程序访问的筛选后 JSON)
- 最终报告研究统计数据和文件位置
集成点
使用的技能:
searching-literature——初始 PubMed 搜索evaluating-paper-relevance——对论文评分并提取信息traversing-citations——遍历引用网络
所有技能通过以下文件协同工作:
- 共享的
papers-reviewed.json(用于去重) - 共享的
SUMMARY.md(用于累积研究发现) - 共享的
citation-graph.json(用于跟踪关系)
文件组织:
- **小规模搜索(论文少于 50 篇):**仅使用核心文件(papers-reviewed.json、SUMMARY.md、citation-graph.json)
- **所有搜索:**最后创建 relevant-papers.json;在 SUMMARY.md 中补充方法说明
- **大型搜索(论文超过 100 篇):**可添加辅助文件(README.md、TOP_PRIORITY_PAPERS.md、evaluated-papers.json),以便更好地组织
错误处理
未找到结果:
- 尝试使用更宽泛的关键词
- 移除限制条件
- 检查拼写
- 尝试不同的同义词
API 速率限制:
- 向用户报告:“⏸️ 触发速率限制,正在等待……”
- 等待所需时间
- 自动恢复
无法获取全文:
- 在 SUMMARY.md 中注明
- 继续仅基于摘要进行评估
- 如果论文高度相关,则标记以便手动获取
结果过多(超过 500 篇):
- 建议缩小查询范围
- 处理前 100 篇,并询问是否继续
- 优先关注最新或引用次数最多的论文
快速参考
| 阶段 | 技能 | 输出 |
|---|---|---|
| 解析 | (内置) | 关键词、数据类型、约束 |
| 初始化 | (内置) | 文件夹、SUMMARY.md、跟踪文件 |
| 搜索 | searching-literature | 带元数据的论文列表 |
| 评估 | evaluating-paper-relevance | 评分后的论文、提取的发现 |
| 追溯 | traversing-citations | 从引文中找到的其他论文 |
| 综合 | (内置) | 补充了方法和发现的 SUMMARY.md |
| 汇总 | (内置) | relevant-papers.json(筛选出评分 ≥7 的论文) |
常见错误
未跟踪所有论文: 只将相关论文添加到 papers-reviewed.json → 添加每一篇论文,避免重复审阅并跟踪完整历史 为小规模搜索创建不必要的辅助文件: 少于 50 篇论文时,使用核心文件(papers-reviewed.json、SUMMARY.md、citation-graph.json)即可。对于大规模搜索(超过 100 篇),README.md 和 TOP_PRIORITY_PAPERS.md 等辅助文件会很有帮助。 默默工作: 用户看不到进度 → 汇报每一篇论文,每 10 篇更新一次 标识符无法点击: DOI/PMID 仅为纯文本 → 始终使用 Markdown 链接 搜索质量不佳就开始评估: 结果过于狭窄 → 先优化搜索 未跟踪论文: 重复审阅同一篇论文 → 始终使用 papers-reviewed.json 追踪所有引文: 导致指数级膨胀 → 追溯前先筛选 没有检查点: 用户会失去上下文 → 每 50 篇汇报并询问 综合质量差: 只列出论文 → 按数据类型分组,提取关键发现 批量汇报: 一次汇报 20 篇论文 → 逐篇汇报
与用户沟通(重要)
绝不要默默工作!用户需要持续获得反馈。
汇报频率:
- 每篇论文: 筛选时简要汇报状态(
📄 [N/Total] Title... Score: X) - 每 5-10 篇论文: 汇总进度和数量
- 每项发现: 立即汇报找到的数据
- 每个决策点: 改变方向前先询问
在进度报告中提供具体信息:
- ✅ “发现化合物 7 的 IC50 = 12 nM(表 2)”
- ❌ “发现了数据”
- ✅ “正在筛选第 25/127 篇论文:不相关(评分 3)”
- ❌ 默默跳过论文
必要时请求澄清:
- ✅ “您要找的是体外还是体内 IC50 值?”
- ❌ 自行假设,可能浪费时间
立即报告阻碍:
- ✅ “⚠️ 论文需要付费才能阅读——仅根据摘要进行评估”
- ❌ 不提及原因就默默跳过
定期汇总(每 10-15 篇论文):
📊 Progress update:
- Reviewed: 30/127 papers
- Highly relevant: 3 (scores 8-10)
- Relevant: 5 (score 7)
- Currently: Screening paper 31...
原因: 用户可以及早调整方向,知道工作正在进行,并可在需要时停止
成功标准
研究过程满足以下条件即为成功:
- 找到并评估所有相关论文
- 提取并整理具体数据
- 系统地追溯引文
- 未重复处理
- SUMMARY.md 清晰呈现可执行的发现
- 根据证据回答用户问题
后续步骤
完成研究后:
- 用户查看 SUMMARY.md 和 relevant-papers.json
- 可选: 运行 cleaning-up-research-sessions 技能以删除中间文件
- 可要求深入研究特定论文
- 可使用优化后的关键词要求后续搜索
- 可归档或分享研究会话文件夹