xiaohongshu
xiaohongshu
editing-obo-ontologies
Skills and tools for editing OBO format ontologies, including querying terms, checking out/checking in individual terms, and following OBO format conventions. Do not use this if the source for the ontology you are editing is not in obo format (e.g. ofn)
Full skill instructions
This skill provides guidance and tools for editing ontologies in OBO format.
Most OBO ontologies follow a similar structure:
src/ontology/{ontology}-edit.oboterms/ directory for editingUse the obo-grep.pl script for searching OBO files:
obo-grep.pl --noheader -r 'id: ONTO:0004177' src/ontology/{ontology}-edit.oboobo-grep.pl --noheader -r 'ONTO:0004177' src/ontology/{ontology}-edit.oboobo-grep.pl --noheader -r '(hand|foot)' src/ontology/{ontology}-edit.obosrc/ontology/{ontology}-edit.obo)aurelian fulltext PMID:NNNNNNobo-checkout.pl src/ontology/{ontology}-edit.obo ONTO:1234567 [OTHER_IDS]terms/{ontology}_1234567.obo (note: colon replaced with underscore)terms/ folderobo-checkin.pl src/ontology/{ontology}-edit.obo ONTO:1234567 [OTHER_IDS]terms/This skill includes three essential scripts:
obo-grep.pl - Fast searching of OBO filesobo-checkout.pl - Extract terms to individual files for editingobo-checkin.pl - Merge edited terms back into main fileAll scripts are available in your PATH when this skill is loaded.
ONTO:NNNNNNN (check project conventions for number of digits)id: - unique identifiername: - human-readable labelnamespace: - ontology namespacedef: - definition with references in square bracketsis_a, part_of, has_part, etc.ONTO:777xxxx for new termsgrep 'id: ONTO:777' src/ontology/{ontology}-edit.obodef: "..." [PMID:nnnn, doi:mmmm]aurelian fulltext <PMID:nnn> (also works with DOIs and URLs)[] without a sourceSynonyms should include proper attribution:
Correct:
synonym: "alternative name" EXACT [PMID:12345678]
synonym: "abbrev" EXACT ABBREVIATION [PMID:12345678]
is_a parentExample of proper intersection_of usage:
[Term]
id: ONTO:0000715
name: specific disease
def: "A general disease that involves specific location." [PMID:12345678]
is_a: ONTO:0001082 ! general disease
intersection_of: ONTO:0004971 ! general disease
intersection_of: disease_has_location UBERON:0000029 ! specific location
Note that in OWL this corresponds to: 'specific disease' EquivalentTo 'general disease' and 'disease has location' some 'specific location'
is_a, relationship, intersection_of)replaced_by tag (exact replacement)consider tags (suggested alternatives)Example of simple obsolescence:
[Term]
id: ONTO:0100334
name: obsolete term name
property_value: IAO:0000231 OMO:0001000
property_value: IAO:0000233 "https://github.com/{project}/issues/XXXX" xsd:anyURI
is_obsolete: true
replaced_by: ONTO:0100321
Example with considerations instead of replacement:
[Term]
id: ONTO:0100229
name: obsolete term name
def: "OBSOLETE. Original definition here." [original references]
property_value: IAO:0000231 OMO:0001000
property_value: IAO:0000233 "https://github.com/{project}/issues/XXXX" xsd:anyURI
is_obsolete: true
consider: ONTO:0100259
consider: ONTO:0100260
alt_id - use obsolescence with replacement insteadproperty_value: IAO:0000233 "https://github.com/{project}/issues/XXXX" xsd:anyURIproperty_value: http://purl.org/dc/terms/creator https://orcid.org/0000-0001-2345-6789
Validate OBO syntax using ROBOT:
robot convert --catalog src/ontology/catalog-v001.xml \
-i src/ontology/{ontology}-edit.obo \
-f obo \
-o {ontology}-edit.TMP.obo
Use -vvv flag for full stack trace if there are errors.
Many OBO ontologies use DOSDP (Dead Simple Ontology Design Patterns):
src/patterns/dosdp-patterns/*.yaml for project-specific patternsaurelian or web searchxiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience