mcpField
A
Answering Research Questions

Answering Research Questions

github.com/kthorn生产力13160 次安装53 周前更新
代码仓库

关于 Answering Research Questions

Answering Research Questions 是一项协调文献研究流程的技能,涵盖问题解析、PubMed 检索、论文评估、引文追踪和结果综合。它面向需要系统记录研究进度并整理输出的研究任务。

主要功能

  1. 01解析主题、数据需求与限制
  2. 02使用 PubMed 检索文献
  3. 03为论文评分并提取发现
  4. 04追踪论文及引文关系
  5. 05将发现整理为研究文件

适用场景

  1. 01查找与研究主题相关的测量数据
  2. 02在检索中追踪并去重论文
  3. 03沿引文发现更多相关研究
  4. 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 技能:

  1. 根据关键词构建 PubMed 查询
  2. 执行搜索(从 100 条结果开始)
  3. 将结果保存到 initial-search-results.json
  4. 报告:“🔎 找到 N 篇符合查询条件的论文”
阶段 4:评估论文

使用 evaluating-paper-relevance 技能:

对于每篇论文:

  1. 检查 papers-reviewed.json(如已处理,则跳过)
  2. 阶段 1:为摘要评分(0–10)
  3. 若评分 ≥ 7:进行阶段 2 深入分析
  4. 将研究发现提取到 SUMMARY.md
  5. 如有 PDF 和补充材料,则下载
  6. 更新 papers-reviewed.json(所有论文均需更新,包括低分论文)
  7. 若评分 ≥ 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 的论文:

  1. 获取参考文献(向后追溯)
  2. 获取引证文献(向前追溯)
  3. 按相关性筛选(评分 ≥ 5)
  4. 加入处理队列
  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:手动综合(小规模研究)

  1. 查看 SUMMARY.md——按相关性和主题整理
  2. 提取关键发现——按数据类型分组
  3. 添加综合分析部分:
## 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
  1. 更新搜索进度统计
  2. 列出所有已下载文件

选项 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)
  • 最终报告研究统计数据和文件位置

集成点

使用的技能:

  1. searching-literature——初始 PubMed 搜索
  2. evaluating-paper-relevance——对论文评分并提取信息
  3. 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 技能以删除中间文件
  • 可要求深入研究特定论文
  • 可使用优化后的关键词要求后续搜索
  • 可归档或分享研究会话文件夹

评论

支持 Markdown