跳到正文
cccskills
免费在 GitHub 公开

author-strategy

Use when analyzing a researcher's publication record from PubMed. Fetches an author's papers, classifies study types and author position, charts the patterns and writes a strategy report, with an optional trajectory-archetype classification. Works from PubMed metadata only.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(12)

  • SKILL.md7.8 KB
  • analyze_patterns.py13.1 KB
  • classify_archetypes.py21.3 KB
  • fetch_pubmed.py10.7 KB
  • pubmed_parse.py15.7 KB
  • references/trajectory_archetypes.md8.8 KB
  • references/trajectory_archetypes.yaml16.5 KB
  • render_archetype_doc.py7.2 KB
  • skill.yml1.8 KB
  • tests/fixtures/sample_corpus.csv732 B
  • tests/fixtures/two_samesurname_authors.xml1.8 KB
  • tests/test_archetype_classifier.sh21.1 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

/author-strategy — PubMed Author Strategy Analysis

Work from PubMed metadata and the title/abstract text already fetched — nothing else. Do not retrieve full text, follow external links, or resolve preprints. Signals that need citations, citation half-life, venue-impact tier, repository/preprint links, or corresponding-author role are unavailable and surface as [VERIFY] — never inferred.

Prerequisites

  • Python 3.10+ with biopython, pandas, matplotlib, seaborn, and pyyaml (PyYAML is required by the archetype classifier and the rubric renderer)
  • Scripts: ${CLAUDE_SKILL_DIR}/fetch_pubmed.py, ${CLAUDE_SKILL_DIR}/analyze_patterns.py, ${CLAUDE_SKILL_DIR}/pubmed_parse.py (stdlib parser), ${CLAUDE_SKILL_DIR}/classify_archetypes.py, ${CLAUDE_SKILL_DIR}/render_archetype_doc.py
  • Rubric: ${CLAUDE_SKILL_DIR}/references/trajectory_archetypes.yaml (canonical) and ${CLAUDE_SKILL_DIR}/references/trajectory_archetypes.md (generated)

Workflow

Step 1: Gather Input

Ask the user for:

  1. Author name (PubMed format, e.g., "Kim DK" or "Lee KS")
  2. Last name for position classification (auto-detected if ambiguous)
  3. Output directory (default: ~/.local/cache/author-strategy/{AuthorName}/)
  4. Email for NCBI E-utilities (passed as --email)

Step 2: Fetch PubMed Data

python "${CLAUDE_SKILL_DIR}/fetch_pubmed.py" "{Author Name}" \
  --last-name "{LastName}" \
  --output "{output_dir}/data/{name}_publications.csv" \
  --email "{user_email}"

Review the console summary (total count, study type distribution, author position). If count is 0, suggest alternative name formats (e.g., "Kim DK" vs "Kim D" vs the full first name) rather than generating data.

Step 3: Generate Visualizations and Report

python "${CLAUDE_SKILL_DIR}/analyze_patterns.py" "{output_dir}/data/{name}_publications.csv" \
  --output-dir "{output_dir}/report/" \
  --author-name "{Author Name}"

This produces 7 PNG charts (01-07) and analysis_report.md with the strategy breakdown.

Study types come from the keyword rules in pubmed_parse.py, first match in this order: GBD, SR/MA, NHIS/Claims, Cross-national, National survey, Biobank, AI/ML, Clinical trial, Case report, Letter/Commentary; anything else is "Other". Present the script's labels as they are — never reclassify a paper by guess.

Step 4: Interpret and Present

Read analysis_report.md and present to the user; every count and rate comes from that report or the fetched CSV, never from memory:

  1. Executive summary: total publications, growth trajectory, most frequent journals (venue-impact tier is unavailable — never present a "high-tier" rate)
  2. Primary strategy: what study type dominates and why
  3. Author position analysis: first/last positional rate vs middle (positional heuristic only — not leadership or corresponding-author metadata, which are unavailable here)
  4. Topic clusters: research focus areas
  5. ROI quadrant: which study types combine volume with first/last positional rate (chart 07; no venue-tier axis)
  6. Replication opportunities: which patterns are replicable with Claude Code + public databases

