Skip to content

Guide · Agent skill

How to use the BioServices bioinformatics lookup agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

The BioServices skill gives an AI agent a detailed guide to the BioServices Python library, which wraps public biology databases such as UniProt (proteins), KEGG (pathways), UniChem (compound identifiers) and QuickGO (gene function annotations). This guide explains what a skill is, how to install this one, how to ask for it in plain language, and what it needs and cannot do. After reading it you should be able to get the agent to write and run working lookup code and to check its results.

BioServices Bioinformatics LookupK-Dense-AI/scientific-agent-skills · MIT

Quick start

  1. 1Download and unzip the skill. Download the ZIP from this skill's page and unzip it so the bioservices folder with SKILL.md is in ~/.claude/skills/ or in your project's .claude/skills/ folder.
  2. 2Or upload it in the Claude apps. In the Claude apps, open Settings, then Capabilities, then Skills, and upload the ZIP.
  3. 3Install Python and BioServices. Use Python 3.9 or newer (below 4) and install the pinned BioServices package with the uv command shown in the setup section.
  4. 4Confirm internet access. The lookups call live services at UniProt, KEGG, UniChem, QuickGO and EMBL-EBI, so the machine must be online.
  5. 5Ask a specific question. Name the organism, the identifiers and the target database, and ask for failed IDs to be listed separately.
  6. 6Test on a small input. Run a handful of identifiers first and check the results against the source database before running a batch.
  7. 7Review and record the output. Keep failed and one-to-many mappings, the database release and the retrieval date with every exported file.

What a skill is and what this one makes the agent do

An agent skill is a folder with a SKILL.md file and optional helper files that an AI agent reads when a task matches the skill's description. This one is named bioservices and is aimed at combining protein annotation, gene and pathway membership, compound cross-references and integrated biological data in Python.

Once installed, the agent knows the correct BioServices method names, response formats and common pitfalls. It can write code that links protein, gene, pathway and compound identifiers instead of guessing at method names from older documentation.

  • UniProt: protein search, sequence retrieval and identifier mapping
  • KEGG: pathways for a gene and pathway network export
  • UniChem: compound identifier cross-references, such as ChEBI to ChEMBL
  • QuickGO: gene-ontology term annotations for a protein
  • Helper scripts for batch ID conversion, compound cross-referencing, KEGG pathway analysis and a multi-step protein workflow

Install the BioServices skill with a ZIP or the Claude apps

Download the ZIP from the skill's page in this directory and unzip it. For a personal install, place the bioservices folder (the one containing SKILL.md) in ~/.claude/skills/. For a single project, place it in that project's .claude/skills/ folder.

If you use the Claude apps, you can upload the ZIP instead under Settings, then Capabilities, then Skills.

Installing the skill does not install the Python library. You still need Python and the BioServices package, as described in the next section.

Set up Python and the BioServices package

The skill's requirements list Python 3.9 or newer (below 4) and the pinned BioServices release 1.16.0. The skill also needs internet access, because it queries live web services. The package install command in the skill's documentation uses uv.

The skill's notes say the bundled tests were run in an isolated Python 3.13 environment, and that the older 3.12 upper bound was not a package requirement.

uv pip install "bioservices==1.16.0"

Ask for the skill with natural requests

You do not need to name the skill. The agent is guided to use BioServices when a request combines protein annotation, gene or pathway membership, compound cross-references or genomic resources in Python. Be specific about the organism, the identifier type and what you want back.

Good requests name the entity and the target database, for example: 'Map these UniProt accessions to KEGG gene IDs for human and tell me which failed.' Ask for the output as a table or a file so the agent keeps failed and unmapped identifiers instead of dropping them.

  • Map these UniProt accessions to KEGG IDs for Homo sapiens and list any failed IDs separately.
  • Find the ChEMBL IDs that UniChem links to ChEBI:15365 and show the sources you used.
  • Get the KEGG pathways that contain human gene 7535 and list their names.
  • List the GO terms annotated to UniProt P43403, using every page of results.

Example: a UniChem compound cross-reference

