mcpField
M
ma-scout

ma-scout

github.com/aperivue生产力353112 次安装1 天前更新
代码仓库

关于 ma-scout

MA Scout 是用于荟萃分析正式方案制定前的选题技能,面向需要从导师专长或临床问题出发确定研究方向的人。它结合多来源文献检索、既有综述与注册方案排查及可行性估算,对候选主题排序。

主要功能

  1. 01支持导师优先与主题优先模式
  2. 02分析导师研究方向与发表主题
  3. 03跨来源检索既有综述和方案
  4. 04估算可纳入研究数量及可行性
  5. 05按多项标准排序候选主题
  6. 06为候选主题建立项目文件与 README

适用场景

  1. 01根据导师研究领域寻找荟萃分析主题
  2. 02评估临床问题是否适合荟萃分析
  3. 03检查已发表综述和 PROSPERO 方案
  4. 04为选定主题准备项目框架

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/aperivue/medsci-skills --skill ma-scout

安装后在 Claude Code 中输入/ma-scout确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

skill.yml
references/
project_readme_template_ko.md
project_readme_template.md
topic_discovery_heuristics.md
tests/
test_esearch_count_and_prospero.sh

详细介绍

MA Scout Skill

此技能负责 Meta 分析的前期阶段——从构思到生成按优先级排序的选题列表。 如需实际开展 MA(PROSPERO、筛选、分析),请转交给 /meta-analysis。

模式选择

信号模式
提供教授姓名或个人资料 URLA:教授优先
临床问题、关键词、趋势,或“帮我找个选题”B:选题优先
两者都提供(例如“这个选题配这位教授”)A(将选题作为筛选条件)

如果不明确,请询问用户是想按教授(导师优先)还是按选题(问题优先)进行搜索。

输入

模式 A:教授优先
  • 教授姓名(母语和英语);个人资料 URL(ScholarWorks、SKKU Faculty、Google Scholar、ORCID);PubMed 作者链接(最好包含用于消歧的 cauthor_id);已知专业领域;任职经历(例如,“医院 A → 医院 B → 退休”)
  • 最低要求:姓名 + 至少一个个人资料 URL 或 PubMed 链接
模式 B:选题优先
  • 临床问题或关键词;放射学亚专科范围;MA 类型偏好(DTA、预后、干预——可选);期望角色(独立第一作者 / 共同第一作者 / 匹配导师)
  • 最低要求:临床问题或关键词

工作流

模式 A(教授优先): 阶段 0 → 1 → 2 → 3 → 4 → 5 模式 B(选题优先): T-阶段 0 → T-1 → T-2 → T-3 → T-4 → T-5 阶段 2(MA 选题空白分析)和阶段 4(README 模板)为两种模式共用。

使用 /search-lit 的 E-utilities 脚本查询 PubMed,而不是使用 WebFetch——速度更快,并会返回结构化 JSON/XML:${CLAUDE_SKILL_DIR}/../search-lit/references/pubmed_eutils.sh 以及同目录下的 parse_pubmed.py。速率限制:每次调用间隔 350 ms(使用 NCBI_API_KEY 时为 100 ms)。

模式 A:教授优先工作流

阶段 0:消歧与背景确认

在进行任何 PubMed 搜索之前,先确认作者身份:

  1. 先确认完整的英文姓名。 如果提供了 cauthor_id,获取对应的 PMID 页面,以确认完整姓名和所属机构。切勿一开始就使用仅含姓名首字母的搜索,因为常见的韩国/亚洲姓名首字母组合(例如“Lee KS”)会返回 300 多篇论文,产生大量无关结果。首次搜索必须使用 "[Full Name]"[Author]。
  2. 向用户确认任职经历。 询问 {detected affiliation} 是否符合该教授的任职经历(教授可能会更换机构——不要想当然),并询问用户与该教授的关系,以便调整选题建议。仅当用户已明确提供任职经历时才跳过。
  3. 个人资料 URL 备用查找顺序:
    • 第 1 顺位:PubMed 完整姓名搜索(始终可用)
    • 第 2 顺位:Google Scholar 个人资料(WebSearch "[Full Name]" radiology scholar)
    • 第 3 顺位:ResearchGate 个人资料(WebSearch "[Full Name]" researchgate radiology)
    • 第 4 顺位:ScholarWorks / SKKU / 大学教师页面(如果提供了 URL)
    • 最后:Scopus/ScienceDirect——会返回 403 或登录重定向;切勿依赖它们
