CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

tooluniverse

ToolUniverse plugin router. STEP 1 BEFORE ANY ANALYSIS: if the data folder contains `*_executed.ipynb`, run `tu run read_executed_notebook '{"data_folder":"<path>","search":"<keyword>"}'` to extract its cell outputs and apply EVERY filter/sample-exclusion the notebook used — even when the question says 'Using DESeq2/Run X/Compute Y' (this describes the METHOD the notebook used, not a request to rerun). The notebook's cell outputs are the only published authoritative answers; reimplementing or reading stale pre-computed CSVs in the data folder produces different numbers because of outlier-sample removal, library version, and filter steps you don't see by skimming. STEP 2 routing — pick a sub-skill name from this exact list (never invent): tooluniverse-rnaseq-deseq2 (RNA/miRNA-seq DE, correlation, PCA, clustering, dispersion), tooluniverse-gene-enrichment (GO/KEGG/Reactome/GSEA/pathway enrichment), tooluniverse-statistical-modeling (regression, ANOVA, ordinal/logistic, chi-square...

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 ./plugins/tooluniverse/skills/tooluniverse/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.

The body is a dense, highly actionable router — exact Skill() calls, filename heuristics, tie-breaking rules with worked examples, and fallback paths — with a sound one-level-deep reference structure. It would tighten considerably by deduplicating routing rows, moving the cross-skill script table into the sub-skills it catalogues, and consolidating repeated warnings.

Suggestions

Deduplicate the routing table: the peptide-target row appears verbatim in both §2 (Research & Profiling) and §4 (Discovery & Design), and microbiome rows appear twice in §9 (tooluniverse-metagenomics-analysis and tooluniverse-microbiome-research).

Move the 25-row cross-skill 'Bundled Scripts' table into the relevant sub-skills or a references file — it inlines other skills' script content that the router doesn't need at decision time.

Consolidate the repeated skip-routing warnings ('BEFORE doing anything else', 'DO NOT skip routing', and the reiteration under How to route) into a single statement to reduce token spend without losing the instruction.

DimensionReasoningScore

Conciseness

The core routing table is dense and functional, but there is genuine redundancy: the peptide-target row appears verbatim in both §2 and §4, microbiome rows appear twice in §9, "DO NOT skip routing" warnings repeat in multiple forms, and the 25-row "Bundled Scripts (cross-skill reference)" table inlines other skills' script content that belongs in those sub-skills. Fits 'mostly efficient but includes some unnecessary... could be tightened'; not a 4 because the duplicated rows and cross-skill table are a noticeable share of the body.

3 / 5

Actionability

Fully copy-paste ready throughout: exact invocations `Skill(skill="tooluniverse-rnaseq-deseq2", args="breast cancer")`, concrete `tu run` one-liners with JSON arguments per tool, filename-to-analysis mappings ("`*_counts.csv`+`*meta*.csv` → RNA-seq DE"), and worked tie-break examples ("'calculate the drip rate for this IV' → computational-biophysics"). Specific commands cover the common routing cases.

5 / 5

Workflow Clarity

Clear sequenced decision tree: (1) read question + file list, (2) find matching row, (3) call Skill immediately, (4) follow loaded skill — with fallback loops ("If no keyword matches but filenames indicate a domain → still route", "Still ambiguous: Ask user") and a RULE ZERO checkpoint (check for an authoritative notebook/script before writing any code). Not a 5: no explicit step to verify the invoked sub-skill actually loaded or to handle routing failure after invocation; minor validation gap.

4 / 5

Progressive Disclosure

Good structure: the router's job is inlining the routing table, sub-skill details are correctly deferred ("The full conventions, anti-pattern examples, and code snippets live in the matching sub-skill"), and the one file reference, references/general-strategies.md, exists and is one level deep. Not a 5: the cross-skill Bundled Scripts table and RULE ZERO sub-rules partially duplicate content that belongs in the referenced sub-skills, a minor organization gap.

4 / 5

Total

16

/

20

Passed

Description

66%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.

The description is highly concrete and executable — exact command syntax plus named sub-skills with domain annotations — but it is literally truncated mid-list ("...ordinal/logistic, chi-square...") and omits an explicit use-when clause, capping completeness. Trigger keywords are strong within the covered domains but not comprehensive across the router's full scope.

Suggestions

Add an explicit 'Use when...' trigger clause to the description (e.g., 'Use when the user provides data files to analyze or asks any scientific research question') — the when-guidance currently lives only in the separate when_to_use field, capping completeness at 3.

Fix the truncated sub-skill enumeration — the description cuts off mid-list at 'chi-square...', leaving the routing scope undefined; either complete the list or summarize the domain coverage so the description reads as finished.

Rewrite the imperative STEP 1/STEP 2 instructions as a third-person capability summary and keep the step-by-step procedure in the body, shortening the description while preserving its concrete command examples.

DimensionReasoningScore

Specificity

Quotes concrete actions — "run `tu run read_executed_notebook '{...}'` to extract its cell outputs", "pick a sub-skill name from this exact list (never invent): tooluniverse-rnaseq-deseq2 (RNA/miRNA-seq DE, correlation, PCA, clustering, dispersion)" — with exact command syntax and named sub-skills. Not a 5: the sub-skill enumeration is truncated at "chi-square..." and covers only 3 of the router's many destinations, so coverage has minor gaps.

4 / 5

Completeness

Has a clear 'what' ("ToolUniverse plugin router" with an exact read-notebook command and routing list), but no explicit 'Use when...' clause — the only when-condition is the narrow "if the data folder contains `*_executed.ipynb`". Per the guideline that a missing use-when clause caps completeness at 3, and per the anchor 'clear what but when is missing or only weakly implied'.

3 / 5

Trigger Term Quality

Contains many natural scientific phrases users would say — "differential expression", "pathway enrichment", "regression, ANOVA, ordinal/logistic, chi-square", "GO/KEGG/Reactome/GSEA", "PCA, clustering". Not a 5: the list cuts off mid-enumeration, so common variations and synonyms beyond those three domains are missing; not a 3 because the included terms are natural and well-chosen, matching the 'good keyword coverage; a few natural terms missing' anchor.

4 / 5

Distinctiveness Conflict Risk

Tied to a named plugin with distinct triggers — "ToolUniverse plugin router", `tu run` commands, exact sub-skill names — giving it a clear niche with minimal conflict risk against unrelated skills. Not a 5: as a router it claims authority over essentially any data-analysis question, so it overlaps with every sub-skill it routes to by design.

4 / 5

Total

15

/

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

plugins/tooluniverse/skills/tooluniverse/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.