embl-ebi-ols
Agent skill fromgoogle-deepmind/science-skills
Query and search the EMBL-EBI Ontology Lookup Service (OLS) for biomedical ontology terms, definitions, and hierarchies across 250+ ontologies (e.g., GO, DOID, HP). Use when the user asks to search for terms, retrieve details, navigate hierarchies (parents, children, ancestors), look up properties and individuals, get autocomplete suggestions, or access ontology metadata and statistics.
How to install embl-ebi-ols
install embl-ebi-ols
# install the science-skills pack with the skills CLI
npx skills add google-deepmind/science-skills# or add only this skill to Claude Code: copy the folder
skills/embl_ebi_ols/
# into
~/.claude/skills/embl_ebi_ols/ (all projects)
.claude/skills/embl_ebi_ols/ (one project)
1# EMBL-EBI Ontology Lookup Service (OLS)23## Prerequisites451. **`uv`**: Read the `uv` skill and follow its Setup instructions to ensure6 `uv` is installed and on PATH.72. **User Notification**: If .licenses/embl_ebi_ols_LICENSE.txt does not8 already exist in the workspace root directory then (1) prominently notify9 the user to check the terms at https://www.ebi.ac.uk/ols4/api-docs, then (2)10 create the file recording the notification text and timestamp.1112## Core Rules1314- [!IMPORTANT] **Use the Utility Scripts**: You MUST ALWAYS use the provided15 utility script under `scripts/` for all API interactions, including checking16 status. NEVER use `curl` or custom Python requests to query API directly.1718- **Rate Limiting & Resilience**: You MUST respect EBI's Terms of Use with a19 maximum 5 requests per second. The provided utility scripts automatically20 enforce this.2122- **Notification**: If this skill is used, ensure this is mentioned in the23 output.2425## When to Use — Quick Recipes2627Use this skill whenever a user query matches one of these patterns:2829- **Definition** of a disease, phenotype, or term → `get_term.py --obo_id <ID>30 --summary`31- **Subtypes** or **children** of a term → `get_term.py --obo_id <ID>32 --relations children`33- **Parent** of a term → `get_term.py --obo_id <ID> --relations parents`34- **Ancestors** / disease **categories** / **classified under** → `get_term.py35 --obo_id <ID> --relations ancestors`36…
Excerpt shown under the repository's Apache-2.0 license.