阶段 1:学术画像探索(E-utilities API)

目标: 确定教授 5-6 个不同的研究支柱。

步骤 1 — 发表论文总数 + PMID 列表:

bash ${CLAUDE_SKILL_DIR}/../search-lit/references/pubmed_eutils.sh search \
  '"[Full Name]"[Author]' 200 \
  | python3 ${CLAUDE_SKILL_DIR}/../search-lit/references/parse_pubmed.py esearch

如果解析器以非零状态退出(返回错误正文,或没有 count),则总数未知——重新运行搜索;绝不要将其记录为 0 篇论文或 0 篇 MA。

步骤 2 — 获取用于基于 MeSH 聚类的元数据(并行):

# Get PMIDs from Step 1, then fetch summaries
bash ${CLAUDE_SKILL_DIR}/../search-lit/references/pubmed_eutils.sh fetch_json \
  "PMID1,PMID2,..." \
  | python3 ${CLAUDE_SKILL_DIR}/../search-lit/references/parse_pubmed.py esummary

步骤 3 — 特定主题的计数(通过并行 Bash 调用启动 4-5 次搜索):

bash ${CLAUDE_SKILL_DIR}/../search-lit/references/pubmed_eutils.sh search \
  '"[Full Name]"[Author] AND "keyword1"' 5
bash ${CLAUDE_SKILL_DIR}/../search-lit/references/pubmed_eutils.sh search \
  '"[Full Name]"[Author] AND "keyword2"' 5
# ... repeat for each suspected pillar keyword

步骤 4 — 提取 MeSH 术语以自动聚类研究支柱:

# Fetch full XML for top-cited papers to extract MeSH headings
bash ${CLAUDE_SKILL_DIR}/../search-lit/references/pubmed_eutils.sh fetch \
  "PMID1,PMID2,...,PMID20" \
  | python3 -c "
import sys, xml.etree.ElementTree as ET
from collections import Counter
root = ET.fromstring(sys.stdin.read())
mesh_counts = Counter()
for article in root.findall('.//PubmedArticle'):
    for mh in article.findall('.//MeshHeading/DescriptorName'):
        mesh_counts[mh.text] += 1
for term, count in mesh_counts.most_common(30):
    print(f'{count:3d}  {term}')
"

→ 排名靠前的 MeSH 术语揭示了自然形成的研究支柱(例如,“Colonography, Computed Tomographic” = CTC 支柱)。

步骤 5 — Google Scholar 个人主页(与 PubMed 调用并行): WebSearch 搜索 "[Full Name]" radiology scholar google 以获取 h-index 和引用数据;对用户提供的任何其他个人主页 URL 使用 WebFetch (跳过 Scopus)。

输出:研究支柱摘要表。 论文数量和研究支柱归属来自 E-utilities 输出,h-index 来自 Scholar 个人主页——绝不估算。

研究支柱领域代表性关键词MeSH 术语估计论文数
1.........~N+
阶段 2:MA 空白分析(多源)

目标: 对每个研究支柱,使用 PubMed + Consensus + Scholar Gateway + bioRxiv + PROSPERO 确定是否存在可行的 MA 主题。

并行处理研究支柱:最多使用 4 个子 Agent,每个负责 1-2 个研究支柱并执行 2a–2g,且各自报告原始 k 值、实际可行的 k 值以及检查过的每个来源。如果 PubMed 返回 0,或 Consensus/Scholar Gateway 不可用,应说明该限制,而不是猜测。