State the classifier's limits when they matter: it is tuned for Korean epidemiology and public health researchers and may undercount specialized study types in other fields, and NHIS studies that lack its keywords fall into "Other".

Known limits: a supplied --orcid or --initials that contradicts every same-surname author on a paper yields match_basis orcid-conflict / initials-conflict and position unknown (a namesake is never attributed). The journal_tier CSV column always reads unavailable [VERIFY]. The A3 reporting-quality term list no longer contains claim (it matched "claims database"), so papers naming only the CLAIM checklist do not count toward dual_mode_corpus.

Step 5: Optional — MA Gap Identification

If the user asks "what MA topics are feasible with this professor?":

  • Cross-reference topic clusters with the user's existing MA plans
  • Identify gaps where the professor has domain expertise but no MA published
  • Output a prioritized list of MA proposals

Optional: Trajectory-Archetype Classification

An opt-in path that classifies the trajectory into abstract career archetypes (A1–A6 + a composite) as an explainable, multi-label, confidence-scored heuristic — not an objective verdict, using the canonical rubric references/trajectory_archetypes.yaml.

Step 6: Disambiguation Gate (required before classification)

A surname alone never resolves an author. Pass disambiguators so the target author is uniquely attributed:

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}"

This writes the CSV, a candidates.json of affiliation/year candidate clusters, and a corpus_manifest.json with review_status: pending. Present the candidate clusters to the user for review. The user decides include/exclude. Only after the user has reviewed the clusters do you finalize and approve the corpus (the --approve flag is a human gate — never set it without explicit user review/approval):

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}"

The manifest is cryptographically bound to the CSV (csv_sha256 + pmid_set_hash); the classifier refuses to run on an unapproved or mismatched corpus.

Step 7: Run the Classifier and Present

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/"

Read archetype_report.md and present it to the user, stating up front that the labels are explainable heuristics, not objective classifications. For each surfaced archetype, show the score, confidence band, and the author's own evidence PMIDs. Honor the [VERIFY] markers (h-index/citation/venue-tier are unavailable) and the A5 participation flag. List the insufficient evidence archetypes too — below the minimum sample or with conflicting signals, never force a label.

To retune the rubric, edit only the YAML and regenerate the narrative doc:

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 Structure

{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

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Use when a medical AI paper should be found and cited by AI search engines and RAG tools. Optimizes the title, abstract, summary box (Key Points, Research in Context), keywords, preprint, GitHub README/CITATION.cff and Hugging Face card, returning a visible pass/fail checklist.

中文简介正在准备中。当前显示原文说明。

Aperivue/medsci-skills3492026年10月22日 更新

Use when a target journal has no profile yet. Reads the journal's author guidelines and writes a detailed /write-paper profile plus a compact /find-journal profile, public or user-local private, in the canonical format with quality gates.

中文简介正在准备中。当前显示原文说明。

Aperivue/medsci-skills3492026年10月22日 更新

Use when data needs statistical analysis. Runs reproducible Python/R code for Table 1, diagnostic accuracy, agreement, regression, survival, propensity score, survey-weighted and repeated-measures models, with publication tables. Sample size is /calc-sample-size; pooling studies is /meta-analysis.

中文简介正在准备中。当前显示原文说明。

Aperivue/medsci-skills3492026年10月22日 更新

Renamed to /model-selection in v6 (removed in v7).

中文简介正在准备中。当前显示原文说明。

Aperivue/medsci-skills3492026年10月22日 更新

Use when one validated cohort analysis must be repeated across many exposure/outcome pairs. Generates one R/Python script per combination from a single methodology template, changing only the variables, and aggregates the results into a summary matrix.

中文简介正在准备中。当前显示原文说明。

Aperivue/medsci-skills3492026年10月22日 更新

Use when planning how many patients or cases a study needs before data collection (power analysis, IRB justification). Walks a decision tree to the right test and returns reproducible R/Python code and IRB-ready justification text. Analyzing collected data is /analyze-stats.

中文简介正在准备中。当前显示原文说明。

Aperivue/medsci-skills3492026年10月22日 更新

查看 Aperivue 的全部技能

报告此技能的问题