mcpField
A
author-strategy

author-strategy

github.com/aperivueデータ・データベース353108 回インストール1 日前に更新
リポジトリ

author-strategy について

author-strategyは、PubMedの著者別論文記録を分析する研究者向けスキルです。発表動向、研究タイプ、著者順、トピックのレポートを作成し、任意の軌跡分類には説明可能なヒューリスティックを用います。

主な機能

  1. 01PubMed論文記録の取得
  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、Cross-national、National survey、Biobank、AI/ML、Clinical trial、Case report、Letter/Commentary。それ以外は「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 になります(同姓同名の著者を本人とみなすことはありません)。CSV の journal_tier 列は常に 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 を読み、ラベルは客観的な分類ではなく、説明可能なヒューリスティックであることを冒頭で明示したうえでユーザーに提示してください。該当する各アーキタイプについて、スコア、信頼度区分、著者自身のエビデンス PMIDs を示してください。[VERIFY] マーカー(h-index/引用数/会場の階層は利用不可)と A5 の参加フラグを尊重してください。サンプルが最小数に満たない場合やシグナルが矛盾する場合も、insufficient evidence のアーキタイプを一覧に含めてください。ラベルを無理に付与してはいけません。

ルーブリックを調整するには、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

コメント