2a. PubMed E-utilities — 现有 MA + 原始研究
# Existing MAs (structured count)
bash ${CLAUDE_SKILL_DIR}/../search-lit/references/pubmed_eutils.sh search \
  '[pillar keywords] AND ("meta-analysis"[pt] OR "systematic review"[pt])' 50

# Primary studies with extractable outcomes
bash ${CLAUDE_SKILL_DIR}/../search-lit/references/pubmed_eutils.sh search \
  '[pillar keywords] AND ("sensitivity" OR "specificity" OR "accuracy" OR "prognosis" OR "outcome")' 50
2b. Consensus MCP — 语义 MA 空白检测

使用 mcp__claude_ai_Consensus__search 查找 PubMed 关键词搜索可能遗漏的现有 SR/MA:

query: "systematic review OR meta-analysis [pillar topic] [imaging modality]"

Consensus 返回按引用量排序的结果——检查是否已有被大量引用的 MA 涵盖了拟议范围。 限制: 每批阶段 2 中,所有 Agent 总共最多调用 Consensus 3 次(速率限制)。如果 触发速率限制,等待 30 s 后重试一次。

2c. Scholar Gateway — 语义相似性搜索

使用 mcp__claude_ai_Scholar_Gateway__semanticSearch 查找使用不同术语的 MA (例如,用 “pooled analysis” 代替 “meta-analysis”)、使用不同关键词但范围重叠的 MA,以及部分涵盖该主题的方法学综述。

2d. bioRxiv/medRxiv — 检测在审竞争

使用 mcp__claude_ai_bioRxiv__search_preprints 查找已作为预印本发布但尚未收录在 PubMed 中的 MA、作为预印本共享的 SR/MA 方案,以及可能改变可行性的最新原始研究。

query: "[pillar keywords] meta-analysis OR systematic review"
server: "medrxiv"  (clinical topics; "biorxiv" for preclinical)
2e. 评估矩阵
因素标准
MA 空白现有 MA = 0 篇,最佳;1-3 篇 = 检查范围重叠;>5 篇 = 已饱和
原始研究 k 值DTA ≥8 篇,预后研究至少 ≥6 篇;理想值 ≥15 篇
时效性最近一篇 MA 已超过 5 年 = 存在更新机会
竞争情况检查最近两年是否有可能阻止新研究进入的最新 MA
2f. PROSPERO 竞争检查(必做)
  • 通过 WebSearch 搜索 PROSPERO:site:crd.york.ac.uk/prospero [topic keywords];也可尝试通过 WebFetch 访问 https://www.crd.york.ac.uk/prospero/#searchadvanced
  • 查找可能阻止新研究进入的已注册但尚未发表的方案;如果找到 PROSPERO 匹配项 → 在排名中标记为 🚫 竞争风险
  • 记录确切的查询内容、搜索日期以及以下状态之一:searched (match found)、searched (no match) 或 not checked (unavailable/failed);如果获取到的是网站框架页面或错误页面而非结果列表,则标记为 not checked。只有 searched (no match) 才能通过 PROSPERO 检查。
2g. 估算现实可行的 k 值
  • PubMed 原始命中数并不等于真实 k 值——大多数研究缺少 2×2 数据或 HR,因此原始计数会高估 3–7 倍
  • 采用保守折扣:DTA 主题的现实可行 k 值 ≈ 原始计数 × 0.15–0.30
  • 如果现实可行的 k 值 < 8(DTA)或 < 6(预后),则标记为 ⚠️ 可行性风险
  • 同时报告原始估算值和现实估算值,例如:estimated k: ~130 (raw) → ~20–40 (extractable DTA data)
2h. 发现细分子主题(如果主要领域看起来已饱和,既往 MA >5 篇)

