Agent skill

Uniprot Database

by aipoch in aipoch/medical-research-skills

Direct REST API access to UniProt for protein search, entry retrieval, and identifier mapping; use when you need programmatic UniProtKB queries or cross-database ID conversion.

MITAuto-check passedBackend & APIs

Install Uniprot Database

skills CLI
$ npx skills add aipoch/medical-research-skills --skill uniprot-database -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install aipoch/medical-research-skills uniprot-database --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/aipoch/medical-research-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/'scientific-skills/Evidence Insight/uniprot-database' .claude/skills/uniprot-database && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
uniprot-database
GitHub stars
2k
Token cost
~1.3k tokens
SKILL.md length
255 words
Files
5 (incl. scripts, references)
Skills in repo
567
Repo updated
First seen
Licence
MIT

At a glance

Direct REST API access to UniProt for protein search, entry retrieval, and identifier mapping; use when you need programmatic UniProtKB queries or cross-database ID conversion.

  • You need programmatic UniProtKB queries
  • SKILL.md covers When to Use, Key Features, Dependencies and Example Usage, plus 1 more section
  • Runs Python scripts from its folder; reaches rest.uniprot.org
  • Cross-database ID conversion

What it does

Uniprot Database is an agent skill from aipoch/medical-research-skills. Direct REST API access to UniProt for protein search, entry retrieval, and identifier mapping; use when you need programmatic UniProtKB queries or cross-database ID conversion.

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including scripts and reference files (for example `references/api_fields.md`, `references/query_syntax.md` and `scripts/uniprot_client.py`).

It sits in Backend & APIs, covering REST APIs. It works with UniProt. The repository describes itself as: Hundreds of agent skills for medical research, including protocol design, data analysis, evidence insights, and academic writing. The licence is MIT.

When your agent uses it

  • You need programmatic UniProtKB queries
  • Cross-database ID conversion

Example prompts

  • “/uniprot-database”

Requirements

  • Python 3

What it can do on your machine

Read from SKILL.md and the folder at commit 686e09d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • rest.uniprot.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Uniprot Database loads about 1.3k tokens when it runs, and up to ~1.5k if it reads all its reference files. Until then it costs about 48 tokens; SKILL.md has 255 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~48
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~1.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from aipoch/medical-research-skills at commit 686e09d, republished under its MIT licence (© aipoch). 255 words, ~1,309 tokens.

Download SKILL.mdSave it as .claude/skills/uniprot-database/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
uniprot-database
description
Direct REST API access to UniProt for protein search, entry retrieval, and identifier mapping; use when you need programmatic UniProtKB queries or cross-database ID conversion.
license
MIT
author
AIPOCH

Source: https://github.com/aipoch/medical-research-skills

When to Use

  • You need to search UniProtKB with Lucene-style queries (e.g., by gene name, organism, reviewed status).
  • You want to fetch the full details of a specific protein entry by UniProt accession (e.g., P12345).
  • You need to map identifiers between databases (e.g., gene names, Ensembl IDs, RefSeq IDs ↔ UniProt accessions).
  • You are building pipelines that require automated protein annotation retrieval in JSON/TSV/FASTA formats.
  • You need a lightweight client that talks directly to UniProt’s REST API without additional SDKs.

Key Features

  • Protein search via UniProtKB REST endpoint using Lucene query syntax.
  • Entry retrieval by accession with selectable output formats.
  • Identifier mapping between supported source/target databases using UniProt ID mapping service.
  • Format control (default json) for consistent downstream parsing.
  • Reference docs for query syntax and available API fields:
    • references/query_syntax.md
    • references/api_fields.md

Dependencies

  • Python >=3.8
  • requests >=2.31.0

Example Usage

python
import time
import requests

BASE = "https://rest.uniprot.org"

def search_protein(query: str, fmt: str = "json", size: int = 5):
    """
    Search UniProtKB using Lucene-style query syntax.
    """
    url = f"{BASE}/uniprotkb/search"
    params = {"query": query, "format": fmt, "size": size}
    r = requests.get(url, params=params, timeout=30)
    r.raise_for_status()
    return r.json() if fmt == "json" else r.text

def retrieve_entry(accession: str, fmt: str = "json"):
    """
    Retrieve a UniProtKB entry by accession.
    """
    url = f"{BASE}/uniprotkb/{accession}"
    params = {"format": fmt}
    r = requests.get(url, params=params, timeout=30)
    r.raise_for_status()
    return r.json() if fmt == "json" else r.text

