sc-filter

sc-filter is a skill for Claude Code, Codex from TianGzlab/OmicsClaw. It costs 63 tokens per session (1,238 once invoked), scanned A, original, Apache-2.0.

A filtering step for single-cell RNA sequencing data that removes cells and genes with too little or too much measured activity. It can use explicit quality thresholds or tissue-specific presets.

In plain words
What is it for?
Use it to filter cells by detected genes, counts, or mitochondrial RNA and to remove genes detected in too few cells.
Why use it?
It removes low-quality observations that can add noise and make later analyses less reliable.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to filter cells by detected genes, counts, or mitochondrial RNA and to remove genes detected in too few cells.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/tiangzlab/omicsclaw/sc-filter
Install

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.

Any agent
npx skills add TianGzlab/OmicsClaw --skill sc-filter
Clone the repo
git clone --depth 1 https://github.com/TianGzlab/OmicsClaw

Made for: Claude Code, Codex.

Wrote 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.

agentmods badge for sc-filter

README.md
[![agentmods](https://agentmods.dev/badge/skills/tiangzlab/omicsclaw/sc-filter.svg)](https://agentmods.dev/skills/tiangzlab/omicsclaw/sc-filter)
Your own site
<a href="https://agentmods.dev/skills/tiangzlab/omicsclaw/sc-filter"><img src="https://agentmods.dev/badge/skills/tiangzlab/omicsclaw/sc-filter.svg" alt="Measured on agentmods" height="20"></a>
Per session 63 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,238 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector warn 7 Sept 2026
SkillSpector: 1 finding, up to high

These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →

  • high Rogue Agent · line 3
    Skill modifies its own code, configuration, or behavior at runtime. Self-modification enables an agent to escalate privileges, disable safety constraints, or install persistent backdoors.
    Fix: Prevent the skill from modifying its own code, SKILL.md, or configuration files. Treat skill files as read-only at runtime.
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00063 $0.01238
Opus 5 $0.00032 $0.00619
Sonnet 5 $0.00013 $0.00248
Haiku 4.5 $0.00006 $0.00124

Measured 5d ago against content hash c93c9b5eb57c, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-08, from the pricing page.

Security

Grade A, and why

sc-filter 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 5d ago.

The scan reads SKILL.md. This mod also ships 2 executable files (sc_filter.py, tests/test_sc_filter.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

skills/singlecell/scrna/sc-filter/SKILL.md · 108 lines

How it starts

The opening of the file, as written. The whole thing — 108 lines — stays where its author put it; the contents beside it link to each section on GitHub.

sc-filter

When to use

The user has reviewed sc-qc output and now wants to actually drop low-quality cells and lowly-detected genes — by per-cell thresholds (--min-genes, --max-genes, --max-mt-percent, --min-counts, --max-counts, --min-cells) or tissue-specific presets (--tissue brain / pbmc / etc.). This skill removes cells; it does not normalise, cluster, or annotate.

Inputs & Outputs

Inputs

  • Modalities: scrna
  • File types: .h5ad

Outputs

  • tables/cell_metadata.csv
  • tables/filter_reasons.csv
  • tables/filter_state.csv
  • tables/filter_stats.csv
  • tables/filter_summary.csv
  • tables/gene_expression.csv
  • tables/retention_summary.csv
  • figures/filter_comparison.png
  • figures/filter_reason_summary.png
  • figures/filter_state_scatter.png
  • figures/filter_summary.png
  • figures/filter_thresholds.png
  • figures/r_feature_violin.png
  • analysis_summary.txt
  • processed.h5ad
  • report.md
  • result.json
  • Processed AnnData (saves_h5ad)

Flow

  1. Load AnnData via shared loader; persist expression_source in result.json.
  2. If --tissue is set, apply preset thresholds (overrides any matching CLI flag silently).
  3. Compute per-cell metrics; mark cells / genes failing each rule.
  4. Drop cells failing any active rule; drop genes detected in fewer than --min-cells cells.
  5. Emit before/after retention tables and figures.
  6. Save processed.h5ad + report.md + result.json.

Gotchas

  • --tissue presets silently override matching CLI flags. Passing --tissue pbmc plus --max-mt-percent 30 resolves to whatever the PBMC preset declares for max_mt_percent, not 30. When mixing, omit the explicit flag or override the preset by editing it in references/methodology.md. Result tables record the effective thresholds, not the user-passed ones.
  • QC metrics are computed on demand if missing. sc_filter.py:617-622 calls ensure_qc_metrics(...) when the AnnData lacks n_genes_by_counts / pct_counts_mt, so this skill works without a prior sc-qc run. Running sc-qc first is still recommended for diagnostic figures, but it's not a hard prerequisite — the routing description used to overstate this.
  • Input file missing → hard fail. sc_filter.py:573 raises FileNotFoundError on a non-existent --input. Common in batch pipelines when an upstream output dir was renamed.
  • expression_source is recorded but does not gate the filter. result.json["summary"]["expression_source"] carries which matrix the metrics came from (layers.counts / adata.raw / adata.X). Filtering still runs even if the source is log-normalised — but total_counts / mt% interpretations become meaningless. Check the source before relying on the thresholds.
  • processed.h5ad is contract-preserving, not contract-canonical. The skill keeps whatever layers / raw / uns the input had; if upstream skipped sc-standardize-input, downstream skills may still mis-classify the count source. Run sc-standardize-input before sc-filter when input came from outside OmicsClaw.

Read the full file on GitHub · 108 lines

Files

What ships with it

7 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.

Changes

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.

  1. 5d ago First seen · 108 lines · 63 tokens per session scan A c93c9b5eb57c

Subscribe to this mod's changes

sc-filter is a skill published in the GitHub repository TianGzlab/OmicsClaw (160 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 63 tokens to every session and 1,238 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.

Related

Other skills, from other repositories

Single-Cell Analysis Skills Index

Core skills for single-cell RNA-seq analysis: quality control, cell type annotation, and trajectory inference. These are high-priority actionable workflows — load them first for common single-cell tasks.

aristoteleo/PantheonOS · 48 tokens

scRNA_qc_checklist

Turn single-cell RNA-seq summary metrics into a practical QC checklist with explicit assumptions and threshold recommendations.

Azealoo/miniAgent · 27 tokens

scanpy

Standard single-cell RNA-seq analysis pipeline. Use for QC, normalization, dimensionality reduction (PCA/UMAP/t-SNE), clustering, differential expression, and visualization. Best for exploratory scRNA-seq analysis with established workflows. For deep learning models use scvi-tools; for data format questions use…

synthetic-sciences/openscience · 68 tokens

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…

aristoteleo/PantheonOS · 170 tokens

cellxgene-census-query

Query CZ CELLxGENE Census (61M+ cells). Filter by cell type/tissue/disease, retrieve expression data, and integrate with scanpy/PyTorch for population-scale single-cell analysis. Use this skill when: (1) Querying single-cell expression data by cell type, tissue, or disease, (2) Exploring available single-cell datasets…

PharMolix/OpenBioMed · 105 tokens

single-cell-scrna-seq-analysis-scanpy

Complete single-cell RNA-seq analysis workflow built on Scanpy and AnnData. Use this skill when: (1) Loading diverse single-cell data formats (10X, h5ad, CSV), (2) Performing quality control and filtering, (3) Normalization, dimensionality reduction, and clustering, (4) Marker gene identification and cell type…

PharMolix/OpenBioMed · 85 tokens