尝试以下角度,并使用 Consensus 检查该细分角度是否已有相关研究:

  1. “首篇 MA”规则: 教授最独特、最细分且 MA = 0 的子主题
  2. AI/影像组学叠加: 经典影像主题 + AI 方法
  3. 治疗反应: 诊断领域的 MA 往往已饱和;治疗监测领域通常仍有研究空间
  4. 成像方式比较: 直接比较(例如 CEUS 与 MRI)往往研究不足
  5. 指南空白: 教授参与撰写的指南 → 支持或更新该指南的 MA
  6. 特定人群: 特定亚群、疾病亚型或地区人群(例如寄生虫病、TB)
  7. 时间更新: 最近的 MA 发布于 >5 年前,且此后已有重要的新原始研究
第 3 阶段:主题排名

目标: 根据综合得分对所有可行主题进行排名。按 5 项标准为每个候选主题评分(★1-5):

标准权重描述
教授匹配度最高教授职业生涯的核心领域、发表论文数量、独特贡献
MA 空白高没有既往 MA > 距离上次 MA 已 ≥5 年 > 存在近期 MA
可行性(k)高可纳入研究的数量,以及提取 2×2 或 HR 数据的可行性
临床影响中该主题是否直接为临床决策提供依据
执行难度中是否仅凭文献即可完成;管理异质性的难度

输出:主题排名表

排名主题教授的主要领域既往 MA估算 k 值(原始→现实)PROSPERO 竞争情况结论
1......0~98 → 15–30无✅ 最匹配
第 4 阶段:搭建文件夹和 README

目标: 为每个可行主题创建项目文件夹和 README。

  1. 文件夹位置: {working_dir}/ma-scout/{initials}_{professor_name}/{NN}_{topic_slug}/
    • 教授文件夹:{initials}_{name}(例如,KDK_Kim、LKS_Lee)
    • NN:教授名下的顺序编号(01、02、...);topic_slug:以英文书写、用下划线分隔
    • 创建前使用 ls 检查现有文件夹
  2. README.md(可用于 PROSPERO): 将模板块从 ${CLAUDE_SKILL_DIR}/references/project_readme_template.md 复制到 {topic_folder}/README.md,并填写内容(PICO/PIRD 框架、初步检索、目标期刊表格、倒排时间表)。研究问题、PICO/PIRD 和 README 内容均使用英文撰写,医学术语始终使用英文;除非用户要求提供该参考资料中指定的面向韩国 PI 的版本。
第 5 阶段:输出摘要
  1. 将主题排名表和 README 文件保存到工作目录。
  2. 总结:扫描的主题总数、找到的可行主题数量、建议的后续步骤(参见交接部分)。

模式 B:主题优先工作流

T-Phase 0:主题澄清与范围界定

目标: 将用户的临床问题细化为可检索且可在 PROSPERO 注册的范围。当 用户未提出具体想法、而是要求推荐主题时,先阅读 ${CLAUDE_SKILL_DIR}/references/topic_discovery_heuristics.md,以生成候选问题。

  1. 解析输入 — 疾病/病症(例如“肝细胞癌”);影像方式或干预(例如“双能 CT”“AI CAD”);结局类型:DTA(Se/Sp)、预后(HR/OR)、干预(RR/MD)、剂量学;人群特征(例如“筛查场景”“肝硬化患者”)。
  2. 拓展相邻方向 — 提出 3-5 个变体,例如:
    user input: "AI for lung nodule malignancy prediction"
    → variant 1: AI vs radiologist for lung nodule malignancy prediction (DTA)
    → variant 2: Radiomics for lung nodule malignancy (DTA)
    → variant 3: Deep learning for incidental pulmonary nodule management (prognostic)
    
  3. 用户选择 1-3 个方向以便进一步调查。
T-Phase 1:领域扫描(多来源)

目标: 针对每个选定方向,快速评估 MA 领域现状。并行处理所有方向。 针对每个方向:

1a. PubMed — 现有 MA 数量
bash ${CLAUDE_SKILL_DIR}/../search-lit/references/pubmed_eutils.sh search \
  '[topic keywords] AND ("meta-analysis"[pt] OR "systematic review"[pt])' 50
