Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/tiangzlab/omicsclaw/sc-batch-integrationnpx skills add TianGzlab/OmicsClaw --skill sc-batch-integrationgit clone --depth 1 https://github.com/TianGzlab/OmicsClawWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/tiangzlab/omicsclaw/sc-batch-integration)<a href="https://agentmods.dev/skills/tiangzlab/omicsclaw/sc-batch-integration"><img src="https://agentmods.dev/badge/skills/tiangzlab/omicsclaw/sc-batch-integration.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00070 | $0.01544 |
| Opus 5 | $0.00035 | $0.00772 |
| Sonnet 5 | $0.00014 | $0.00309 |
| Haiku 4.5 | $0.00007 | $0.00154 |
Grade A, and why
sc-batch-integration scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 134 lines — stays where its author put it; the contents beside it link to each section on GitHub.
sc-batch-integration
When to use
The user has a merged multi-sample AnnData (post-sc-multi-count or
similar) and needs to remove batch effects so downstream clustering /
annotation isn't dominated by per-sample technical variation. Seven
backends share one CLI: harmony (default), scvi, scanvi (requires
labels), bbknn, scanorama, simba, plus R-backed methods (e.g.
Seurat integration anchors). Quality is reported as LISI / ASW
diagnostics when available.
Inputs & Outputs
Inputs
- Modalities: scrna
- File types:
.h5ad - Requires a preprocessed AnnData (
Xnormalised, PCA/neighbours present)
Outputs
tables/batch_mixing_matrix.csvtables/batch_sizes.csvtables/cell_metadata.csvtables/cluster_sizes.csvtables/embedding.csvtables/integration_metrics.csvtables/integration_summary.csvtables/obs.csvtables/umap.csvtables/umap_points.csvfigures/batch_mixing_heatmap.pngfigures/integration_metrics.pngfigures/r_embedding_discrete.pnganalysis_summary.txtinput.h5adprocessed.h5adreport.mdresult.json- Processed AnnData (
saves_h5ad) — addsobsm:X_<method>,X_pca
Flow
- Load merged AnnData; resolve
--batch-key(defaultbatch). - Validate backend prerequisites (e.g.
scanvineeds--labels-key). - Run the chosen
--method; write the integrated embedding toobsm["X_<method>"](BBKNN is the exception — it adjusts the neighbour graph in-place and leaves the embedding asobsm["X_pca"]). - Compute LISI / ASW diagnostics (best-effort; non-fatal if unavailable).
- Emit summary + batch-composition + diagnostics tables.
- Save
processed.h5ad+report.md+result.json.
Gotchas
scanvisilently falls back toscviwhen labels are missing.sc_integrate.py:189-193logs"scANVI requires labels; falling back to scVI latent integration"and writesresult["requested_method"] = "scanvi",result["executed_method"] = "scvi",result["fallback_used"] = True. After every--method scanvirun, verifyresult.json["executed_method"]matches the request;--labels-keymust be set and contain valid labels to actually get scANVI.simbamissing → hard fail.sc_integrate.py:242raisesImportErrorwhen--method simbaruns without thesimbapackage installed. Install viapip install simba/conda install -c bioconda simba/ from-source per the message. scvi-tools failures surface separately with their own ImportError further downstream.- Scanorama can return zero overlapping cells.
sc_integrate.py:349raisesRuntimeError("Scanorama did not produce 'X_scanorama' embeddings")when batches share no genes (typical: gene-namespace mismatch). Pre-runsc-standardize-inputon each batch. - R-backed methods can produce zero-overlap returns too.
sc_integrate.py:400raisesRuntimeError(f"R integration method '{method}' returned no overlapping cells")for the same root cause. - LISI / ASW diagnostics are best-effort.
sc_integrate.py:514and:529log"LISI diagnostics unavailable"/"ASW diagnostics unavailable"and continue when scIB or its dependencies are missing. Absence of metric rows intables/integration_metrics.csvdoes not imply integration quality is bad — it means the diagnostics could not be computed.
What ships with it
9 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- references/methodology.md 4.2 KB
- references/output_contract.md 2.6 KB
- references/parameters.md 3.4 KB
- references/r_visualization.md 855 B
- sc_integrate.py 43 KB runs code
- skill.yaml 5.2 KB
- tests/__init__.py 0 B runs code
- tests/test_sc_integrate_methods.py 616 B runs code
- tests/test_sc_integrate.py 2.9 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 134 lines · 70 tokens per session scan A 3579f3aa8f82
sc-batch-integration is a skill published in the GitHub repository TianGzlab/OmicsClaw (160 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 70 tokens to every session and 1,544 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
spatial-integration
Multi-sample integration and batch correction for spatial transcriptomics data.
spatial-multi-sample-integration
Multi-sample spatial transcriptomics integration and batch correction with automatic method selection (STAligner, Harmony, BBKNN, Scanorama) and robust fallback.
Virtual Embryo — atlas data + knowledge graph
Query the Virtual Embryo knowledge graph (mouse/human developmental biology: genes, anatomy, Theiler/Carnegie stages, gene expression, diseases, papers) and its 3D atlas catalog (anatomical OPT/light-sheet volumes + 3D spatial- transcriptomics datasets), and visualise those datasets in 3D with the volume3d / spatial3d…
batch_integration_advisor
Recommend a batch-integration strategy and explain the tradeoffs for preserving biology versus removing technical effects.
pkpd-modeling
Pharmacokinetic and pharmacodynamic modelling and simulation - non-compartmental analysis, compartmental and population PK, PK/PD and exposure-response, TMDD, PBPK orientation, bioequivalence, allometric scaling and first-in-human dose, drug interaction prediction, and Bayesian therapeutic drug monitoring. Use when…
neuropixels-analysis
Analyze Neuropixels extracellular recordings end-to-end with SpikeInterface. Covers loading SpikeGLX/Open Ephys/NWB data, preprocessing, drift/motion correction, Kilosort4 (and CPU) spike sorting, quality metrics, and unit curation (threshold-based, model-based UnitRefine, and AI-assisted visual review). Use when…