CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

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.

Quality

88%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

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.

Strong, highly actionable content with excellent validated-quirk knowledge in the ToolUniverse catalog and unusually deep QC-gating guidance, weakened by a dangling `analysis_patterns.md` reference on the most common workflow path and by a few sections that re-teach standard scanpy/scipy knowledge. The hardcoded cutoffs in the quick-reference pipeline also sit in tension with the skill's own MAD-based thresholding mandate.

Suggestions

Create `analysis_patterns.md` (or repoint the three references to existing files like `references/marker_identification.md` and `references/scanpy_workflow.md`) so the 'Pattern 1' per-cell-type DE and 'Pattern 2' correlation navigation paths resolve.

Remove or trim the sections that re-teach knowledge Claude already has — the scipy statistical-tests quick reference, the Scanpy-vs-Seurat equivalents table, and the boilerplate 'Complete Pipeline' — or move them into an existing reference file.

Reconcile the 'Complete Pipeline (Quick Reference)' with the QC section by replacing the hardcoded `pct_counts_mt < 20` / `min_genes=200` filters with a pointer to `scripts/scrna_qc.py` MAD-based gating, so the quick reference cannot be copy-pasted in violation of the skill's own threshold guidance.

DimensionReasoningScore

Conciseness

The high-value core (QC gating rationale, ToolUniverse catalog with live-verified parameter gotchas, RULE ZERO, analysis conventions) is dense and lean, but several sections re-teach material Claude already knows: the scipy 'Statistical Tests (Quick Reference)' (ttest_ind, f_oneway, pearsonr, multipletests), the 'Scanpy vs Seurat Equivalents' table, and the boilerplate 'Complete Pipeline' block. This matches 'mostly efficient but includes some unnecessary explanation' rather than score 2, since the padded material is a minority of the ~435 lines and the rest is reference-grade rather than prose-padded.

3 / 5

Actionability

Code is copy-paste ready and covers the common cases: data loading with orientation check, QC metric computation, the full scanpy pipeline, Harmony batch correction, and a concrete `tu run run_deseq2_analysis '{...}'` command. Referenced script invocations are real and verified — `scripts/scrna_qc.py` exists and exposes both `--doublets` and the `--install-plan` flag, with the honest-execution fallback ('do NOT fabricate metrics — print the install plan and stop') making the failure path executable too.

5 / 5

Workflow Clarity

A clear sequence exists (RULE ZERO pre-flight check → workflow decision tree → 'QC ... do this BEFORE downstream analysis' → DE decision tree), with real checkpoints: 'Always visualize distributions first', 'never report cutoffs you did not actually run', per-step removal reporting, the QC interpretation table, and a troubleshooting error-recovery table. It falls short of 5 because the 'Complete Pipeline (Quick Reference)' reuses hardcoded cutoffs (`pct_counts_mt < 20`, `min_genes=200`) that the QC section explicitly warns are 'a starting point only' — an internal tension that could lead Claude to skip the MAD-based gating the skill mandates.

4 / 5

Progressive Disclosure

The 8 reference files are well documented with one-line descriptions in 'Reference Documentation' and are one level deep, but `analysis_patterns.md` is referenced three times — including as the guide for 'Pattern 1' (per-cell-type DE, described as the most common pattern) and 'Pattern 2' (correlation) — and does not exist anywhere in the bundle. A primary navigation path pointing to a missing file is a structural failure beyond the 'minor organization gaps' of score 4, landing at 'some structure but could be better organized'.

3 / 5

Total

15

/

20

Passed

Description

100%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: specific to the metric and tool level, rich in natural synonyms and file formats, with an explicit and concrete 'Use for' trigger clause. It clearly separates single-cell work from adjacent bulk/variant/enrichment skills.

DimensionReasoningScore

Specificity

The description enumerates concrete actions at metric-level detail: "h5ad data loading", "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)", plus normalization, "dimensionality reduction (PCA, UMAP, t-SNE)", "clustering (Leiden, Louvain)", marker identification, cell-type annotation, and "pseudotime/trajectory analysis". Coverage is comprehensive with no noticeable gaps, matching the anchor 'Lists multiple specific concrete actions; comprehensive coverage' rather than the score-4 anchor (minor gaps).

5 / 5

Completeness

The 'what' is explicit and detailed (loading, QC gating, normalization, reduction, clustering, annotation, pseudotime) and the 'when' is explicit with concrete triggers: "Use for any scRNA-seq workflow, including deciding which cells to filter, flag, or investigate before downstream analysis". This matches the anchor 'Clearly and explicitly answers both what AND when with concrete trigger phrases'; the score-4 anchor ('when' could be more explicit) does not apply since the trigger clause is specific and actionable.

5 / 5

Trigger Term Quality

Natural user vocabulary is comprehensive with synonyms and file formats: "Single-cell RNA-seq" and "scRNA-seq", "h5ad", "quality control", "doublet", "clustering", "marker gene", "cell-type annotation", "PCA, UMAP", "trajectory", tool names (scanpy, anndata, Scrublet, SoupX), and action phrases like "deciding which cells to filter, flag, or investigate". Matches the anchor 'Comprehensive coverage of natural terms including synonyms and file extensions'; only trivially misses terms like '10X' or 'count matrix'.

5 / 5

Distinctiveness Conflict Risk

The niche is unambiguous — single-cell RNA-seq — with distinct triggers (scRNA-seq, h5ad, doublets, cell-type annotation, pseudotime) that do not overlap with adjacent bulk-RNA-seq, variant-analysis, or enrichment skills. It consistently self-scopes as "Single-cell"/"scRNA-seq" throughout, so a generic 'RNA-seq' request would not naturally match this description over the bulk DESeq2 sibling.

5 / 5

Total

20

/

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

Path

plugin/skills/tooluniverse-single-cell/SKILL.md

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.