Biomedical Skills
SKILL.md files for cancer bioinformatics. Drop one into your project and your AI coding agent handles TCGA data, normalization, and statistics correctly.
Works with Claude Code · Cursor · Codex CLI · Gemini CLI
Skills
| Skill | Description | Tests |
|---|---|---|
cancer-multiomics |
Multi-omics analysis for TCGA/GEO — expression (DESeq2), mutation (maftools), CNV (GISTIC2), methylation (minfi, DMRcate) | TCGA-LUAD |
immune-deconvolution |
Tumor microenvironment estimation via immunedeconv — quanTIseq, EPIC, CIBERSORT, xCell, MCP-counter, TIMER, ESTIMATE, tumor purity correction | TCGA-BRCA |
survival-analysis |
Time-to-event analysis — Kaplan-Meier (ggsurvfit), Cox PH (survival), competing risks (tidycmprsk), RMST (survRM2), optimal cutpoints, forest plots | TCGA-GBM |
single-cell-atlas |
Full scRNA-seq pipeline — QC, doublet detection, normalization, batch integration (Harmony, scVI), Leiden clustering, annotation (CellTypist), pseudobulk DE, trajectory (scVelo, Monocle3), cell communication (CellChat, LIANA), TF activity (decoupleR). Seurat v5 + scanpy | PBMC 3k |
spatial-transcriptomics |
Visium, Visium HD, Xenium, MERSCOPE, CosMx — loading (spatialdata, VisiumIO), spatially local QC (SpotSweeper), spatially variable genes (squidpy, nnSVG), deconvolution (RCTD, cell2location), domains (BANKSY, CellCharter), communication (LIANA+) | Visium mouse brain |
foundation-models |
scGPT, Geneformer, UCE, TranscriptFormer, Nicheformer, Tahoe-x1 — zero-shot embeddings, fine-tuning for annotation, in-silico perturbation, and the benchmark evidence for when a linear baseline wins instead | PBMC 3k |
variant-annotation |
VCF normalization and filtering (bcftools), functional annotation (VEP, SnpEff, ANNOVAR), germline classification (ACMG/AMP with ClinGen refinements), somatic oncogenicity (ClinGen/CGC/VICC) and clinical tiers (AMP/ASCO/CAP, OncoKB, CIViC), TMB, MSI (msisensor-pro), neoantigen prediction (pVACtools) | TCGA-LAML |
drug-response |
Dose-response modeling and drug sensitivity prediction — IC50/AUC curve fitting (drc, nplr, gdscIC50), GDSC/CTRP/PRISM retrieval and cross-dataset harmonization (PharmacoGx, DepMap), sensitivity prediction with regularized regression, tissue-corrected pharmacogenomic biomarkers | simulated |
clinical-nlp |
Information extraction from clinical free text — note sectioning and biomedical NER (scispaCy, cTAKES), assertion and negation via ConText (medspaCy), concept normalization to UMLS and ICD-10 (MedCAT), temporal relations, adverse events, de-identification (Presidio) | synthetic |
computational-pathology |
Whole-slide imaging — reading vendor formats (OpenSlide), the level-0 coordinate frame and microns-per-pixel semantics behind most WSI bugs, tissue detection, tiling, stain normalization (torchstain, HistomicsTK), H&E colour deconvolution, pathology foundation models as tile encoders (UNI, CONCH, Phikon) with their gating and licence constraints, multiple instance learning (CLAM, DSMIL, TransMIL), cell segmentation (StarDist, HoVer-Net), and spatial statistics on cell positions (squidpy) | validated |
biomedical-mcp |
Building Model Context Protocol servers that give AI agents tested access to biomedical databases — MCP tool design (mcp 2.0), the GDC REST API behind TCGA (projects, mutations, clinical), GEO search and Series Matrix retrieval, aggregating the CIViC, OncoKB and ClinVar biomarker databases, pagination and caching, and the data-shape traps (GDC expression is file references, GEO rows are probes not genes, CIViC evidence lives on molecular profiles, OncoKB is token-gated, cross-source nomenclature does not match) | validated |
multiomics-integration |
Joint analysis across molecular layers — method selection, the preprocessing that decides whether integration works (sample intersection, per-view scaling, feature-count imbalance), factor analysis (MOFA2), similarity network fusion (SNFtool), joint clustering (iClusterPlus), supervised integration (DIABLO), and survival on integrated features | validated |
checkpoint-biomarkers |
Predictive biomarkers for immune checkpoint blockade — why PD-L1 CPS/TPS are IHC scores that expression cannot reproduce, antibody-clone dependence, TMB and MSI as assay-derived calls, and the expression signatures that RNA can give you (IFN-γ, TIS, TIDE) with GSVA 2.x scoring | validated |
radiotherapy-response |
Genomic predictors of radiation response — the Radiosensitivity Index written out in full (no package implements it), why its inputs are ranks and why higher means resistant, GARD and its dose dependence, DNA damage repair scored by pathway rather than as one block (msigdbr), post-irradiation immune signatures, and the abscopal effect's lack of a validated predictor | validated |
epigenomics |
ATAC-seq and ChIP-seq — the filtering before peak calling (chrM, ENCODE blacklist, Tn5 shift), ATAC peak calling with MACS3, differential binding and the DiffBind 3.x defaults that silently change results, motif enrichment and chromVAR TF-motif activity, and peak-to-gene assignment where nearest is not target | validated |
meta-analysis |
Systematic review from protocol to synthesis — PROSPERO pre-specification, PICO search construction (MeSH, Emtree, Cochrane CHSSS), deduplication (synthesisr), two-reviewer screening with kappa, PRISMA 2020 flow diagrams, data extraction, risk of bias (RoB 2, ROBINS-I, ROBINS-E, robvis), pooling with metafor (REML, Knapp-Hartung, prediction intervals), subgroup analysis, meta-regression, small-study effects, network meta-analysis (netmeta, transitivity, inconsistency, rankings) and GRADE/CINeMA certainty | BCG |
Benchmarks
Every skill carries a validation suite. One runner executes them all and reports pass/fail/skip and wall-clock time per skill:
python3 tools/run_benchmarks.py # every skill
python3 tools/run_benchmarks.py epigenomics # one skill
The table distinguishes a suite that ran and failed from one that could not run because a dependency or network is absent — the difference that decides whether a red cell means broken code or an unconfigured machine.
Slash commands
Ten Claude Code slash commands that run the protocols above. Clone the repo and they work immediately — commands live in .claude/commands/, which Claude Code picks up per project.
| Command | Arguments | Skill it follows |
|---|---|---|
/analyze-degs |
[counts-file] [condition-column] |
cancer-multiomics |
/run-gsea |
[de-results-file] [gene-set-collection] |
cancer-multiomics |
/plot-survival |
[clinical-file] [group-column] |
survival-analysis |
/annotate-variants |
[vcf-file] [tumour-type] |
variant-annotation |
/deconvolve-immune |
[expression-file] [method] |
immune-deconvolution |
/qc-single-cell |
[h5ad-file] |
single-cell-atlas |
/analyze-spatial |
[data-path] [platform] |
spatial-transcriptomics |
/fit-dose-response |
[data-file] |
drug-response |
/tile-wsi |
[slide-path] [target-mpp] |
computational-pathology |
/query-tcga |
[project-id] [gene] |
biomedical-mcp |
/annotate-variants sample.vcf melanoma
/plot-survival clinical.tsv IDH_status
/tile-wsi slide.svs 0.5
Each command carries the pitfalls from its skill inline, so the protocol travels with the prompt rather than depending on the skill being loaded. Arguments are optional — a command invoked bare asks for what it needs.
Quick start
pip install biomedical-ai-skills
From your project directory:
biomedical-skills list # what's available
biomedical-skills install spatial-transcriptomics # -> .claude/skills/
biomedical-skills install --all # everything
biomedical-skills install cancer-multiomics --target .cursor/skills
No dependencies, so it installs in a couple of seconds.
Or skip the package and copy the files directly:
git clone https://github.com/zamushwani/biomedical-ai-skills.git
mkdir -p your-project/.claude/skills/cancer-multiomics
cp skills/cancer-multiomics/SKILL.md your-project/.claude/skills/cancer-multiomics/
What's a SKILL.md?
A file that gives AI coding agents domain knowledge for a specific field. The agent reads it before generating code and follows tested protocols instead of guessing at parameters.
Without a skill: agent runs DESeq2 without pre-filtering, skips lfcShrink(), uses wrong contrast syntax.
With a skill: agent pre-filters low-count genes, applies apeglm shrinkage, handles TCGA barcodes correctly.
Contributing
See CONTRIBUTING.md and SECURITY.md.
License
Metadata
Release files for biomedical-ai-skills 0.14.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| biomedical_ai_skills-0.14.0.tar.gz | 290.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| biomedical_ai_skills-0.14.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 469.7 kB
Release files / biomedical_ai_skills-0.14.0.tar.gz
| Download URL | biomedical_ai_skills-0.14.0.tar.gz |
|---|---|
| Size | 290.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a69bf850e729ae8fc7c7ba0ea5794d55f45e64d3f6592ff3e5d69164ba44d0c4
|
|
BLAKE2b-256 checksum How to use checksums |
88f0a6555a676ac4d2139c33a1067cc9aa61c94c5de88dc3e6c9184b4127f397
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.
Transparency logRelease files / biomedical_ai_skills-0.14.0-py3-none-any.whl
| Download URL | biomedical_ai_skills-0.14.0-py3-none-any.whl |
|---|---|
| Size | 178.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4c9de00a179a7bf829ed4bdbc724b7719ab094264df7edf771b4fdb9ac09900d
|
|
BLAKE2b-256 checksum How to use checksums |
144032c873faea29304e8f1b30c9c01b0434fa9bf19c9cee019ef051f3503e24
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.
Transparency log