Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Performs 3D structural searches of proteins against various databases (PDB, AlphaFold, CATH, MGnify, etc.) using the Foldseek API. Use ONLY when the user provides a physical 3D coordinate file (.cif, .mmcif, or .pdb) and wants to find structurally similar proteins. Do NOT use if the user only provides a protein sequence, gene name, or UniProt ID.
.claude/skills/mkurman-foldseek-structural-search/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-15 | ✗→✓ | ▲ Improved | -25% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 37% | 0% |
| case-21 | ✗→✓ | ▲ Improved | -12% | 0% |
| case-06 | ✓→✗ | ▼ Worse | -33% | 0% |
| case-10 | ✓→✓ | = Same ✓ | 87% | 0% |
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://search.foldseek.com/search and https://github.com/steineggerlab/foldseek, then (2) create the file recording the notification text and timestamp.
Submit a user-provided 3D protein structure file (.cif, .mmcif, or .pdb) to the Foldseek web server API to find structurally similar proteins. Report the top structural hits, interpret key alignment metrics, summarize the inferred protein functions, save the Markdown-formatted table to a .md file, and save the full detailed results to a local JSON file.
or accession ID. It strictly requires a .pdb, .cif, or .mmcif file path.
allowlist check.
.md file foryour immediate summary. The JSON is saved purely for subsequent, specialized tool use.
yourself; always pass the file to the script.
output.
valid path to a .cif, .mmcif, or .pdb file in their workspace.
accession ID (e.g., a UniProt ID) but NO downloaded structure file, halt immediately. Do not run the script.
and suggest downloading the structure first (e.g., using the AlphaFold fetch tool).
search.
afdb50, afdb-swissprot, pdb100, BFVD,mgnify_esm30, cath50, gmgcl_id, bfmd, afdb-proteome.
Do not run the script. Inform the user that the database is unsupported and provide them with the allowed list.
JSON data and the Markdown table based on the input file (e.g., proteinA_foldseek_results.json and proteinA_foldseek_results.md).
standard output into your generated .md file:
<path-to-file> -o <generated-filename.json> > <generated-filename.md>
<path-to-file> -o <generated-filename.json> --databases <db1,db2,db3> > <generated-filename.md>
Markdown-formatted table to your specified .md file.
.md file carefullyto view the Markdown table.
have meaningfull annotations for the user. When reporting, assess the match quality using these specific fields:
confidence that the fold is a true structural homologue.
majority of the query protein's overall shape, rather than just a small local motif.
context.
within the Target ID column for the reported matches.
structural homologues.
different functions, domains, or protein families found across the whole list of homologues (e.g., "Most hits are portal proteins, but there is also a distinct cluster of viral capsid matches...").
.json and .md)and their locations so they can be seamlessly used in subsequent analysis steps.
and ask them to verify the file path.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 8,539 | 5,035 | -41% | 1 | 1 | 0% | 623 | 1,512 | +143% | 0 | 0 | — |
case-02 | fail→fail | 6,245 | 9,625 | +54% | 1 | 1 | 0% | 317 | 1,735 | +447% | 0 | 0 | — |
case-12 | fail→fail | 10,950 | 8,680 | -21% | 1 | 1 | 0% | 1,759 | 2,693 | +53% | 0 | 0 | — |
case-03 | fail→fail | 9,190 | 5,194 | -43% | 1 | 1 | 0% | 440 | 1,469 | +234% | 0 | 0 | — |
case-04 | fail→fail | 6,382 | 10,307 | +62% | 1 | 1 | 0% | 1,065 | 1,991 | +87% | 0 | 0 | — |
case-05 | fail→fail | 11,680 | 8,919 | -24% | 1 | 1 | 0% | 1,977 | 1,839 | -7% | 0 | 0 | — |
case-06 | pass→fail | 12,895 | 8,466 | -34% | 1 | 1 | 0% | 2,511 | 1,685 | -33% | 0 | 0 | — |
case-07 | fail→fail | 6,933 | 6,437 | -7% | 1 | 1 | 0% | 965 | 1,477 | +53% | 0 | 0 | — |
case-08 | fail→fail | 14,746 | 7,247 | -51% | 1 | 1 | 0% | 1,149 | 1,510 | +31% | 0 | 0 | — |
case-09 | fail→fail | 7,350 | 10,442 | +42% | 1 | 1 | 0% | 1,394 | 1,986 | +42% | 0 | 0 | — |
case-10 | pass→pass | 11,236 | 13,091 | +17% | 1 | 1 | 0% | 1,786 | 3,335 | +87% | 0 | 0 | — |
case-11 | pass→pass | 12,711 | 14,021 | +10% | 1 | 1 | 0% | 2,024 | 3,023 | +49% | 0 | 0 | — |
case-13 | pass→pass | 4,712 | 8,600 | +83% | 1 | 1 | 0% | 657 | 2,182 | +232% | 0 | 0 | — |
case-14 | fail→fail | 6,408 | 11,314 | +77% | 1 | 1 | 0% | 1,021 | 2,110 | +107% | 0 | 0 | — |
case-15 | fail→pass | 14,278 | 4,106 | -71% | 1 | 1 | 0% | 2,562 | 1,925 | -25% | 0 | 0 | — |
case-16 | fail→pass | 8,311 | 3,113 | -63% | 1 | 1 | 0% | 1,308 | 1,788 | +37% | 0 | 0 | — |
case-17 | fail→fail | 7,960 | 11,105 | +40% | 1 | 1 | 0% | 1,423 | 1,952 | +37% | 0 | 0 | — |
case-18 | fail→fail | 7,863 | 6,060 | -23% | 1 | 1 | 0% | 1,487 | 1,450 | -2% | 0 | 0 | — |
case-19 | pass→pass | 6,152 | 13,343 | +117% | 1 | 1 | 0% | 1,035 | 2,635 | +155% | 0 | 0 | — |
case-20 | pass→pass | 14,360 | 5,346 | -63% | 1 | 1 | 0% | 2,348 | 1,978 | -16% | 0 | 0 | — |
case-21 | fail→pass | 13,909 | 4,965 | -64% | 1 | 1 | 0% | 2,349 | 2,058 | -12% | 0 | 0 | — |
case-22 | fail→fail | 16,054 | 3,620 | -77% | 1 | 1 | 0% | 1,377 | 1,817 | +32% | 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. 22 cases were attempted, and 10 counted toward the lift figure. The other 12 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 +9 percentage points is the difference between those two pass rates over the 10 comparable cases. 1 case got worse with the skill loaded, and it is 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.