mcpField
A
author-strategy

author-strategy

github.com/aperivue数据与数据库353108 次安装1 天前更新
代码仓库

关于 author-strategy

author-strategy 是分析 PubMed 作者发表记录的技能,面向研究者,可生成发表趋势、研究类型、作者位置和主题聚类报告。它仅使用 PubMed 元数据及已获取的标题和摘要,并以可解释的启发式方法进行可选的轨迹分类。

主要功能

  1. 01获取 PubMed 发表记录
  2. 02分析发表趋势与研究类型
  3. 03生成图表和策略报告
  4. 04分析作者署名位置
  5. 05可选的启发式轨迹分类

适用场景

  1. 01梳理研究者的发表趋势与主题
  2. 02比较研究类型和作者署名位置
  3. 03在人工审核语料后探索职业轨迹类别

安装

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

$npx skills add https://github.com/aperivue/medsci-skills --skill author-strategy

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

包含的文件

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

analyze_patterns.py
classify_archetypes.py
fetch_pubmed.py
pubmed_parse.py
render_archetype_doc.py
skill.yml
references/
trajectory_archetypes.md
trajectory_archetypes.yaml
tests/
test_archetype_classifier.sh
tests/fixtures/
sample_corpus.csv
two_samesurname_authors.xml

详细介绍

/author-strategy — PubMed 作者策略分析

仅使用已获取的 PubMed 元数据和标题/摘要文本。不要检索全文、打开外部链接或解析预印本。需要引用、引用半衰期、期刊影响力等级、仓库/预印本链接或通讯作者角色的信号均为 unavailable,并标记为 [VERIFY]——绝不可推断。

前提条件

  • Python 3.10+,以及 biopython、pandas、matplotlib、seaborn 和 pyyaml(原型分类器和评分标准渲染器需要 PyYAML)
  • 脚本:${CLAUDE_SKILL_DIR}/fetch_pubmed.py、${CLAUDE_SKILL_DIR}/analyze_patterns.py、${CLAUDE_SKILL_DIR}/pubmed_parse.py(标准库解析器)、${CLAUDE_SKILL_DIR}/classify_archetypes.py、${CLAUDE_SKILL_DIR}/render_archetype_doc.py
  • 评分标准:${CLAUDE_SKILL_DIR}/references/trajectory_archetypes.yaml(权威版本)和 ${CLAUDE_SKILL_DIR}/references/trajectory_archetypes.md(生成文件)

工作流

步骤 1:收集输入

向用户询问:

  1. 作者姓名(PubMed 格式,例如 “Kim DK” 或 “Lee KS”)
  2. 姓氏,用于作者位置分类(含糊不清时自动检测)
  3. 输出目录(默认:~/.local/cache/author-strategy/{AuthorName}/)
  4. 电子邮件,用于 NCBI E-utilities(通过 --email 传入)
步骤 2:获取 PubMed 数据
python "${CLAUDE_SKILL_DIR}/fetch_pubmed.py" "{Author Name}" \
  --last-name "{LastName}" \
  --output "{output_dir}/data/{name}_publications.csv" \
  --email "{user_email}"

检查控制台摘要(总数、研究类型分布、作者位置)。 如果数量为 0,应建议尝试其他姓名格式(例如 “Kim DK” 与 “Kim D” 或完整名字),而不是生成数据。

步骤 3:生成可视化图表和报告
python "${CLAUDE_SKILL_DIR}/analyze_patterns.py" "{output_dir}/data/{name}_publications.csv" \
  --output-dir "{output_dir}/report/" \
  --author-name "{Author Name}"

这将生成 7 张 PNG 图表(01-07)和包含策略分析的 analysis_report.md。

研究类型根据 pubmed_parse.py 中的关键词规则确定,按以下顺序匹配,取第一个匹配项:GBD、SR/MA、NHIS/Claims、跨国研究、全国性调查、生物样本库、AI/ML、临床试验、病例报告、来信/评论;其他类型均标记为 “Other”。按脚本原样呈现标签——绝不要凭猜测重新分类论文。

步骤 4:解读并呈现

阅读 analysis_report.md 并向用户呈现;所有数量和比率都必须来自该报告或已获取的 CSV,不得凭记忆提供:

  1. 执行摘要:发表总数、增长轨迹、最常发表的期刊(期刊影响力等级为 unavailable——绝不要给出“高等级期刊”发表率)
  2. 主要策略:哪种研究类型占主导,以及原因
  3. 作者位置分析:第一/末位作者比例与中间位置的对比(仅为位置启发式分析——并非领导角色或通讯作者元数据,此处无法获取)
  4. 主题聚类:研究重点领域
  5. ROI 象限:哪些研究类型兼具发表数量和第一/末位作者比例(图表 07;不含期刊等级维度)
  6. 可复现机会:哪些模式可通过 Claude Code + 公共数据库复现

