CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

pydeseq2

Differential gene expression analysis (Python DESeq2). Identify DE genes from bulk RNA-seq counts, Wald tests, FDR correction, volcano/MA plots, for RNA-seq analysis.

60

Quality

76%

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/pydeseq2/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

75%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 thorough, highly actionable skill body with an excellent six-step workflow, complete executable examples, strong troubleshooting feedback loops, and well-organized one-level-deep references. Its main costs are token redundancy (the core analysis code appears nearly verbatim three times) and inline content that could be pushed to the reference files.

Suggestions

Deduplicate the load → deseq2() → DeseqStats code that repeats in Quick Start, Core Workflow Steps, and Common Analysis Patterns; keep one canonical example and make the variants diff-only.

Move the full volcano/MA plotting code to a reference file and keep only a pointer, mirroring the api_reference/workflow_guide pattern.

Embed inline validation checkpoints in the main workflow (e.g., after loading, verify counts/metadata index alignment and samples × genes orientation) rather than deferring all checks to the Troubleshooting section.

DimensionReasoningScore

Conciseness

Mostly efficient, domain-specific content with little generic explanation Claude would already know, but noticeably padded by redundancy: the same load/filter/run/contrast code appears in Quick Start, Core Workflow Steps, and again in Common Analysis Patterns, and the full volcano/MA plotting code duplicates what a reference file could hold. Not 2 because explanations are domain-specific rather than filler; not 4 because the triplicated code blocks and a ~550-line body could be materially tightened.

3 / 5

Actionability

Fully executable, copy-paste-ready code throughout: complete DeseqDataSet/DeseqStats invocations with real parameters, contrast formats, result-column semantics, plus a documented CLI script with concrete flag examples ("python scripts/run_deseq2_analysis.py --counts counts.csv ... --contrast condition treated control"). Covers the common cases end-to-end from loading through export and plotting.

5 / 5

Workflow Clarity

Steps 1-6 are clearly sequenced with inputs, code, and expected outputs, and the Troubleshooting section provides error-message → diagnostic → fix feedback loops (index mismatch, full-rank design, no significant genes) plus a Key Reminders checklist. Not 5 because in-flight validation checkpoints are not embedded in the main workflow itself (e.g., no explicit sample-index/shape check immediately after loading); not 3 because diagnostics and recovery loops are explicitly present.

4 / 5

Progressive Disclosure

Good structure with real, verified one-level-deep references (references/api_reference.md, references/workflow_guide.md) clearly signaled with explicit "Load these references when..." navigation guidance, plus a bundled script. Not 5 because substantial content (full visualization code, extended troubleshooting, AnnData patterns) is inlined in SKILL.md that arguably belongs in the references, and some body content duplicates the workflow guide.

4 / 5

Total

16

/

20

Passed

Description

70%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 concrete actions and natural trigger terms for the bulk RNA-seq differential expression niche. Its main weakness is the absence of an explicit 'Use when...' trigger clause, leaving the "when to use" guidance only weakly implied.

Suggestions

Add an explicit trigger clause, e.g., "Use when the user mentions DESeq2, PyDESeq2, differential expression, or analyzing bulk RNA-seq count data."

Include 'PyDESeq2' as a trigger keyword since users may name the Python package specifically when migrating from R.

Consider mentioning multi-factor designs or batch-effect correction to round out capability coverage.

DimensionReasoningScore

Specificity

"Identify DE genes from bulk RNA-seq counts, Wald tests, FDR correction, volcano/MA plots" lists several concrete actions covering the analysis pipeline, but coverage has minor gaps (multi-factor designs, LFC shrinkage, data formats are absent). Not 5 because the action list is not comprehensive; not 3 because it goes well beyond naming the domain with 1-2 actions.

4 / 5

Completeness

The "what" is clear and concrete, but there is no explicit "Use when..." trigger clause — only a tacked-on "for RNA-seq analysis", which is at best a weak implication. Per the rubric guideline, a missing 'Use when' clause caps completeness at 3; the clear multi-action 'what' keeps it from scoring 2.

3 / 5

Trigger Term Quality

Good natural keyword coverage: "differential gene expression", "DESeq2", "RNA-seq", "bulk RNA-seq counts", "volcano/MA plots" — phrases users would actually say. Not 5 because common variations like "PyDESeq2" itself, "DE analysis", or count-file terms are missing; not 3 because coverage clearly exceeds just a few relevant keywords.

4 / 5

Distinctiveness Conflict Risk

"Differential gene expression analysis (Python DESeq2)... bulk RNA-seq counts, Wald tests, FDR correction" carves out a clear niche with distinct triggers (DESeq2, bulk RNA-seq differential expression) that would not fire for unrelated skills. Not 4 because no meaningful overlap risk with closely related skills is evident from the text.

5 / 5

Total

16

/

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

skill_md_line_count

SKILL.md is long (565 lines); consider splitting into references/ and linking

Warning

metadata_version

'metadata.version' is missing

Warning

frontmatter_unknown_keys

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

Warning

Total

13

/

16

Passed

Repository

synthetic-sciences/openscience

Path

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