CtrlK
BlogDocsLog inGet started
Tessl Logo

tooluniverse-single-cell

Single-cell RNA-seq analysis with scanpy/anndata — h5ad data loading, scRNA-seq quality control and QC gating (n_genes_by_counts, total_counts, mitochondrial percent / pct_counts_mt, pct_counts_ribo, doublet detection with Scrublet/scDblFinder, ambient RNA / SoupX awareness, empty-droplet filtering, MAD-based thresholds), normalization, dimensionality reduction (PCA, UMAP, t-SNE), clustering (Leiden, Louvain), marker gene identification, cell-type annotation, pseudotime/trajectory analysis. Use for any scRNA-seq workflow, including deciding which cells to filter, flag, or investigate before downstream analysis.

68

Quality

81%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

71%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A strong, highly actionable body with excellent domain-specific QC guidance and executable code, clear sequencing, and a well-organized reference bundle. Its weaknesses are token efficiency (inline material Claude already knows and a long SKILL.md despite 8 reference files) and one broken reference: 'analysis_patterns.md' is cited three times but missing from the bundle.

Suggestions

Create references/analysis_patterns.md (or fix the three citations at lines 87, 91, and 406 to point at an existing file) — the decision tree routes the two most common workflows (per-cell-type DE, correlation) to a file that does not exist.

Move the ToolUniverse Integration tool catalog, the 'Scanpy vs Seurat Equivalents' table, and the 'Statistical Tests (Quick Reference)' into a reference file (or delete them) — this is reference material Claude largely already knows, and trimming it would cut the ~420-line body substantially.

Reconcile the 'Complete Pipeline (Quick Reference)' hardcoded cutoffs ('pct_counts_mt < 20', 'min_genes=200') with the MAD-based gating section that calls hardcoded cutoffs 'a starting point only', and add an explicit re-check loop (visualize -> gate -> inspect per-step removals -> adjust) to the QC workflow.

DimensionReasoningScore

Conciseness

The body is ~420 lines and, while mostly domain-specific knowledge Claude does not have (QC gating rationale, MAD thresholds, ToolUniverse tool names), it includes sections that re-teach what Claude already knows: the scipy 'Statistical Tests (Quick Reference)' (pearsonr, ttest_ind, f_oneway, multipletests), the 'Scanpy vs Seurat Equivalents' table, and a ~40-line inline ToolUniverse tool catalog. This is 'mostly efficient but includes some unnecessary explanation or could be tightened' — not severely padded enough for 2, but clearly not the lean 4-5 anchors.

3 / 5

Actionability

Guidance is fully executable throughout: copy-paste data loading with orientation handling, a runnable QC metrics block with the 'percent_top=None' gotcha, 'python scripts/scrna_qc.py data.h5ad --doublets', 'python scripts/scrna_qc.py --install-plan', a complete scanpy pipeline, working harmonypy code, and exact 'tu run ...' JSON command lines. This matches the 5 anchor: copy-paste-ready commands covering the common cases, with no pseudocode.

5 / 5

Workflow Clarity

The workflow decision tree, RULE ZERO pre-computed-results check, QC-before-downstream ordering, and the QC interpretation table give a clear sequence with most checkpoints present ('Always visualize distributions first', 'never report cutoffs you did not actually run', the helper 'reports per-step removals', and the honest-execution install-plan guard for the batch filtering operation). It sits below 5 only because there is no explicit validate-then-re-filter feedback loop and the 'Complete Pipeline (Quick Reference)' contradicts the MAD guidance by hardcoding 'pct_counts_mt < 20' — minor validation/consistency gaps, hence 4 not 3 since checkpoints for the destructive filtering steps are explicitly present.

4 / 5

Progressive Disclosure

The bundle has 8 reference files, all clearly listed with one-line descriptions under 'Reference Documentation' and cross-linked from the decision tree and QC section — good signaling. However, 'analysis_patterns.md' is referenced three times ('See: analysis_patterns.md "Pattern 1"', 'Pattern 2', and in Reference Documentation) but does not exist anywhere in the bundle, and sizable catalogs (ToolUniverse tools, Seurat equivalents, stats basics) are inlined in SKILL.md rather than split out. A dangling reference plus inlined reference-material keeps this at 'some structure but could be better organized' rather than the 4 anchor's 'minor organization gaps'.

3 / 5

Total

15

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

An excellent description: concrete and comprehensive on capabilities, explicit 'Use for...' trigger guidance, third-person voice, and a well-delineated single-cell niche. The only gap is a handful of missing natural synonyms (10X, Cell Ranger, count matrix) that would widen trigger coverage.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions with comprehensive coverage — 'h5ad data loading, scRNA-seq quality control and QC gating (n_genes_by_counts, total_counts, mitochondrial percent / pct_counts_mt... doublet detection with Scrublet/scDblFinder, ambient RNA / SoupX awareness, empty-droplet filtering, MAD-based thresholds), normalization, dimensionality reduction (PCA, UMAP, t-SNE), clustering (Leiden, Louvain), marker gene identification, cell-type annotation, pseudotime/trajectory analysis'. This matches the 5 anchor ('lists multiple specific concrete actions; comprehensive coverage') — it names exact metrics, tools, and algorithms rather than generic verbs, and nothing is vague enough to drop to 4.

5 / 5

Completeness

It explicitly answers both: what — the full capability list above; and when — 'Use for any scRNA-seq workflow, including deciding which cells to filter, flag, or investigate before downstream analysis'. This matches the 5 anchor (clear concrete 'what' plus explicit 'Use when' trigger phrases) exactly, and the 'when' clause is specific rather than weakly implied.

5 / 5

Trigger Term Quality

Strong natural keyword coverage: 'Single-cell RNA-seq', 'scRNA-seq', 'h5ad', 'QC', 'UMAP', 't-SNE', 'Leiden', 'clustering', 'marker gene', 'cell-type annotation', 'pseudotime'. A few natural terms users commonly say are missing — '10X', 'Cell Ranger', 'count matrix', 'transcriptomics' — so it falls just under the 5 anchor's 'comprehensive coverage including synonyms and file extensions'.

4 / 5

Distinctiveness Conflict Risk

It carves out a clear niche (single-cell RNA-seq with scanpy/anndata) with distinct triggers (scRNA-seq, h5ad, Leiden, Scrublet) that would not fire for bulk RNA-seq, enrichment, or variant skills, matching the 5 anchor 'clear niche with distinct triggers; minimal conflict risk'. Third-person voice is used throughout, so no specificity penalty applies.

5 / 5

Total

19

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
mims-harvard/ToolUniverse
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.