在相关情况下说明分类器的局限:它针对韩国流行病学和公共卫生研究人员进行调优,在其他领域可能会低估专业研究类型;缺少其关键词的 NHIS 研究会被归为 “Other”。

已知局限:如果提供的 --orcid 或 --initials 与论文中所有同姓作者都不匹配,则 match_basis 为 orcid-conflict / initials-conflict,作者位置为 unknown(绝不将论文归于同名作者)。journal_tier CSV 列始终为 unavailable [VERIFY]。A3 报告质量术语列表已不再包含 claim(该词会匹配 “claims database”),因此仅提及 CLAIM 清单的论文不会计入 dual_mode_corpus。

步骤 5:可选 — MA 研究空白识别

如果用户询问“这位教授有哪些可行的 MA 主题?”:

  • 将主题聚类与用户现有的 MA 计划进行交叉比对
  • 找出教授具备领域专长但尚未发表 MA 研究的空白
  • 按优先级列出 MA 研究提案

可选:轨迹原型分类

选择启用此路径,将轨迹分类为抽象的职业原型(A1–A6 + 一个复合型),这是一种可解释的、多标签、带置信度评分的启发式方法,并非客观结论,使用规范的评分标准 references/trajectory_archetypes.yaml。

步骤 6:消歧关卡(分类前必需)

仅凭姓氏绝不能确定作者身份。请提供消歧信息,以唯一确定目标作者:

python "${CLAUDE_SKILL_DIR}/fetch_pubmed.py" "{Author Name}" \
  --initials "{Initials}" --orcid "{ORCID}" \
  --affiliation "{Institution}" --year-from "{YYYY}" --year-to "{YYYY}" \
  --output "{output_dir}/data/{name}_publications.csv" --email "{user_email}"

此操作会写入 CSV、包含所属机构/年份候选集群的 candidates.json,以及 review_status: pending 的 corpus_manifest.json。**请将候选集群交由用户审核。**由用户决定纳入或排除。只有用户审核完这些集群后,才能最终确定并批准语料(--approve 标志是人工把关机制——未经用户明确审核/批准,绝不能设置该标志):

python "${CLAUDE_SKILL_DIR}/fetch_pubmed.py" "{Author Name}" \
  --initials "{Initials}" --affiliation "{Institution}" \
  --include-pmids "{included.txt}" --exclude-pmids "{excluded.txt}" --approve \
  --output "{output_dir}/data/{name}_publications.csv" --email "{user_email}"

清单通过加密方式与 CSV 绑定(csv_sha256 + pmid_set_hash);分类器拒绝对未经批准或不匹配的语料运行。

步骤 7:运行分类器并展示结果
python "${CLAUDE_SKILL_DIR}/classify_archetypes.py" \
  "{output_dir}/data/{name}_publications.csv" \
  --manifest "{output_dir}/data/corpus_manifest.json" \
  --rubric "${CLAUDE_SKILL_DIR}/references/trajectory_archetypes.yaml" \
  --output-dir "{output_dir}/report/"

阅读 archetype_report.md 并展示给用户,一开始就说明这些标签是可解释的启发式结果,而非客观分类。对于每个呈现的原型,展示分数、置信度区间和作者本人的证据 PMID。遵循 [VERIFY] 标记(h-index/引用次数/期刊层级不可用)及 A5 参与标记。也要列出证据不足的原型——样本低于最低要求或信号存在冲突时,绝不强行贴标签。

如需调整评分标准,只编辑 YAML 并重新生成叙述文档:

python "${CLAUDE_SKILL_DIR}/render_archetype_doc.py"        # regenerate the .md
python "${CLAUDE_SKILL_DIR}/render_archetype_doc.py" --check # CI/test sync gate

输出结构

{output_dir}/
  data/
    {name}_publications.csv
    candidates.json          # disambiguation candidate clusters (Step 6)
    corpus_manifest.json     # review_status + csv_sha256 + pmid_set_hash (Step 6)
  report/
    analysis_report.md
    01_yearly_stacked.png
    02_study_type_pie.png
    03_author_position.png
    04_journal_heatmap.png
    05_topic_distribution.png
    06_growth_curve.png
    07_strategy_roi.png
    archetype_report.md      # trajectory-archetype classification (Step 7)
    archetype_results.json   # machine-readable labels + scores + evidence

评论

支持 Markdown