This is an excerpt of the kind of code the skill guides the agent to write. It looks up ChEBI:15365 (aspirin, as the source comments) in UniChem and keeps only ChEMBL matches. It checks the response type first, because BioServices can return errors or None instead of raising an exception.

Empty results do not prove that a compound has no match. Review the output before you merge it into other data.

from bioservices import UniChem\nuc = UniChem(verbose=False)\nresponse = uc.get_compounds("CHEBI:15365", "chebi")\nif not isinstance(response, dict) or "compounds" not in response:\n raise RuntimeError("UniChem request failed")

Safety notes: scripts, network and email

This skill runs scripts and uses the network. The bundled scripts are batch_id_converter.py, compound_cross_reference.py, pathway_analysis.py and protein_analysis_workflow.py. Read a script before you run it on data you care about, and run a small test first.

The BLAST step submits jobs to EMBL-EBI, which requires a real contact email. The skill reads an optional NCBI_EMAIL environment variable or an explicit parameter. The BLAST example in the skill is illustrative and was not run as a live job during review.

Outputs are database annotations that may be incomplete or outdated. Pathway membership is not proof of function, and it is not an enrichment analysis.

  • Set NCBI_EMAIL only if you use the protein workflow's BLAST step, and use an address you control.
  • Expect rate limits: keep KEGG requests at or below three per second, as the skill notes.
  • Do not use outputs for clinical or diagnostic decisions.

Tips for reliable results

Resolve organisms and identifiers to stable accessions before you batch anything. Gene symbols and compound names can be ambiguous, and identical symbols across species are not the same entity.

Keep one-to-many mappings, failed identifiers, database release, query parameters and retrieval date alongside every exported table. Ambiguous hits should stay unresolved until someone reviews them.

  • Start with a small lookup before running a full batch.
  • Use the reference files in the skill (identifier mapping, service contracts, workflow patterns) when the agent is unsure of a method.
  • Check charge, stereochemistry, salts and parent forms before you merge compound data.

What people use it for

  • Converting a list of UniProt accessions to KEGG gene IDs for a pathway analysis, with failed IDs kept in their own list.
  • Finding the ChEMBL identifiers that UniChem links to a ChEBI compound, for a drug-data pipeline that you then review by hand.
  • Listing the KEGG pathways that contain a human gene, as a starting point for a biology class exercise.
  • Pulling every page of QuickGO GO-term annotations for a protein to summarise its gene-ontology terms.

Frequently asked questions

Is the BioServices skill free to use?

The skill's listing in this directory shows an MIT licence, but the SKILL.md file inside the download states GPLv3. Read the licence file in the ZIP and check which one applies before you reuse or redistribute the code.

What do I need to run the BioServices skill?

You need Python 3.9 or newer (below 4), the pinned bioservices package, and internet access. The protein workflow's BLAST step also needs a real contact email, set in the optional NCBI_EMAIL variable.

Where do I put the skill folder?

Put the bioservices folder, which contains SKILL.md, in ~/.claude/skills/ for a personal install or in a project's .claude/skills/ folder. In the Claude apps you can upload the ZIP under Settings, then Capabilities, then Skills.

Why does the agent say a lookup failed when there is no error message?

Some BioServices calls return an integer-like HTTP error or None instead of raising an exception. The skill guides the agent to check the response type first, so check the response yourself when a result looks empty.

Can I use this skill for clinical decisions?

No. The outputs are database annotations that may be incomplete or outdated, and pathway membership is not proof of function. Do not use them for clinical or diagnostic decisions.

How is this different from using the BioServices library directly?

The skill gives the agent a reference of current method names, response formats and pitfalls, so it writes code that matches the pinned release. You still need the Python library installed and internet access to run the lookups.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Use this skill if you are a bioinformatics student or researcher who needs to link protein, pathway and compound identifiers across public databases in Python, and you are willing to review the results. Pick something else if you need clinical or diagnostic output, if you cannot reach the internet, or if you need a validated enrichment analysis, since this skill does not provide one.

Download the skill