CtrlK
BlogDocsLog inGet started
Tessl Logo

scgpt

Embed and annotate single-cell expression data with scGPT, a foundation model for single-cell biology. Use this skill when: (1) Producing cell embeddings from an AnnData for clustering/integration, (2) Zero-shot or fine-tuned cell-type annotation, (3) Gene-level representation for perturbation/GRN tasks. For probabilistic single-cell models (scVI etc.), use the scvi-tools library.

72

Quality

91%

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

90%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 tight, operational skill body: executable code for every common case, environment-specific gotchas Claude could not infer (FlashAttention default, torchtext shim, manifest casing), and a clearly sequenced remote-compute workflow with a strong troubleshooting table. The only weaknesses are the absence of an explicit output-validation step after the batch embed job and a monolithic single-file layout that inlines detail a reference file could hold.

Suggestions

Add a post-job validation checkpoint to the remote-compute workflow, e.g. after save_artifacts verify `embedded.obsm['X_scGPT'].shape[0] == adata.n_obs` before declaring success.

Consider moving the Troubleshooting table and remote-compute handle details into a reference file (e.g. references/troubleshooting.md) to keep SKILL.md a lean overview, since the body currently inlines all detail.

DimensionReasoningScore

Conciseness

The body is lean and operational throughout — no explaining what AnnData, foundation models, or clustering are; it jumps straight to loading vocab, calling embed_data with annotated parameters, and a compact prerequisites table. The one longer narrative passage (remote-compute handle semantics: "`.close()` lives on the handle, not on the job object") is harness-specific knowledge Claude would not know, so it earns its tokens. Every section maps to the score-5 anchor ("assumes Claude's competence; every token earns its place"); it is not score 4 because there is no identifiable padding to trim.

5 / 5

Actionability

Core flows are copy-paste ready: GeneVocab.from_file with a verification print, a complete embed_data call with typed arguments, a full submit_job invocation, and the attach/close sequence. The few placeholders ("/path/to/scgpt-human", "environment=...") are explicitly justified — each is annotated with where to obtain the real value ("env name from compute_details", checkpoint path from compute_details), and troubleshooting gives an exact fix command (`name.lower().replace('-', '_')`). This matches the score-5 anchor ("specific examples cover the common cases") rather than 4's "minor gaps", since no example is pseudocode or missing key details.

5 / 5

Workflow Clarity

The remote-compute workflow is clearly sequenced: compute_details → host.compute.create → submit_job → wait_for_notification → save_artifacts → attach_job for the full result, with checkpoints like `print(len(gv)) # 60697` and a symptom→fix troubleshooting table (e.g. "Nearly all genes dropped → Wrong gene_col") serving as feedback loops. It falls short of 5 because the batch embed job has no explicit output-validation step (e.g. verifying embedded.h5ad retains the input cell count) — a minor validation gap per the score-4 anchor, not the missing-validation case of 3, since failure symptoms and recovery paths are documented.

4 / 5

Progressive Disclosure

Sections are well-organized (Prerequisites, How to run, Output format, Remote compute, Gotchas, Troubleshooting, Next) and deep orchestration detail is correctly deferred one level to sibling skills ("See the `remote-compute-ssh` / `remote-compute-modal` skill"), with no nested references. It does not reach 5 because the ~120-line body inlines everything (troubleshooting and remote-compute detail could live in reference files), exceeding the under-50-lines case the rubric exempts; structure is good with minor organization gaps, matching the score-4 anchor.

4 / 5

Total

18

/

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.

A strong description: third-person voice, concrete capability list covering all three scGPT task families, an explicit three-item "Use this skill when" trigger clause, and an explicit boundary routing probabilistic models to scvi-tools. The only gap is a few missing natural synonyms (scRNA-seq, batch correction, .h5ad).

DimensionReasoningScore

Specificity

The description enumerates the model's full task surface with concrete actions: "Embed and annotate single-cell expression data", "Producing cell embeddings from an AnnData for clustering/integration", "Zero-shot or fine-tuned cell-type annotation", and "Gene-level representation for perturbation/GRN tasks". This matches the anchor for multiple specific concrete actions with comprehensive coverage; it exceeds the score-4 anchor ("several specific actions; minor gaps") because all three major scGPT use-cases are named, and nothing here is vague enough to fall to 3.

5 / 5

Completeness

It explicitly answers both questions: the "what" ("Embed and annotate single-cell expression data with scGPT, a foundation model for single-cell biology") and the "when" via an explicit "Use this skill when:" clause with three concrete trigger conditions, matching the score-5 anchor. It is not score 4 ("'when' could be more explicit") because the trigger list is fully enumerated, and the added scVI routing line further sharpens when-not-to-use.

5 / 5

Trigger Term Quality

Good natural keyword coverage: "single-cell", "cell embeddings", "cell-type annotation", "clustering", "integration", "perturbation", "GRN", "AnnData", "zero-shot", "fine-tuned" — terms a bioinformatics user would plausibly say. It falls short of the score-5 anchor (comprehensive synonyms/extensions, e.g. "PDF files, PDFs, .pdf") because common variants like "scRNA-seq", "batch correction", or ".h5ad" are absent, but it is clearly above the score-3 anchor ("some relevant keywords but missing common variations") since most natural phrasings are present.

4 / 5

Distinctiveness Conflict Risk

It occupies a clear niche (the scGPT foundation model) and actively routes away a neighboring domain: "For probabilistic single-cell models (scVI etc.), use the scvi-tools library". Triggers are tied to scGPT-specific operations, giving minimal conflict risk per the score-5 anchor; the only theoretical overlap is with generic scanpy-clustering skills, which the embedding/annotation framing keeps minor — not enough to drop to 4.

5 / 5

Total

19

/

20

Passed

Validation

81%

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

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

13

/

16

Passed

Repository
UnicomAI/wanwu
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.