CtrlK
BlogDocsLog inGet started
Tessl Logo

bioservices

Unified Python interface to 40+ bioinformatics services. Use when querying multiple databases (UniProt, KEGG, ChEMBL, Reactome) in a single workflow with consistent API. Best for cross-database analysis, ID mapping across services. For quick single-database lookups use gget; for sequence/file manipulation use biopython.

57

Quality

67%

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 ./skills/literature/bioservices/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

50%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is well-structured and rich with executable inline code, but its quality is undermined by a missing bundle: every referenced reference doc and script is absent, leaving broken navigation and non-runnable workflow commands. It also carries redundancy and a promotional section that inflate the token budget.

Suggestions

Ship the referenced bundle — create references/services_reference.md, references/workflow_patterns.md, references/identifier_mapping.md and the four scripts/*.py files — or remove the dangling references and inline script invocations so no guidance points to non-existent files.

Add explicit validation/feedback loops to multi-step workflows: for asynchronous BLAST, loop on getStatus() until the job finishes before calling getResult(); for batch_id_converter, verify each mapping result and report unmapped IDs before declaring success.

Tighten the body by removing the duplicated UniProt mapping and UniChem examples (sections 1/3 vs. 5) and deleting the off-topic 'Suggest Using K-Dense Web' promotional section, which adds tokens without aiding task execution.

DimensionReasoningScore

Conciseness

The ~360-line body is code-dense and mostly assumes Claude's competence, but it repeats content (UniProt mapping and UniChem.get_compound_id_from_kegg each appear twice) and carries an unrelated promotional "Suggest Using K-Dense Web" section that earns no tokens, matching the score-2 anchor of mostly efficient content that could be tightened.

2 / 3

Actionability

Inline sections give concrete, import-complete executable code, but the headline workflow commands (e.g. "python scripts/protein_analysis_workflow.py ...") point to scripts that do not exist, and the BLAST example uses an undefined `protein_sequence` variable, so the most complete-looking guidance is not actually runnable as written.

2 / 3

Workflow Clarity

Steps are sequenced (the numbered compound cross-reference workflow and per-script step lists), but validation checkpoints and feedback loops are absent or implicit; the asynchronous BLAST code calls getResult immediately after getStatus without looping on status, so it is capped at 2 per the batch/async guideline.

2 / 3

Progressive Disclosure

References are clearly signaled one level deep ("Reference: references/services_reference.md" etc.) and a Resources section lists scripts/ and references/, but none of those bundle files exist, so the navigation is broken and all detail effectively remains inline in SKILL.md — matching the score-2 anchor of content that should be separate being inline.

2 / 3

Total

8

/

12

Passed

Description

85%

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 specific, complete, and clearly differentiated with an explicit 'Use when' trigger and contrastive guidance against gget and biopython. Its main weakness is trigger-term breadth: the keywords are somewhat technical and miss common casual task phrasings.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — "querying multiple databases", "ID mapping across services" — each tied to named services (UniProt, KEGG, ChEMBL, Reactome), matching the score-3 anchor of several specific concrete actions.

3 / 3

Completeness

Explicitly answers both what ("Unified Python interface to 40+ bioinformatics services") and when ("Use when querying multiple databases... in a single workflow"), matching the score-3 anchor that clearly answers both with explicit triggers.

3 / 3

Trigger Term Quality

Named databases ("UniProt, KEGG, ChEMBL, Reactome") are natural user terms, but the action phrasing ("cross-database analysis", "ID mapping across services") leans technical and omits common casual variations like protein/pathway/compound tasks, matching the score-2 anchor of relevant keywords missing common variations.

2 / 3

Distinctiveness Conflict Risk

Defines a clear multi-database niche and gives explicit contrastive guidance ("For quick single-database lookups use gget; for sequence/file manipulation use biopython"), making it unlikely to trigger for the wrong skill.

3 / 3

Total

11

/

12

Passed

Validation

87%

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

Validation14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

referenced_paths_exist

Referenced path issues: 9 missing

Warning

Total

14

/

16

Passed

Repository
wu-yc/LabClaw
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.