Agent skill

Ontology

by 1mancompany in 1mancompany/OneManCompany

Typed knowledge graph for structured agent memory and composable skills.

Apache-2.0Auto-check passedKnowledge Management

Install Ontology

skills CLI
$ npx skills add 1mancompany/OneManCompany --skill ontology -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install 1mancompany/OneManCompany ontology --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/1mancompany/OneManCompany.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/onemancompany/default_skills/ontology .claude/skills/ontology && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ontology
GitHub stars
442
Used in
2 other repos
Token cost
~1.5k tokens
SKILL.md length
184 words
Files
4 (incl. scripts, references)
Skills in repo
3
Repo updated
First seen
Licence
Apache-2.0

At a glance

Typed knowledge graph for structured agent memory and composable skills.

  • Creating/querying entities (Person
  • SKILL.md covers Core Concept, When to Use, Core Types and Storage, plus 7 more sections
  • Runs Python scripts from its folder; calls python3
  • Linking related objects

What it does

Ontology is an agent skill from 1mancompany/OneManCompany. Typed knowledge graph for structured agent memory and composable skills. Use when creating/querying entities (Person, Project, Task, Event, Document), linking related objects, enforcing constraints, planning multi-step actions as graph transformations, or when skills need to share state. Trigger on "remember", "what do I know about", "link X to Y", "show dependencies", entity CRUD, or cross-skill data access.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including scripts and reference files (for example `references/queries.md`, `references/schema.md` and `scripts/ontology.py`).

It sits in Knowledge Management, covering Knowledge graphs and Agent memory. The repository describes itself as: Build Your Agent Company with OMC. The licence is Apache-2.0.

When your agent uses it

  • Creating/querying entities (Person
  • Linking related objects
  • Enforcing constraints
  • Planning multi-step actions as graph transformations

Example prompts

  • “remember”
  • “what do I know about”
  • “link X to Y”
  • “/ontology”

Requirements

  • Python 3

What it can do on your machine

Read from SKILL.md and the folder at commit 3fde188. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Ontology loads about 1.5k tokens when it runs, and up to ~4.5k if it reads all its reference files. Until then it costs about 105 tokens; SKILL.md has 184 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~105
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from 1mancompany/OneManCompany at commit 3fde188, republished under its Apache-2.0 licence (© 1mancompany). 184 words, ~1,484 tokens.

Download SKILL.mdSave it as .claude/skills/ontology/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
ontology
description
Typed knowledge graph for structured agent memory and composable skills. Use when creating/querying entities (Person, Project, Task, Event, Document), linking related objects, enforcing constraints, planning multi-step actions as graph transformations, or when skills need to share state. Trigger on "remember", "what do I know about", "link X to Y", "show dependencies", entity CRUD, or cross-skill data access.
autoload
true

Ontology

A typed vocabulary + constraint system for representing knowledge as a verifiable graph.

Core Concept

Everything is an entity with a type, properties, and relations to other entities. Every mutation is validated against type constraints before committing.

Entity: { id, type, properties, relations, created, updated }
Relation: { from_id, relation_type, to_id, properties }

When to Use

TriggerAction
"Remember that..."Create/update entity
"What do I know about X?"Query graph
"Link X to Y"Create relation
"Show all tasks for project Z"Graph traversal
"What depends on X?"Dependency query
Planning multi-step workModel as graph transformations
Skill needs shared stateRead/write ontology objects

Core Types

yaml
# Agents & People
Person: { name, email?, phone?, notes? }
Organization: { name, type?, members[] }

# Work
Project: { name, status, goals[], owner? }
Task: { title, status, due?, priority?, assignee?, blockers[] }
Goal: { description, target_date?, metrics[] }

# Time & Place
Event: { title, start, end?, location?, attendees[], recurrence? }
Location: { name, address?, coordinates? }

# Information
Document: { title, path?, url?, summary? }
Message: { content, sender, recipients[], thread? }
Thread: { subject, participants[], messages[] }
Note: { content, tags[], refs[] }

# Resources
Account: { service, username, credential_ref? }
Device: { name, type, identifiers[] }
Credential: { service, secret_ref }  # Never store secrets directly

# Meta
Action: { type, target, timestamp, outcome? }
Policy: { scope, rule, enforcement }

Storage

Default: memory/ontology/graph.jsonl

jsonl
{"op":"create","entity":{"id":"p_001","type":"Person","properties":{"name":"Alice"}}}
{"op":"create","entity":{"id":"proj_001","type":"Project","properties":{"name":"Website Redesign","status":"active"}}}
{"op":"relate","from":"proj_001","rel":"has_owner","to":"p_001"}

Query via scripts or direct file ops. All data lives on the filesystem — do NOT use SQLite or any database.

Workflows

Create Entity
bash
python3 scripts/ontology.py create --type Person --props '{"name":"Alice","email":"alice@example.com"}'
Query
bash
python3 scripts/ontology.py query --type Task --where '{"status":"open"}'
python3 scripts/ontology.py get --id task_001
python3 scripts/ontology.py related --id proj_001 --rel has_task
bash
python3 scripts/ontology.py relate --from proj_001 --rel has_task --to task_001
Validate
bash
python3 scripts/ontology.py validate  # Check all constraints

Constraints

Define in memory/ontology/schema.yaml:

yaml
types:
  Task:
    required: [title, status]
    status_enum: [open, in_progress, blocked, done]
  
  Event:
    required: [title, start]
    validate: "end >= start if end exists"

  Credential:
    required: [service, secret_ref]
    forbidden_properties: [password, secret, token]  # Force indirection

relations:
  has_owner:
    from_types: [Project, Task]
    to_types: [Person]
    cardinality: many_to_one
  
  blocks:
    from_types: [Task]
    to_types: [Task]
    acyclic: true  # No circular dependencies

Skill Contract

Skills that use ontology should declare:

yaml
# In SKILL.md frontmatter or header
ontology:
  reads: [Task, Project, Person]
  writes: [Task, Action]
  preconditions:
    - "Task.assignee must exist"
  postconditions:
    - "Created Task has status=open"

Planning as Graph Transformation

Model multi-step plans as a sequence of graph operations:

Plan: "Schedule team meeting and create follow-up tasks"

1. CREATE Event { title: "Team Sync", attendees: [p_001, p_002] }
2. RELATE Event -> has_project -> proj_001
3. CREATE Task { title: "Prepare agenda", assignee: p_001 }
4. RELATE Task -> for_event -> event_001
5. CREATE Task { title: "Send summary", assignee: p_001, blockers: [task_001] }

Each step is validated before execution. Rollback on constraint violation.

Integration Patterns

With Causal Inference

Log ontology mutations as causal actions:

python
# When creating/updating entities, also log to causal action log
action = {
    "action": "create_entity",
    "domain": "ontology", 
    "context": {"type": "Task", "project": "proj_001"},
    "outcome": "created"
}
Cross-Skill Communication
python
# Email skill creates commitment
commitment = ontology.create("Commitment", {
    "source_message": msg_id,
    "description": "Send report by Friday",
    "due": "2026-01-31"
})

# Task skill picks it up
tasks = ontology.query("Commitment", {"status": "pending"})
for c in tasks:
    ontology.create("Task", {
        "title": c.description,
        "due": c.due,
        "source": c.id
    })

Quick Start

bash
# Initialize ontology storage
mkdir -p memory/ontology
touch memory/ontology/graph.jsonl

# Create schema (optional but recommended)
cat > memory/ontology/schema.yaml << 'EOF'
types:
  Task:
    required: [title, status]
  Project:
    required: [name]
  Person:
    required: [name]
EOF

# Start using
python3 scripts/ontology.py create --type Person --props '{"name":"Alice"}'
python3 scripts/ontology.py list --type Person

References

  • references/schema.md — Full type definitions and constraint patterns
  • references/queries.md — Query language and traversal examples

© 1mancompany, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (scripts, references) in src/onemancompany/default_skills/ontology of 1mancompany/OneManCompany.

  • SKILL.md
  • references/queries.md
  • references/schema.md
  • scripts/ontology.py

Open the folder on GitHubat commit 3fde188

Used in 2 other repositories

We found 9 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 2 other GitHub owners. This page covers the copy in 1mancompany/OneManCompany, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Ontology next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Ontology compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ontology this skill1mancompany/OneManCompany4422 repos~1.5kAutomated safety check: PassApache-2.0
Lat Md Knowledge Graphstevesolun/ctx588—~466Automated safety check: PassMIT
Basic Memorybasicmachines-co/basic-memory4.1k—~2.9kAutomated safety check: PassAGPL-3.0
Para Memory FilesUndertone0809/rudder292—~2.6kAutomated safety check: PassApache-2.0
MemPalace MemoryMemPalace/mempalace60k—~2.7kAutomated safety check: PassMIT
Cortexdb Memory Hermesliliang-cn/cortexdb274—~1.7kAutomated safety check: PassMIT

Similar skills

  • Design or audit a repo-local markdown knowledge graph with wiki links, source-code backlinks, drift checks, and searchable sections.

    588 GitHub stars~466 tokensUpdated 7 days ago
    Knowledge ManagementAuto-check passed
  • Basic Memory

    basicmachines-co/basic-memory

    Use the Basic Memory knowledge graph for persistent memory across sessions.

    4.1k GitHub stars~2.9k tokensUpdated yesterday
    Knowledge ManagementAuto-check passed
  • Para Memory Files

    Undertone0809/rudder

    File-based memory system using Tiago Forte's PARA method. An agent skill from Undertone0809/rudder.

    292 GitHub stars~2.6k tokensUpdated yesterday
    Knowledge ManagementAuto-check passed
  • MemPalace Memory

    MemPalace/mempalace

    Gives an agent a local memory palace over MCP: verbatim conversation memory, semantic search and a temporal knowledge graph, with a per-session recall protocol.

    60k GitHub stars~2.7k tokensUpdated today
    Knowledge ManagementAuto-check passed
  • Cortexdb Memory Hermes

    liliang-cn/cortexdb

    Give a Python agent (such as Hermes Agent by Nous Research) durable, local-first memory plus a queryable SPARQL knowledge graph, backed by CortexDB through its gRPC sidecar and the cortexdb-client…

    274 GitHub stars~1.7k tokensUpdated 3 days ago
    Knowledge ManagementAuto-check passed
  • Cortexdb Memory Openclaw

    liliang-cn/cortexdb

    Give a Node.js agent (such as OpenClaw) durable, local-first memory plus a queryable SPARQL knowledge graph, backed by CortexDB through its gRPC sidecar and the cortexdb-client npm package.

    274 GitHub stars~1.6k tokensUpdated 3 days ago
    Knowledge ManagementAuto-check passed

More from 1mancompany/OneManCompany

  • Proactive Agent

    1mancompany/OneManCompany

    Transform AI agents from task-followers into proactive partners that anticipate needs and continuously improve.

    442 GitHub starsUsed in 1 repo~4.2k tokens
    Auto-check passed
  • Work Principles

    1mancompany/OneManCompany

    Personal work principles and behavioral guidelines, shaped by CEO guidance.

    442 GitHub stars~512 tokensUpdated 1 mo ago
    Auto-check passed

Questions about Ontology

What does Ontology do?

Typed knowledge graph for structured agent memory and composable skills. Ontology is an agent skill from 1mancompany/OneManCompany. Typed knowledge graph for structured agent memory and composable skills.

When should I use Ontology?

Ontology fits situations like: creating/querying entities (Person; linking related objects; enforcing constraints; planning multi-step actions as graph transformations.

How do I install Ontology in Claude Code?

Run `npx skills add 1mancompany/OneManCompany --skill ontology -a claude-code`. Or copy the skill folder (src/onemancompany/default_skills/ontology in 1mancompany/OneManCompany) into .claude/skills/ontology in your project. Claude Code loads it when a task matches its description.

How do I install Ontology in Codex?

Run `npx skills add 1mancompany/OneManCompany --skill ontology -a codex`. Or copy the skill folder (src/onemancompany/default_skills/ontology in 1mancompany/OneManCompany) into .agents/skills/ontology in your project. Codex loads it when a task matches its description.

Can I use Ontology in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add 1mancompany/OneManCompany --skill ontology -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ontology, .gemini/skills/ontology, .github/skills/ontology and .opencode/skills/ontology in your project.

What does Ontology need to run?

Going by SKILL.md and its folder, Ontology needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Ontology access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Ontology safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Ontology use?

Ontology is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ontology use?

About 1.5k tokens (SKILL.md is roughly 5.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3k tokens, read only when the agent opens those files.

What are the alternatives to Ontology?

Skills that share tags, products or a category with Ontology: Lat Md Knowledge Graph (stevesolun/ctx, 588 stars), Basic Memory (basicmachines-co/basic-memory, 4.1k stars), Para Memory Files (Undertone0809/rudder, 292 stars) and MemPalace Memory (MemPalace/mempalace, 60k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ontology?

1mancompany (a GitHub organization) maintains it in 1mancompany/OneManCompany, which has 442 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on August 26, 2026.

Source: 1mancompany/OneManCompany on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.