def id_mapping(from_db: str, to_db: str, ids, poll_interval_s: float = 1.0):
    """
    Map identifiers using UniProt ID Mapping.
    ids can be a list of strings or a comma-separated string.
    """
    if isinstance(ids, (list, tuple)):
        ids = ",".join(ids)

    # 1) Submit mapping job
    submit_url = f"{BASE}/idmapping/run"
    r = requests.post(
        submit_url,
        data={"from": from_db, "to": to_db, "ids": ids},
        timeout=30,
    )
    r.raise_for_status()
    job_id = r.json()["jobId"]

    # 2) Poll job status
    status_url = f"{BASE}/idmapping/status/{job_id}"
    while True:
        s = requests.get(status_url, timeout=30)
        s.raise_for_status()
        payload = s.json()
        if payload.get("jobStatus") in (None, "FINISHED"):
            break
        if payload.get("jobStatus") == "FAILED":
            raise RuntimeError(f"ID mapping failed: {payload}")
        time.sleep(poll_interval_s)

    # 3) Fetch results (JSON)
    results_url = f"{BASE}/idmapping/results/{job_id}"
    res = requests.get(results_url, params={"format": "json"}, timeout=30)
    res.raise_for_status()
    return res.json()

if __name__ == "__main__":
    # Search example: human BRCA1
    search = search_protein("gene:BRCA1 AND organism_id:9606", size=3)
    print("Search results (first accessions):",
          [item["primaryAccession"] for item in search.get("results", [])])

    # Retrieve entry example
    entry = retrieve_entry("P38398")  # UniProt accession for human BRCA1 (example)
    print("Entry primaryAccession:", entry.get("primaryAccession"))
    print("Protein name:", entry.get("proteinDescription", {}).get("recommendedName", {}).get("fullName", {}).get("value"))

    # ID mapping example: gene name -> UniProtKB
    mapping = id_mapping(from_db="Gene_Name", to_db="UniProtKB", ids=["BRCA1"])
    print("Mapping results keys:", mapping.keys())

Implementation Details

  • Search Protein

    • Uses GET /uniprotkb/search
    • Key parameters:
      • query: Lucene-style query string (see references/query_syntax.md)
      • format: output format (default json)
      • Optional common parameters: size, fields, sort
    • Returns parsed JSON when format=json, otherwise raw text.
  • Retrieve Entry

    • Uses GET /uniprotkb/{accession}
    • Key parameters:
      • accession: UniProt accession (e.g., P12345)
      • format: output format (default json)
    • Suitable for fetching full record details for a known accession.
  • ID Mapping

    • Uses UniProt asynchronous mapping workflow:
      1. POST /idmapping/run with from, to, ids
      2. Poll GET /idmapping/status/{jobId} until finished
      3. Fetch GET /idmapping/results/{jobId}?format=json
    • ids accepts either a list or a comma-separated string.
    • Recommended parameters:
      • poll_interval_s: controls polling frequency to avoid excessive requests.
    • from_db / to_db must match UniProt-supported database identifiers (consult UniProt mapping documentation as needed).

© aipoch, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files (scripts, references) in scientific-skills/Evidence Insight/uniprot-database of aipoch/medical-research-skills.

  • SKILL.md
  • references/api_fields.md
  • references/query_syntax.md
  • scripts/uniprot_client.py
  • uniprot-database_audit_result_v1.json

Open the folder on GitHubat commit 686e09d

Compare with similar skills

Uniprot Database next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Uniprot Database compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Uniprot Database this skillaipoch/medical-research-skills2k—~1.3kAutomated safety check: PassMIT
Pride Databasemajiayu000/claude-skill-registry6662 repos~8.2kAutomated safety check: PassApache-2.0
Bio Uniprot AccessGPTomics/bioSkills1.2k2 repos~4.7kAutomated safety check: PassMIT
Quickgo Databasejaechang-hits/SciAgent-Skills3701 repos~6.9kAutomated safety check: PassApache-2.0
Kegg Databasejaechang-hits/SciAgent-Skills3701 repos~4.6kAutomated safety check: PassCustom licence
Interpro Databasejaechang-hits/SciAgent-Skills3701 repos~7.6kAutomated safety check: PassCC-BY-4.0

Similar skills

  • Pride Database

    majiayu000/claude-skill-registry

    Search the PRIDE Archive v3 REST API for proteomics datasets: discover projects by keyword + faceted filters (organism, instrument, disease, software), fetch project metadata, list and download…

    666 GitHub starsUsed in 2 repos~8.2k tokens
    Backend & APIsAuto-check passed
  • Bio Uniprot Access

    GPTomics/bioSkills

    Query UniProt's REST API (post-2022 endpoint at rest.uniprot.org) for protein sequences, annotations, GO terms, cross-references, ID mappings, and proteomes.

    1.2k GitHub starsUsed in 2 repos~4.7k tokens
    Backend & APIsAuto-check passed
  • Quickgo Database

    jaechang-hits/SciAgent-Skills

    Query EBI QuickGO REST API for GO terms and protein annotations.

    370 GitHub starsUsed in 1 repo~6.9k tokens
    Research & ScienceAuto-check passed
  • Kegg Database

    jaechang-hits/SciAgent-Skills

    KEGG REST API (academic only). An agent skill from jaechang-hits/SciAgent-Skills.

    370 GitHub starsUsed in 1 repo~4.6k tokens
    Research & ScienceAuto-check passed
  • Interpro Database

    jaechang-hits/SciAgent-Skills

    Query InterPro REST API for protein domain architecture, family classification, and member-DB integration.

    370 GitHub starsUsed in 1 repo~7.6k tokens
    Research & ScienceAuto-check passed
  • UniProt Database Access

    davila7/claude-code-templates

    Queries the UniProt REST API directly to search proteins, fetch FASTA sequences, map IDs between databases and read Swiss-Prot and TrEMBL entries.

    32k GitHub starsUsed in 15 repos~1.7k tokens
    Research & ScienceAuto-check passed

