CtrlK
BlogDocsLog inGet started
Tessl Logo

string-database

Access the STRING database to map identifiers, retrieve protein–protein interaction networks, and run functional/PPI enrichment when you need interaction context for a gene/protein set.

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 ./scientific-skills/Evidence Insight/string-database/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

65%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 well-structured with an executable example and genuine one-level-deep progressive disclosure into a real reference file and script. Its weaknesses are redundancy across three overlapping sections and a workflow that shows a happy path without error handling or an explicit statement of the required map-first sequence.

Suggestions

Merge "When to Use", "Key Features", and "Implementation Details" into a single section — they restate the same capabilities and facts (no API key, species 9606) nearly verbatim and could cut the body's token cost by roughly a third.

State the required pipeline order explicitly (map identifiers to STRING IDs first, then feed those IDs into network/enrichment calls) and add one line on handling failures, e.g., what to do when map_id returns None or a DataFrame comes back empty.

Replace the hedged "downstream filtering... (if exposed by the wrapper)" with the concrete mechanism — the required_score parameter (0–1000, 400 = medium confidence) that get_network and get_ppi_enrichment accept.

DimensionReasoningScore

Conciseness

Mostly efficient, but capabilities are restated three times across "When to Use", "Key Features", and "Implementation Details", and facts like "no API key required" and "species 9606" each appear twice. Not a 4 because the redundancy is more than minor trimming; not a 2 because sections are short and functional rather than padded filler.

3 / 5

Actionability

The example is a complete, executable program (StringClient init, map_id, get_network_image with add_color_nodes, get_ppi_enrichment) plus a pip install line. Not a 5 because key features like get_enrichment and get_interaction_partners have no example call and score filtering is described only vaguely ("if exposed by the wrapper").

4 / 5

Workflow Clarity

The example demonstrates a numbered map → image → enrichment sequence, but the required pipeline order (map identifiers before network calls) is only implied and there is no guidance for failures such as map_id returning None or empty DataFrames. Not a 4 because checkpoints are absent/implicit rather than present with minor gaps. These are read-only API calls, so the destructive/batch cap is not triggered.

3 / 5

Progressive Disclosure

The body is a clear overview with well-organized sections and a clearly signaled one-level-deep reference ("See references/string_reference.md for original API notes and endpoint details"); both that file and scripts/string_api.py exist in the bundle and appropriately hold the detail.

5 / 5

Total

15

/

20

Passed

Description

78%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, specific description that names the target database and three concrete capabilities with an explicit use-when clause. Its only weaknesses are a single narrow trigger condition and omission of the partner-expansion and visualization features the skill actually provides.

DimensionReasoningScore

Specificity

Lists several concrete actions — "map identifiers", "retrieve protein–protein interaction networks", "run functional/PPI enrichment" — which goes beyond the 1-2 actions of anchor 3. Not a 5 because the skill's interaction-partner and visualization capabilities are omitted, which is more than a minor coverage gap.

4 / 5

Completeness

Explicitly answers both: the "what" (map identifiers, retrieve PPI networks, run functional/PPI enrichment) and a "when" clause ("when you need interaction context for a gene/protein set"). Not a 5 because the "when" is a single condition rather than multiple concrete trigger phrases.

4 / 5

Trigger Term Quality

Natural phrases researchers actually say are present: "STRING database", "protein–protein interaction networks", "PPI", "functional/PPI enrichment", "gene/protein set". Not a 5 because common variations such as "GO/KEGG enrichment", "interactome", or "protein partners" are missing.

4 / 5

Distinctiveness Conflict Risk

"STRING database" names a clear niche with distinct triggers; no other plausible skill would capture these phrases, so conflict risk is minimal.

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
aipoch/medical-research-skills
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.