A pipeline skill is a tested script that Claude runs instead of writing new code for a standard analysis. The design ports ClawBio’s determinism framework: the skill is a contract, and the agent dispatches it without improvising.
What every skill guarantees
No analysis defaults. Thresholds, designs, gene sets and seeds are required arguments. Claude asks you for each one. --demo alone pins demo-only values.
Context travels with the result. A required --context (species, tissue or cell type, condition, dataset) opens every report and summary.
Fixed failures. Bad input prints ERROR: <message> and exits 2, with no traceback.
Required checks. Duplicate ids, a rank-deficient design, and several samples per donor with no donor term all stop the run.
Gene ids kept. Gene tables carry gene_id beside gene_symbol. An ambiguous symbol-to-id map stops the run. Use --gene-id-col none when the data have symbols only.
Nothing silently dropped. Per-feature tables keep every input feature, with a status column: tested, not_tested, not_detected, below_detection or not_measured.
A fixed output tree.
outdir/
├── report.md # context, parameters, summary, figures with captions
├── result.json # summary fields, chat_summary_lines, preferred_artifacts
├── tables/*.tsv
├── data/*.h5ad # objects the next skill reads
├── figures/<name>.{pdf,png,csv}
└── reproducibility/
├── commands.sh # the resolved command, every argument
├── environment.txt # package versions
└── checksums.sha256 # sha256sum -c from outdir
Catalogue
Each skill hands off to the next through its output tables or h5ad.
Claude normally runs the skill for you. To run one by hand, use the uv run line from the skill’s references/maintainer.md:
cd skills/pseudobulk-deuv run --python 3.12 --with anndata,numpy,pandas,scipy,matplotlib,plotnine-extra,pydeseq2 \ python scripts/pseudobulk_de.py --demo--outdir /tmp/pbde-democd /tmp/pbde-demo &&sha256sum-c reproducibility/checksums.sha256
Skills with an R engine (composition, variance-partition, mashr-sharing, longitudinal, enrichment’s fgsea, sc-de, pseudobulk-de’s DESeq2 and dreamlet) need Rscript on PATH or in RSCRIPT, with the R packages installed. The skill never installs them.