← Back to Skills Marketplace
tihuaqin-commits

Fox Ontology

by tihuaqin-commits · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
124
Downloads
0
Stars
2
Active Installs
1
Versions
Install in OpenClaw
/install fox-ontology
Description
Typed knowledge graph for structured agent memory and composable skills. Use when creating/querying entities (Person, Project, Task, Event, Document), linkin...
README (SKILL.md)

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

Trigger Action
"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 work Model as graph transformations
Skill needs shared state Read/write ontology objects

Core Types

# 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

{"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. For complex graphs, migrate to SQLite.

Append-Only Rule

When working with existing ontology data or schema, append/merge changes instead of overwriting files. This preserves history and avoids clobbering prior definitions.

Workflows

Create Entity

python3 scripts/ontology.py create --type Person --props '{"name":"Alice","email":"[email protected]"}'

Query

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

Link Entities

python3 scripts/ontology.py relate --from proj_001 --rel has_task --to task_001

Validate

python3 scripts/ontology.py validate  # Check all constraints

Constraints

Define in memory/ontology/schema.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:

# 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:

# 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

# 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

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

# Create schema (optional but recommended)
python3 scripts/ontology.py schema-append --data '{
  "types": {
    "Task": { "required": ["title", "status"] },
    "Project": { "required": ["name"] },
    "Person": { "required": ["name"] }
  }
}'

# 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

Instruction Scope

Runtime instructions operate on local files (memory/ontology/graph.jsonl and memory/ontology/schema.yaml) and provide CLI usage for create/query/relate/validate; this is within scope. The skill reads/writes workspace files and will create the memory/ontology directory when used. Validation includes property/enum/forbidden checks, relation type/cardinality validation, acyclicity for relations marked acyclic: true, and Event end >= start checks; other higher-level constraints may still be documentation-only unless implemented in code.

Usage Guidance
This skill appears internally consistent and implements a local, append-only ontology stored under memory/ontology/graph.jsonl. Before installing/use: (1) review the full scripts/ontology.py to confirm the truncated portions match the same local-only behavior; (2) be careful not to store raw secrets in entity properties—use secret_ref patterns and your own secret store instead (the skill only documents that practice; it does not enforce external secret storage); (3) note the skill writes files under your workspace (memory/ontology); if that is sensitive, choose a secure location or restrict access; (4) there is a small metadata mismatch in the bundled _meta.json ownerId vs the registry owner id—likely benign but worth noting. Overall the skill is coherent with its stated purpose.
Capability Analysis
Type: OpenClaw Skill Name: fox-ontology Version: 1.0.0 The fox-ontology skill bundle provides a structured knowledge graph system for agent memory, implementing entity-relationship management via a local JSONL file. The core logic in scripts/ontology.py includes robust security practices such as path traversal protection in resolve_safe_path and explicit validation to prevent the storage of sensitive credentials (e.g., passwords or tokens) within the graph. There are no signs of network activity, data exfiltration, or malicious execution patterns.
Capability Assessment
Purpose & Capability
Name/description (typed knowledge graph for agent memory) match the provided SKILL.md and the included Python script: all operations (create/query/relate/validate) operate on a local JSONL graph and schema files. There are no unrelated required binaries or environment variables.
Instruction Scope
Runtime instructions operate on local storage (memory/ontology/graph.jsonl and schema.yaml) and describe entity CRUD, validation, and graph-based planning. The SKILL.md does not instruct the agent to read arbitrary system files or exfiltrate data. It recommends referencing secrets via secret_ref rather than storing secrets in plain properties; however this is guidance only (no external secret integration is implemented).
Install Mechanism
No install specification present (instruction-only with a script file). Nothing is downloaded or executed from external URLs and no package managers are invoked.
Credentials
The skill declares no required environment variables, credentials, or config paths. Example schema fields reference secret references (e.g., keychain:github-token) but the skill does not request or manage those secrets itself.
Persistence & Privilege
The skill is not force-installed (always:false) and does not request elevated platform privileges. It writes data to a workspace-local path (memory/ontology/graph.jsonl) which is appropriate for a local ontology; the included resolve_safe_path helper enforces staying inside the workspace root (reduces risk of path traversal).
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install fox-ontology
  3. After installation, invoke the skill by name or use /fox-ontology
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
- Initial release of fox-ontology: a typed knowledge graph for structured agent memory and composable skills. - Supports creation, querying, validation, and relation of core entity types such as Person, Project, Task, Event, and Document. - Enforces constraints including required properties, enums, forbidden fields, relation cardinality, and acyclic relations. - Provides CLI workflows for entity management, querying, linking, and schema validation. - Enables skill-level data sharing and cross-skill state through an append-only, verifiable graph. - Integrates with causal logs and supports planning as graph transformations.
Metadata
Slug fox-ontology
Version 1.0.0
License MIT-0
All-time Installs 2
Active Installs 2
Total Versions 1
Frequently Asked Questions

What is Fox Ontology?

Typed knowledge graph for structured agent memory and composable skills. Use when creating/querying entities (Person, Project, Task, Event, Document), linkin... It is an AI Agent Skill for Claude Code / OpenClaw, with 124 downloads so far.

How do I install Fox Ontology?

Run "/install fox-ontology" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Fox Ontology free?

Yes, Fox Ontology is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Fox Ontology support?

Fox Ontology is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Fox Ontology?

It is built and maintained by tihuaqin-commits (@tihuaqin-commits); the current version is v1.0.0.

💬 Comments