1b. PubMed — 原始研究池
bash ${CLAUDE_SKILL_DIR}/../search-lit/references/pubmed_eutils.sh search \
  '[topic keywords] AND ("sensitivity" OR "specificity" OR "hazard" OR "outcome")' 100
1c. Consensus MCP — 语义 MA 检索
query: "systematic review [topic] [modality]"

检查是否有使用不同术语的 MA。

1d. bioRxiv/medRxiv — 预印本竞争情况
query: "[topic] meta-analysis"
server: "medrxiv"
1e. PROSPERO — 已注册方案

WebSearch:site:crd.york.ac.uk/prospero [topic keywords]

输出:领域概况表

变体现有 MA原始 k 值实际 k 值PROSPERO预印本 MA结论
1312018-3610⚠️ 竞争激烈
208513-2500✅ 最佳
T-Phase 2:可行性深入分析

目标: 对可行方向(MA ≤ 2,且无 PROSPERO 冲突),执行与模式 A 相同的 Phase 2(MA 差距分析) — 步骤 2a 至 2h。由于无需评估“教授契合度”,请重点关注:

  • 差距确定性 — 现有 MA 是否确实与拟议范围不重叠?
  • k 值质量 — 原始研究是否足够异质,值得进行 MA,还是过于一致?
  • 用户领域契合度 — 是否符合用户在放射学 AI / 影像方面的专长?
T-Phase 3:主题排序(主题优先权重)
标准权重说明
MA 差距最高无现有 MA > 有更新机会 > 领域已饱和
可行性(k)最高k_realistic ≥ 8(DTA)或 ≥ 6(预后)
用户领域契合度高是否符合用户的专业领域?
临床影响中是否有望改变指南;是否与临床决策直接相关
合著者可用性中是否能联系到该领域专家(已有联系或容易联系)
执行难度中能否独立完成,还是需要专家解读

输出:主题排名表

排名主题现有 MA预估 k 值PROSPERO是否需要合著者总体评价
1...025无可选✅ 最佳
T-Phase 4:合著者匹配(可选)

目标: 如果用户希望有一位资深合著者,则寻找候选人。

策略 1 — 现有人脉: 检查工作目录中的记忆文件和现有教授文件夹,寻找研究方向自然涵盖该主题的教授(最合适的人选)。

策略 2 — PubMed 反向检索:

# Find prolific authors in this specific topic
bash ${CLAUDE_SKILL_DIR}/../search-lit/references/pubmed_eutils.sh search \
  '[topic keywords] AND ("{user_country}"[Affiliation])' 100

然后通过 E-utilities efetch 统计作者出现频次;该细分领域发表论文最多的前 5 位作者可作为合著者候选人。通过 Google Scholar 核实其 h 指数和近期活跃度。

策略 3 — 自主开展(无资深合著者): 用户已发表 2 篇或以上 MA,且主题在方法学上较为简单时,此方案可行。仍需一位第二审稿人(初级同事或同行)——请在 README 中注明。通讯作者 = 用户。

输出: 合著者推荐表或“可独立开展”的判断。

T 阶段 5:文件夹与 README 脚手架(主题优先)
  1. 文件夹位置:{working_dir}/ma-scout/TOPIC/{NN}_{Topic_Abbreviation}/(例如, 01_AI_Lung_Nodule_DTA/)。主题优先项目使用 TOPIC/ 前缀,而不是教授姓名首字母;如果之后匹配到共同作者,文件夹可以移至教授文件夹下。
  2. **README.md:**使用 ${CLAUDE_SKILL_DIR}/references/project_readme_template.md 中的第 4 阶段模板和独立模式调整(Lead/Domain 行、团队专长、自主时间线)。
  3. **摘要:**与模式 A 第 5 阶段相同——保存排名结果并提出后续步骤建议。

质量门槛

