CtrlK
BlogDocsLog inGet started
Tessl Logo

uniprot-database

Direct REST API access to UniProt. Protein searches, FASTA retrieval, ID mapping, Swiss-Prot/TrEMBL. For Python workflows with multiple databases, prefer bioservices (unified interface to 40+ services). Use this for direct HTTP/REST work or UniProt-specific control.

61

Quality

73%

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 ./backend/cli/skills/databases/uniprot-database/SKILL.md

The canonical home for this skill is uniprot-database in administrakt0r/AI-Agents-Safe-Coding-Skills

SKILL.md
Quality
Evals
Security

Quality

Content

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

A well-structured, mostly executable reference with genuinely useful progressive disclosure into four real reference files. The main gaps are the absence of validation/error-handling steps in the ID-mapping and batch workflows and duplicated query-syntax examples both inline and in references/query_syntax.md.

Suggestions

Add validation and error-recovery steps to the ID-mapping workflow: what a failed/partial job looks like in the status response, retry guidance for polling, and how to detect and handle empty or failed mappings in the results.

Remove the duplicated inline 'Query Syntax Examples' section (or the overlapping 'Common search patterns' block) and keep a handful of the most common queries with a single pointer to /references/query_syntax.md.

Inline one complete, copy-paste-ready example (e.g., a curl or Python call against the search endpoint with a real query and format) so the core operation is executable without opening references/api_examples.md.

DimensionReasoningScore

Conciseness

The body is efficient and well-sectioned with minimal conceptual padding (only a single background sentence about UniProt in the Overview). It is held below anchor 5 by real duplication: the 'Common search patterns' block and the later 'Query Syntax Examples' section repeat nearly the same queries (gene:BRCA1, accession:P12345, length:[100 TO 500]), which could be collapsed.

4 / 5

Actionability

Guidance is mostly executable: full endpoint URLs with parameter shapes ('https://rest.uniprot.org/uniprotkb/search?query={query}&format={format}'), concrete field names, named helper functions in scripts/uniprot_client.py, and format lists. It stops short of anchor 5 because no complete copy-paste request example (curl or Python snippet) appears inline — those live in references/api_examples.md.

4 / 5

Workflow Clarity

The ID-mapping workflow is a clear 3-step sequence (run → status/{jobId} → results/{jobId}) but has no validation or error-recovery checkpoints, and the batch/streaming operations (up to 100,000 IDs) likewise offer no feedback loop for failures or empty results. Per the rubric, batch operations without validation steps cap workflow clarity at 3.

3 / 5

Progressive Disclosure

Structure is good: the body keeps a few key examples inline while the bulk lives in real, clearly signaled, one-level-deep references (api_fields.md, id_mapping_databases.md, query_syntax.md, api_examples.md), all listed under a Resources section. It matches anchor 4 ('a few key examples inline, bulk in separate file') rather than 5 because the inline query-syntax examples duplicate material that query_syntax.md already covers comprehensively.

4 / 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 with concrete capabilities, an explicit use-when clause, and excellent boundary routing against the bioservices alternative. Its main weakness is that the trigger guidance describes the mode of work (HTTP/REST control) rather than concrete user situations or natural trigger phrases.

Suggestions

Replace the abstract 'Use this for direct HTTP/REST work or UniProt-specific control' with concrete user-situation triggers, e.g., 'Use when the user mentions UniProt, protein accessions, FASTA retrieval, or mapping identifiers between protein databases'.

Add natural synonyms and file extensions users actually say ('protein sequence', 'sequence lookup', '.fasta') to broaden trigger coverage.

Use parallel verb phrases for the capability list (e.g., 'Search proteins, retrieve FASTA sequences, map IDs between databases') so each action reads as a concrete operation.

DimensionReasoningScore

Specificity

The description lists several concrete actions — 'Protein searches, FASTA retrieval, ID mapping, Swiss-Prot/TrEMBL' — grounded in the UniProt REST domain. It falls short of anchor 5 because the actions are terse noun phrases without verbs and coverage of the domain's operations (streaming, field selection, batch retrieval) is only implied rather than comprehensive.

4 / 5

Completeness

Both 'what' (direct REST API access, searches, FASTA retrieval, ID mapping) and 'when' ('Use this for direct HTTP/REST work or UniProt-specific control') are present, plus a routing boundary ('prefer bioservices' for multi-database Python workflows). The 'when' clause is conditional/meta-routing language rather than concrete user-situation trigger phrases, so it matches anchor 4 rather than anchor 5.

4 / 5

Trigger Term Quality

Good natural-keyword coverage: 'protein searches', 'FASTA', 'ID mapping', 'UniProt', 'REST API', 'Python' — terms users would plausibly say. A few natural variations are missing (e.g., 'protein sequence', 'sequence retrieval', '.fasta'), keeping it below anchor 5's comprehensive synonym/extension coverage.

4 / 5

Distinctiveness Conflict Risk

The description carves a clear niche — UniProt-specific REST work — and explicitly disambiguates from the nearest overlapping skill by redirecting multi-database Python workflows to bioservices. Trigger terms (UniProt, FASTA, Swiss-Prot) are unambiguous, giving minimal conflict risk.

5 / 5

Total

17

/

20

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.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

14

/

16

Passed

Repository
synthetic-sciences/openscience
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.