CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

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.

55

Quality

69%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/uniprot-database/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

53%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 a dense, mostly executable REST reference with clear endpoints and query syntax, but it is undermined by a bundle that omits every file it references — the five referenced reference/script files do not exist — and by an ID mapping batch workflow with no validation steps. There is also moderate redundancy across sections that could be tightened.

Suggestions

Ship the referenced bundle files (references/api_fields.md, references/id_mapping_databases.md, references/query_syntax.md, references/api_examples.md, scripts/uniprot_client.py) or remove the pointers and inline the essential content — currently all five references are dead, so progressive disclosure and the Python helper section are unusable.

Add validation checkpoints to the ID mapping workflow: poll the status endpoint until the job completes, handle FAILED/errored jobs, and verify the returned mappings before use, since this is a batch operation on up to 100,000 IDs.

Deduplicate the content: merge the 'Query Syntax Examples' section with the search patterns in 'Searching for Proteins', and consolidate the Resources file listing with the inline reference citations to cut repeated tokens.

DimensionReasoningScore

Conciseness

The body is information-dense with no padded concept explanations, but there is real repetition: query examples ("gene:BRCA1", "accession:P12345", "length:[100 TO 500]") appear in both 'Searching for Proteins' and 'Query Syntax Examples', the 'When to Use This Skill' section restates the description's capability list, and the Resources section re-lists reference files already cited inline. This matches 'mostly efficient but could be tightened' rather than 'minor instances that could be trimmed' (4).

3 / 5

Actionability

Concrete, copy-pasteable guidance dominates: full endpoints ("https://rest.uniprot.org/uniprotkb/search?query={query}&format={format}"), executable query strings, a worked example URL, a field list, and a 3-step ID mapping workflow with real URLs. Not 5 because the 'Python Implementation' section directs Claude to a helper script ("use the provided helper script scripts/uniprot_client.py") that does not exist in the bundle, and no inline runnable code (curl/requests) covers the common cases.

4 / 5

Workflow Clarity

The ID mapping workflow has a clear sequence ("1. Submit mapping job... 2. Check job status... 3. Retrieve results") but no validation checkpoints — no polling-until-complete guidance, no handling of FAILED jobs, and no verification of mapped IDs. Since ID mapping is a batch operation (the skill itself notes 'Maximum 100,000 IDs per job'), the rubric's cap of 3 for batch workflows without validation applies. Not 4 because the checkpoints aren't merely implicit — they are absent.

3 / 5

Progressive Disclosure

The body is well-sectioned and clearly signals one-level-deep references ("See /references/query_syntax.md for comprehensive syntax documentation"), but scored against the actual bundle structure: none of the five referenced files (references/api_fields.md, id_mapping_databases.md, query_syntax.md, api_examples.md, scripts/uniprot_client.py) exist in the bundle — every pointer is dead, so the disclosure structure fails in practice. Not 3+ because functioning references are the core of this dimension; not 1 because the SKILL.md itself is well-organized and navigable, not a monolith or nested chain.

2 / 5

Total

12

/

20

Passed

Description

75%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 description that names concrete capabilities, includes an explicit 'Use this for' trigger clause, and actively disambiguates against the bioservices alternative. Its main weakness is that the trigger phrasing is implementation-focused ('direct HTTP/REST work') rather than user-intent-focused, leaving a few natural trigger terms unsurfaced.

DimensionReasoningScore

Specificity

Lists several concrete actions — "Protein searches, FASTA retrieval, ID mapping" with "Direct REST API access to UniProt" — which matches the 'several specific actions; minor gaps in coverage' anchor. Not 5 because coverage has gaps (no mention of annotations, batch retrieval, or streaming that the body demonstrates); not 3 because it names the domain plus three distinct concrete actions rather than only 1-2.

4 / 5

Completeness

Both parts are present: a clear 'what' ("Protein searches, FASTA retrieval, ID mapping, Swiss-Prot/TrEMBL") and an explicit 'when' clause ("Use this for direct HTTP/REST work or UniProt-specific control"), so the missing-trigger cap of 3 does not apply. Not 5 because the 'when' phrase is implementation-oriented rather than a concrete user-mention trigger (e.g., 'when the user asks to look up a protein or fetch a sequence').

4 / 5

Trigger Term Quality

Good natural keyword coverage: "UniProt", "protein", "FASTA", "ID mapping", "Swiss-Prot/TrEMBL", "Python", "REST API" — terms users would actually say. Not 5 because common variations like "protein sequence", "retrieve sequence", or file-extension-style triggers are missing; not 3 because keyword coverage goes well beyond a couple of generic terms.

4 / 5

Distinctiveness Conflict Risk

Clear niche (UniProt REST access) with explicit disambiguation against the nearest competing skill ("For Python workflows with multiple databases, prefer bioservices"), which strongly reduces overlap risk. Not 5 because the trigger "direct HTTP/REST work" is broad and could pull in general HTTP/API tasks; not 3 because the domain is specific and the main conflict is explicitly managed.

4 / 5

Total

16

/

20

Passed

Validation

81%

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

Validation — 13 / 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

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

13

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

skills/uniprot-database/SKILL.md

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.