Claude Skill MartBrowse skillsQuick linesLearn by videoTerminal guideWhat is a Skill?
Back to list

Ontology Term Resolution

Resolves free-text scientific labels into exact ontology IDs via EBI OLS4 and validates existing CURIEs for existence, obsolescence, and label consistency.

Data & AnalyticsIntermediate33,0303,248AI score 9/10Last updated: Aug 9, 2026

What it does

  • Resolves free-text labels ("left ventricle", "liver") to precise IDs in UBERON, CL, MONDO, HP, EFO, ChEBI, NCBITaxon, PATO.
  • Validates existing CURIEs: does the term exist, is it obsolete, what replaced it, does the asserted label match, is it the right ontology and branch.
  • Emits TSV/JSON and returns exit code 1 on failure, so it works as a CI gate over a metadata file.
  • Core rule: never write an ontology ID from memory — every ID comes from a live OLS4 lookup.
  • Documents real OLS4 API traps (exact is token matching, /search silently drops obsolete fields, ontology filters still return imported terms, obo_id index holes).

Who it's for

  • Researchers preparing submissions for GEO, ENA, BioSamples, CELLxGENE, HCA, or ISA-Tab.
  • Curators standardising tissue / cell type / disease columns in omics or single-cell datasets.
  • Data engineers auditing someone else's ID table or cleaning obsolete terms from legacy files.

Examples

  1. python3 resolve_terms.py "liver" --ontology uberon returns UBERON:0002107 with match_type exact_label.
  2. Batch-resolve a tissue column with --input tissues.txt --exact-only; non-exact rows are reported as unresolved instead of guessed.
  3. validate_terms.py --input metadata.tsv --strict blocks obsolete IDs, label mismatches, and wrong-ontology entries in CI.

· · · Install guide · · ·

Try it now, no install

Paste this into Claude to use the skill without installing anything.

Read the instructions in this file and follow them to help me:
https://raw.githubusercontent.com/K-Dense-AI/scientific-agent-skills/HEAD/skills/ontology-term-resolution/SKILL.md

What I want: (describe your task here)

If Claude can't open the link, open it yourself and paste the contents instead.

If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.

Install in the Claude app (no terminal)
  1. Download the ZIP with the button below.
  2. In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
  3. Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Download ZIP
Install in Claude Code

Let Claude do it — paste this into Claude Code

Install the skill I found on Claude Skill Mart.
Copy the skills/ontology-term-resolution folder from the GitHub repo K-Dense-AI/scientific-agent-skills into my ~/.claude/skills/ontology-term-resolution/.
When it's done, tell me in one line what this skill can do.

Install with a command instead

git clone https://github.com/K-Dense-AI/scientific-agent-skills.git && mkdir -p ~/.claude/skills && cp -r scientific-agent-skills/skills/ontology-term-resolution ~/.claude/skills/

This is a third-party skill. Check the source repository before installing.

  1. Confirm Python 3.11 or newer: python3 --version
  2. Clone the repository: git clone https://github.com/K-Dense-AI/scientific-agent-skills.git
  3. Create the skills directory: mkdir -p ~/.claude/skills
  4. Copy this skill only: cp -r scientific-agent-skills/skills/ontology-term-resolution ~/.claude/skills/
  5. Verify network access to https://www.ebi.ac.uk/ols4 (public service, no API key needed).
  6. Restart Claude Code and ask something like "map these tissue names to UBERON IDs" or "validate the ontology IDs in this metadata table".