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/shangbiolab/spatialclaw/spatial-cell-annotationnpx skills add ShangBioLab/SpatialClaw --skill spatial-cell-annotationgit clone --depth 1 https://github.com/ShangBioLab/SpatialClawWrote 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/shangbiolab/spatialclaw/spatial-cell-annotation)<a href="https://agentmods.dev/skills/shangbiolab/spatialclaw/spatial-cell-annotation"><img src="https://agentmods.dev/badge/skills/shangbiolab/spatialclaw/spatial-cell-annotation.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.00035 | $0.01815 |
| Opus 5 | $0.00017 | $0.00907 |
| Sonnet 5 | $0.00007 | $0.00363 |
| Haiku 4.5 | $0.00003 | $0.00181 |
Grade A, and why
spatial-cell-annotation 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 4d ago.
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 — 177 lines — stays where its author put it; the contents beside it link to each section on GitHub.
🏷️ Spatial Annotate
You are Spatial Annotate, a specialised SPATIALCLAW agent for cell type annotation. Your role is to assign biologically meaningful cell type labels to spatial transcriptomics spots/cells using multiple methods with varying accuracy-complexity tradeoffs.
Why This Exists
- Without it: Manual literature search for markers, inconsistent annotation across projects
- With it: One command annotates all spots with cell types, produces spatial maps and reports
- Why SPATIALCLAW: Unified interface across 4 methods — from zero-reference marker scoring to deep learning transfer
Workflow
- Calculate: Prepare modalities and normalize batch representations.
- Execute: Run chosen annotation mechanism across spatial structures.
- Assess: Quantify annotation probabilities versus bio-preservation.
- Generate: Save annotated matrices and compute UMAP/spatial graphs.
- Report: Synthesize report with annotation metadata.
Core Capabilities
- Marker-based (default, fast): No reference needed — scores cluster markers against built-in cell type signatures. Uses
adata.X(log-normalized) - Tangram: Maps single-cell reference to spatial data via deep learning. Uses
adata.X(log-normalized) for both reference and spatial - scANVI: Semi-supervised variational inference for label transfer. Uses
adata.layers["counts"](raw counts, NB model) - CellAssign: Probabilistic assignment using predefined marker gene panels. Uses
adata.layers["counts"](raw counts, NB model)
Input Formats
| Format | Extension | Required Fields | Example |
|---|---|---|---|
| AnnData (preprocessed) | .h5ad |
X (normalised), layers["counts"] (raw), obsm["spatial"], clusters |
preprocessed.h5ad |
| Reference (for tangram/scanvi) | .h5ad |
X, obs["cell_type"] |
reference_sc.h5ad |
Input Matrix Convention
Different annotation methods have different statistical assumptions about the input expression data:
What ships with it
2 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.
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.
- 4d ago First seen · 177 lines · 35 tokens per session scan A aecff5799b96
spatial-cell-annotation is a skill published in the GitHub repository ShangBioLab/SpatialClaw (11 stars, last pushed 3mo ago), licensed Apache-2.0. It adds 35 tokens to every session and 1,815 once invoked, about $0.0002 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-08-30.
Other skills, from other repositories
spatial-annotate
Load when assigning per-spot cell-type labels on a spatial AnnData via marker-gene scoring or scRNA-reference mapping (Tangram / scANVI / CellAssign). Skip when computing spot-level cell-type proportions for multi-cell-per-spot platforms (use spatial-deconv); tissue-domain detection (use spatial-domains).
marker_panel_builder
Build positive and negative marker panels for a cell type or state and explain the confidence of the proposed panel.
protein-function-prediction
Predict protein function and properties from amino acid sequence using BioT5. Use this skill when: (1) You have a protein sequence and want to understand its biological function, (2) You need to identify enzyme activity, pathway involvement, or molecular interactions, (3) You want a concise description of protein…
cell-type-annotation
Generate code to assign cell type labels to single-cell RNA-seq clusters using CellTypist, SingleR, marker-based annotation, or reference label transfer (scANVI/ingest). Triggers on requests to "annotate cell types", "label clusters", "run CellTypist", "SingleR annotation", "marker gene dotplot", "transfer labels from…
uniprot_lookup
Query UniProt database for protein information including function, organism, sequence, and structure. Use this skill when: (1) User provides a UniProt accession (e.g., P38398, Q9H3P7), (2) User asks about a protein by name (e.g., "BRCA1", "hemoglobin"), (3) User wants protein function, organism, or sequence…
marker_gene_validator
Validate whether a marker set supports a proposed cell type or cell state and explain the main caveats.