author-strategy について
author-strategyは、PubMedの著者別論文記録を分析する研究者向けスキルです。発表動向、研究タイプ、著者順、トピックのレポートを作成し、任意の軌跡分類には説明可能なヒューリスティックを用います。
主な機能
- 01PubMed論文記録の取得
- 02発表動向と研究タイプの分析
- 03チャートと分析レポートの作成
- 04著者順の分析
- 05任意のヒューリスティックな軌跡分類
活用シーン
- 01研究者の発表動向とトピックの把握
- 02研究タイプと著者順の比較
- 03コーパス確認後の軌跡類型の探索
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ aperivue/ medsci-skills --skill author-strategyインストール後、Claude Code で/author-strategyを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
analyze_patterns.pyclassify_archetypes.pyfetch_pubmed.pypubmed_parse.pyrender_archetype_doc.pyskill.ymlreferences/trajectory_archetypes.mdtrajectory_archetypes.yamltests/test_archetype_classifier.shtests/fixtures/sample_corpus.csvtwo_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:入力情報の収集
ユーザーに以下を尋ねます。
- 著者名(PubMed 形式。例:「Kim DK」または「Lee KS」)
- 位置分類に使用する姓(曖昧な場合は自動検出)
- 出力ディレクトリ(既定値:
~/.local/cache/author-strategy/{AuthorName}/) - 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 に基づくものとし、記憶に頼ってはいけません。
- エグゼクティブサマリー:出版物の合計、増加の推移、掲載頻度が最も高いジャーナル(掲載誌のインパクト階層は
unavailableのため、「高インパクト階層」の割合を提示してはいけません) - 主要戦略:どの研究タイプが中心か、その理由
- 著者位置の分析:筆頭/最終著者の位置の割合と中間著者の比較(位置に基づくヒューリスティックにすぎず、リーダーシップや責任著者のメタデータを示すものではありません。ここでは入手できません)
- トピッククラスター:研究の重点分野
- ROI 四象限:どの研究タイプが研究数と筆頭/最終著者の位置の割合を両立しているか(グラフ 07。掲載誌階層の軸はありません)
- 再現の機会: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