Agent skill · research science · google-deepmind

embl-ebi-ols

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.

Why this skill is useful

Adds specific utility scripts for querying biomedical ontologies that the AI wouldn't reliably generate on its own.

What it needs

Requires uv installed locally. About 6k tokens when loaded. Last updated 2026-07-07. 2,648 stars on the source repository.

What this skill does

EMBL-EBI Ontology Lookup Service (OLS) Prerequisites 1. uv: Read the uv skill and follow its Setup instructions to ensure uv is installed and on PATH. 2. User Notification: If .licenses/emblebiolsLICENSE.txt does not already exist in the workspace root directory then (1) prominently notify the user to check the terms at https://www.ebi.ac.uk/ols4/api-docs, then (2) create the file recording the notification text and timestamp. Core Rules [!IMPORTANT] Use the Utility Scripts: You MUST ALWAYS use the provided utility script under scripts/ for all API interactions, including checking status. NEVER use curl or custom Python requests to query API directly. Rate Limiting & Resilience: You MUST respect EBI's Terms of Use with a maximum 5 requests per second. The provided utility scripts automatically enforce this. Notification: If this skill is used, ensure this is mentioned in the output. When to Use — Quick Recipes Use this skill whenever a user query matches one of these patterns: Definition of a disease, phenotype, or term → getterm.py --oboid <ID> --summary Subtypes or children of a term → getterm.py --oboid <ID> --relations children Parent of a term → getterm.py --oboid <ID> --relations parents Ancestors / disease categories / classified under → getterm.py --oboid <ID> --relations ancestors Root terms of an ontology → getterm.py --ontology <id> --roots Hierarchical parents (is-a + part-of) → getterm.py --oboid <ID> --relations hierarchicalParents Structures part of / hierarchical children → getterm.py --oboid <ID> --relations hierarchicalChildren Compare direct vs hierarchical parents → getterm.py --oboid <ID> --relations parents,hierarchicalParents Search for a term (e.g., "apoptosis" in GO) → searchols.py --query "..." --ontology <id> Find a GO term matching a function → searchols.py --query "..." --ontology go --exact Search in MONDO, CHEBI, CL, UBERON → searchols.py --query "..." --ontology <id> --defining Paginate search results / next page → searchols.py --quer …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills google-deepmind/embl_ebi_ols

View the source on GitHub

Browse the @skills marketplace