More from aipoch/medical-research-skills

All 567 skills in this repo
  • Academic Poster Generator

    aipoch/medical-research-skills

    Complete workflow for generating academic research posters from PDF literature; use when you need to extract paper content from PDFs and produce a LaTeX-based poster…

    2k GitHub stars~2.2k tokensUpdated 21 days ago
    Auto-check passed
  • Diagnostic Study Quality Assessment Quadas

    aipoch/medical-research-skills

    Analyzes clinical diagnostic accuracy studies for bias using the QUADAS-2 tool.

    2k GitHub stars~1.4k tokensUpdated 21 days ago
    Auto-check passed
  • Exploratory Data Analysis

    aipoch/medical-research-skills

    Perform comprehensive exploratory data analysis on scientific data files across 200+ file formats.

    2k GitHub stars~3.7k tokensUpdated 21 days ago
    Auto-check passed
  • Iso Certification

    aipoch/medical-research-skills

    A toolkit for preparing ISO 13485:2016 certification documentation for medical device QMS.

    2k GitHub stars~1.8k tokensUpdated 21 days ago
    Auto-check passed
  • Journal Skills

    aipoch/medical-research-skills

    Recommends target journals for manuscript submission by analyzing the paper topic/abstract and the journal distribution of similar PubMed literature; use when users ask for journal…

    2k GitHub stars~1.7k tokensUpdated 21 days ago
    Auto-check passed
  • Latex Posters

    aipoch/medical-research-skills

    Creates academic-poster writing packages for LaTeX using beamerposter, tikzposter, or baposter.

    2k GitHub stars~1.3k tokensUpdated 21 days ago
    Auto-check passed

Works with

Questions about Uniprot Database

What does Uniprot Database do?

Direct REST API access to UniProt for protein search, entry retrieval, and identifier mapping; use when you need programmatic UniProtKB queries or cross-database ID conversion. Uniprot Database is an agent skill from aipoch/medical-research-skills. Direct REST API access to UniProt for protein search, entry retrieval, and identifier mapping; use when you need programmatic UniProtKB queries or cross-database ID conversion.

When should I use Uniprot Database?

Uniprot Database fits situations like: you need programmatic UniProtKB queries; cross-database ID conversion.

How do I install Uniprot Database in Claude Code?

Run `npx skills add aipoch/medical-research-skills --skill uniprot-database -a claude-code`. Or copy the skill folder (scientific-skills/Evidence Insight/uniprot-database in aipoch/medical-research-skills) into .claude/skills/uniprot-database in your project. Claude Code loads it when a task matches its description.

How do I install Uniprot Database in Codex?

Run `npx skills add aipoch/medical-research-skills --skill uniprot-database -a codex`. Or copy the skill folder (scientific-skills/Evidence Insight/uniprot-database in aipoch/medical-research-skills) into .agents/skills/uniprot-database in your project. Codex loads it when a task matches its description.

Can I use Uniprot Database in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add aipoch/medical-research-skills --skill uniprot-database -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/uniprot-database, .gemini/skills/uniprot-database, .github/skills/uniprot-database and .opencode/skills/uniprot-database in your project.

What does Uniprot Database need to run?

Going by SKILL.md and its folder, Uniprot Database needs Python for the scripts in its folder. Our summary lists: Python 3.

Does Uniprot Database access the network?

SKILL.md names 1 domain. In commands or code: rest.uniprot.org; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Uniprot Database safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Uniprot Database use?

Uniprot Database is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Uniprot Database use?

About 1.3k tokens (SKILL.md is roughly 5.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 197 tokens, read only when the agent opens those files.

What are the alternatives to Uniprot Database?

Skills that share tags, products or a category with Uniprot Database: Pride Database (majiayu000/claude-skill-registry, 666 stars), Bio Uniprot Access (GPTomics/bioSkills, 1.2k stars), Quickgo Database (jaechang-hits/SciAgent-Skills, 370 stars) and Kegg Database (jaechang-hits/SciAgent-Skills, 370 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Uniprot Database?

aipoch (a GitHub organization) maintains it in aipoch/medical-research-skills, which has 1,974 GitHub stars. The repository holds 567 skills in this directory. The repository was last updated on September 17, 2026.

Source: aipoch/medical-research-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.