CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

scvelo

RNA velocity analysis with scVelo. Estimate cell state transitions from unspliced/spliced mRNA dynamics, infer trajectory directions, compute latent time, and identify driver genes in single-cell RNA-seq data. Complements Scanpy/scVI-tools for trajectory inference.

Quality

80%

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

Fix and improve this skill with Tessl

tessl review fix ./backend/cli/skills/biology/scvelo/SKILL.md

The canonical home for this skill is scvelo in K-Dense-AI/scientific-agent-skills

SKILL.md
Quality
Evals
Security

Quality

Content

78%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 executable code at every step, a clear numbered workflow, and practical troubleshooting — the main defects are orphaned bundle files that the body never points to, and moderate duplication between the step-by-step walkthrough, the complete script, and the unlinked reference file. Signaling the existing references/ and scripts/ files would fix both structure and redundancy.

Suggestions

Add explicit pointers to the existing bundle files, e.g., under Velocity Models Comparison: 'See [references/velocity_models.md](references/velocity_models.md) for the mathematical framework and parameter details' and under the workflow: 'A validated, ready-to-run version is at [scripts/rna_velocity_workflow.py](scripts/rna_velocity_workflow.py)'.

Collapse the 8-step walkthrough and the 'Complete Workflow Script' into one canonical flow (or move the full script section into scripts/ and summarize it in the body) to remove duplicated preprocessing/velocity code.

Move the Velocity Models Comparison table and the fit_* output-field details into references/velocity_models.md, keeping only a compact summary in the body.

DimensionReasoningScore

Conciseness

The body is dominated by dense, executable code and reference tables with little filler, matching the efficient-with-minor-trim-instances anchor. The Overview paragraph explaining mRNA splicing biology and the duplication between the 8-step walkthrough and the 'Complete Workflow Script' (plus the Velocity Models table duplicating references/velocity_models.md) are the over-explanation instances that keep it below the every-token-earns-its-place anchor at 5.

4 / 5

Actionability

Every section provides copy-paste-ready, fully executable code with real parameters (scv.pp.filter_and_normalize(adata, min_shared_counts=20), scv.tl.recover_dynamics(adata, n_jobs=4), concrete plotting calls) plus a complete runnable pipeline function, matching the fully-executable/covers-common-cases anchor. It is not score 4 because there are no gaps — installation, loading, preprocessing, both model modes, and all downstream visualizations are concrete.

5 / 5

Workflow Clarity

The workflow is clearly sequenced as numbered steps 1-8 with layer verification at setup (print(adata) with expected-structure comments), sanity checks in Best Practices, and a Troubleshooting table providing problem-to-solution feedback; this matches the clear-sequence/most-checkpoints anchor. It is not 5 because validation between intermediate steps is implicit rather than explicit (e.g., no checkpoint that velocity genes or fit_likelihood look sane before downstream analysis), and not 3 because checkpoints and error-recovery guidance are present, just unevenly distributed.

4 / 5

Progressive Disclosure

The body is well-sectioned internally, but neither bundle file is referenced anywhere — references/velocity_models.md (168 lines of model math) and scripts/rna_velocity_workflow.py (240-line validated pipeline with asserts) are orphaned from navigation, and the inline Velocity Models Comparison table duplicates the reference file. This matches the some-structure/references-not-clearly-signaled/content-that-should-be-separate-is-inline anchor; it is not 2 because the body itself has clear headers and is not a monolithic wall of text, and not 4 because a key structural duty (linking the existing deeper material) is entirely missing.

3 / 5

Total

16

/

20

Passed

Description

75%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 specific, well-scoped description with strong capability listing and clear distinctiveness, undermined by the absence of explicit "when to use" trigger guidance — the "Complements Scanpy/scVI-tools" sentence weakly implies rather than states usage conditions. Adding a Use-when clause with natural trigger phrases would raise completeness and trigger-term quality.

Suggestions

Add an explicit 'Use when...' clause, e.g., 'Use when analyzing single-cell RNA-seq data with unspliced/spliced layers, or when the user mentions RNA velocity, cell fate, or trajectory direction.'

Include natural synonyms users would say — 'pseudotime', 'scRNA-seq', 'unspliced/spliced counts' — to broaden trigger-term coverage beyond the current phrasing.

Consider naming the input artifacts users will have (loom files from velocyto/STARsolo, AnnData with spliced/unspliced layers) so the description triggers on realistic data mentions.

DimensionReasoningScore

Specificity

The description lists four concrete, comprehensive actions: "Estimate cell state transitions from unspliced/spliced mRNA dynamics, infer trajectory directions, compute latent time, and identify driver genes" — each names a specific capability with the underlying mechanism, matching the multiple-specific-actions/comprehensive-coverage anchor. It is not score 4 because coverage has no meaningful gaps for this tool's capability set; not below because every action is concrete rather than generic.

5 / 5

Completeness

"What" is clearly answered with concrete actions, but there is no explicit "Use when..." clause; "Complements Scanpy/scVI-tools for trajectory inference" describes ecosystem positioning rather than explicit trigger guidance, so per the judging guidelines completeness is capped at 3. It fits the clear-what/weakly-implied-when anchor exactly — not 4 because the when-guidance is not actionable trigger phrasing, not 2 because the what is concrete and specific.

3 / 5

Trigger Term Quality

Good natural keyword coverage: "RNA velocity", "scVelo", "single-cell RNA-seq", "cell state transitions", "trajectory", "driver genes", "latent time" — terms users of this domain would actually say. A few natural variations are missing (e.g., "pseudotime", "scRNA-seq", mention of unspliced/spliced loom/h5ad inputs), which keeps it below the comprehensive-with-synonyms anchor at 5.

4 / 5

Distinctiveness Conflict Risk

"RNA velocity analysis with scVelo" names a specific tool and a specific analysis — a clear niche with distinct triggers and minimal conflict risk (only adjacent tools like velocyto/dynamo could overlap, and the explicit scVelo naming disambiguates). Matches the clear-niche anchor; not lower because nothing in the description is generic enough to collide with unrelated skills.

5 / 5

Total

17

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

15

/

16

Passed

Repository

synthetic-sciences/openscience

Path

backend/cli/skills/biology/scvelo/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.