在最终确定某个主题可行之前:

  • (A) 已确认作者身份——通过 E-utilities efetch 确认全名,不存在仅凭姓名首字母导致的混淆
  • (A) 已与用户确认所属机构(或通过可靠来源确认)
  • (A) 教授的发表记录表明其在该领域具有明确的权威性
  • (B) 临床问题已细化为 PICO/PIRD(而非仅有关键词)
  • (A) 已确认 MA = 0 或最近一项 MA 发表时间超过 5 年(通过 PubMed E-utilities 确认,而非假设)
  • 已交叉验证 PubMed 以及所有已连接的语义或预印本来源(Consensus、Scholar Gateway、bioRxiv/medRxiv);对于无法访问的来源,须注明并记录为未检查,绝不能写成“未发现竞争性研究”——不存在使用不同术语的隐性 MA,也不存在正在进行中的预印本 MA
  • 已确认 k_realistic ≥ 8(DTA)或 ≥ 6(预后),其中 k_realistic = 原始数量 × 0.15–0.30 (§2g:保留原始检索结果的 15–30%,即折减 70–85%——而非折减 15–30%)
  • 已检索 PROSPERO——搜索已运行并返回结果(记录查询内容和日期,§2f),且未发现已注册的竞争性方案。PROSPERO 搜索失败或无法使用时,须标记为“未检查”,绝不能写成“未发现”:此项仍未完成
  • 最近两年内没有发表中或预印本形式的竞争性 MA
  • 研究问题足够具体,可在 PROSPERO 注册
  • (B) 用户具备足够的领域专长以进行临床解读(或已确定共同作者);已确定第二位审稿人或制定招募计划
  • (B) 如果由用户独立开展:用户已发表 ≥ 2 项 MA(否则建议邀请共同作者)
  • **README 包含:**完整的 PICO/PIRD、PubMed 检索策略、Embase 检索草案、含 IF 的目标期刊、时间线

交接

  • 转交给 /meta-analysis:主题获批且已准备好撰写 PROSPERO 方案时(README 中已有 PICO 和检索策略)
  • 转交给 /manage-project:项目文件夹需要完整的脚手架,或用户希望将结果保存到项目管理中时
  • 转交给 /search-lit:提交之前需要进行更深入的初步检索时
  • 转交给 /analyze-stats:可行性评估需要针对估算的 k 进行效能/样本量计算时

阶段 6:提案前流程(侦察后)

MA Scout 找到可行主题后,在联系教授前准备一份“可直接提案”的材料包。各主题相互独立:每轮最多运行 4 个 Agent,每个 Agent 均执行搜索 → 获取 → 初筛 → 写入文件。

  1. 执行搜索 — 使用 E-utilities 和扩展后的同义词(retmax=200)
    • 主要搜索:[topic] AND [outcome keywords]
    • 现有 MA 搜索:[topic] AND ("meta-analysis"[pt] OR "systematic review"[pt])
  2. 收集元数据 — fetch_json → esummary(每批 40-50 个 PMID)
  3. 基于标题的初筛 — 分类为 INCLUDE / MAYBE / EXCLUDE
    • 检查结果中是否有现有 MA —— 初步侦察可能遗漏了这些研究
    • 分离会污染研究池的不同子方法(例如,支气管镜与经皮方法)
    • 标记教授本人发表的论文(权威性证据)和已撤稿论文
  4. PRISMA 流程草案 — 识别 → 筛选 → 资格评估 → 纳入(估算)
  5. 重新评估研究空白 — 更新 MA 数量,并在必要时重新定位: MA=0 →“首篇 MA” | MA=1(>5 年)→“更新 MA” | MA≥3(近期)→跳过/细分主题
  6. 输出文件:
    • candidates.md — 完整的初筛表 + PRISMA 流程 + 研究空白结论
    • README.md — 更新“初步检索”部分,并填入实际数字

教授联系材料包 — 提案前材料包向教授提供:候选研究数量 + 研究空白证据(例如,“MA = 0,纳入 35 项研究”)、清晰的角色描述(例如,“仅负责独立筛选复核和讨论”),以及尽快进行 PROSPERO 预注册以锁定主题的紧迫性。

评论

支持 Markdown