Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Query the STRING database for protein-protein interactions (PPIs), functional enrichment, and homology. Use when the user asks about interactions between specific proteins, interaction evidence, confidence scores, protein interaction partners, or pathway enrichments.
.claude/skills/mkurman-string-database/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | -43% | 0% |
| case-01 | ✗→✓ | ▲ Improved | -55% | 0% |
| case-17 | ✗→✓ | ▲ Improved | -54% | 0% |
| case-21 | ✗→✓ | ▲ Improved | -5% | 0% |
| case-23 | ✓→✗ | ▼ Worse | -70% | 0% |
This skill allows you to query the STRING database programmatically using a bundled Python CLI wrapper.
uv: Read the uv skill and follow its Setup instructions to ensureuv is installed and on PATH.
this skill directory then (1) prominently notify the user to check the terms at https://string-db.org/cgi/access, then (2) create the file recording the notification text and timestamp.
IDs. You MUST NOT guess or assume a species. If the user does not explicitly state a species or Taxon ID, you MUST stop and ask: "Which species are you interested in? I need the NCBI Taxon ID to proceed." Even for well-known proteins like TP53, BRCA1, or MDM2 that are commonly associated with human studies, you MUST still ask — do not default to Human.
--output <file.tsv> is required.Never read large outputs into context. Instead use jq, python or file operations (grep, head) to process large output.
'TP53'), map them to STRING IDs first as this guarantees much faster server responses. Use the map command for this.
output.
The CLI is at scripts/string_cli.py and should be run using uv run:
bashuv run scripts/string_cli.py <command> [options] --output /tmp/out.tsv
Read the following reference files based on the user's request:
to STRING IDs.
proteins, network topologies, mediators, homology, and visual network images.
Analyze pathway enrichment (GO, KEGG, Pfam), PPI significance, or find all proteins associated with a specific term (e.g. Melanoma).
experimental datasets (e.g., logFC, p-values) for rank-based enrichment analysis using the async background API.
To begin, read the reference file most appropriate to the current task to discover the correct CLI command.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-15 | fail→fail | 8,878 | 6,747 | -24% | 1 | 1 | 0% | 410 | 999 | +144% | 0 | 0 | — |
case-08 | fail→pass | 11,181 | 3,214 | -71% | 1 | 1 | 0% | 1,985 | 1,141 | -43% | 0 | 0 | — |
case-01 | fail→pass | 16,662 | 4,367 | -74% | 1 | 1 | 0% | 2,889 | 1,305 | -55% | 0 | 0 | — |
case-02 | fail→fail | 7,188 | 6,069 | -16% | 1 | 1 | 0% | 1,202 | 953 | -21% | 0 | 0 | — |
case-03 | fail→fail | 12,834 | 7,576 | -41% | 1 | 1 | 0% | 2,435 | 980 | -60% | 0 | 0 | — |
case-04 | fail→fail | 24,507 | 6,960 | -72% | 1 | 1 | 0% | 2,358 | 916 | -61% | 0 | 0 | — |
case-05 | fail→fail | 24,050 | 8,130 | -66% | 1 | 1 | 0% | 5,050 | 1,117 | -78% | 0 | 0 | — |
case-06 | fail→fail | 15,533 | 3,852 | -75% | 1 | 1 | 0% | 2,428 | 1,194 | -51% | 0 | 0 | — |
case-07 | fail→fail | 6,521 | 8,801 | +35% | 1 | 1 | 0% | 1,156 | 1,059 | -8% | 0 | 0 | — |
case-14 | fail→fail | 7,268 | 7,394 | +2% | 1 | 1 | 0% | 334 | 1,210 | +262% | 0 | 0 | — |
case-09 | fail→fail | 18,068 | 6,074 | -66% | 1 | 1 | 0% | 3,404 | 1,038 | -70% | 0 | 0 | — |
case-10 | pass→pass | 7,560 | 9,636 | +27% | 1 | 1 | 0% | 1,253 | 1,566 | +25% | 0 | 0 | — |
case-11 | fail→fail | 8,268 | 6,907 | -16% | 1 | 1 | 0% | 371 | 1,000 | +170% | 0 | 0 | — |
case-12 | fail→fail | 8,202 | 6,811 | -17% | 1 | 1 | 0% | 1,459 | 917 | -37% | 0 | 0 | — |
case-13 | fail→fail | 13,931 | 15,234 | +9% | 1 | 1 | 0% | 2,704 | 1,025 | -62% | 0 | 0 | — |
case-16 | fail→fail | 34,331 | 8,688 | -75% | 1 | 1 | 0% | 2,186 | 1,096 | -50% | 0 | 0 | — |
case-17 | fail→pass | 18,405 | 4,221 | -77% | 1 | 1 | 0% | 2,869 | 1,322 | -54% | 0 | 0 | — |
case-18 | fail→fail | 20,777 | 5,286 | -75% | 1 | 1 | 0% | 3,068 | 868 | -72% | 0 | 0 | — |
case-19 | fail→fail | 8,875 | 6,573 | -26% | 1 | 1 | 0% | 427 | 1,039 | +143% | 0 | 0 | — |
case-20 | fail→fail | 12,053 | 7,064 | -41% | 1 | 1 | 0% | 1,991 | 986 | -50% | 0 | 0 | — |
case-21 | fail→pass | 7,499 | 3,243 | -57% | 1 | 1 | 0% | 1,218 | 1,155 | -5% | 0 | 0 | — |
case-22 | pass→pass | 13,407 | 15,548 | +16% | 1 | 1 | 0% | 2,515 | 3,546 | +41% | 0 | 0 | — |
case-23 | pass→fail | 20,065 | 7,105 | -65% | 1 | 1 | 0% | 3,168 | 952 | -70% | 0 | 0 | — |
case-24 | pass→fail | 14,214 | 8,004 | -44% | 1 | 1 | 0% | 2,555 | 990 | -61% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 24 cases were attempted, and 8 counted toward the lift figure. The other 16 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +8 percentage points is the difference between those two pass rates over the 8 comparable cases. 4 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.