Lovefromio Ontology

v1.0.0

Typed knowledge graph for structured agent memory and composable skills. Use when creating/querying entities (Person, Project, Task, Event, Document), linkin...

0· 43·1 current·1 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for lovefromio/lovefromio-ontology.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Lovefromio Ontology" (lovefromio/lovefromio-ontology) from ClawHub.
Skill page: https://clawhub.ai/lovefromio/lovefromio-ontology
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install lovefromio-ontology

ClawHub CLI

Package manager switcher

npx clawhub@latest install lovefromio-ontology
Security Scan
Capability signals
Requires sensitive credentials
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description, SKILL.md, schema references, and the included scripts/ontology.py all align: this is a local typed knowledge graph for agent memory and cross-skill state. There are no declared env vars or external services required that would be unrelated to the ontology purpose.
Instruction Scope
SKILL.md limits operations to creating/querying/relating entities and storing an append-only graph file under memory/ontology/graph.jsonl. It does not instruct the agent to read arbitrary system files or exfiltrate data. Note: Documents can reference local file paths (Document.path) and the skill advises storing secret references rather than raw secrets—users should avoid putting secrets or sensitive content directly into the graph.
Install Mechanism
No install spec is provided (instruction-only packaging) and the script is included in the bundle. There is no external URL download or package installation required, which minimizes install-time risk.
Credentials
The skill requires no environment variables, credentials, or config paths. The schema explicitly forbids storing secrets directly and instead uses secret_ref indirection. This is proportionate to the described functionality.
Persistence & Privilege
The skill persists an append-only graph file under memory/ontology/graph.jsonl within the workspace and can be invoked autonomously (disable-model-invocation is false). This is expected for a shared agent memory component, but users should be aware that stored ontology data is persistent and readable by other skills and local users with access to the workspace.
Scan Findings in Context
[meta_manifest_mismatch] unexpected: The registry metadata in the evaluation header (ownerId: kn7ctkm6..., version 1.0.0) differs from _meta.json inside the bundle (ownerId: kn72dv4..., version 1.0.4). This is a packaging/metadata inconsistency (not by itself malicious) but worth verifying the source and intended version before installation.
[path_validation_note] unexpected: The code contains resolve_safe_path which enforces staying within the workspace root, but many graph operations use Path(path) directly (load_graph/append_op). If CLI entrypoints accept arbitrary paths, there is a minor risk of writing/reading files outside the expected workspace if callers pass custom paths. Confirm the CLI enforces or defaults to workspace-scoped paths.
Assessment
This skill is coherent and implements a local ontology stored under memory/ontology/graph.jsonl; it does not ask for credentials or network access. Before installing: (1) verify the skill's provenance because _meta.json and registry metadata disagree; (2) ensure your workspace directory is secure since the graph file is persistent and readable by other skills or users with access; (3) do not store raw secrets in entities—use secret_ref indirection as advised and ensure any referenced secret store is trusted; (4) if you plan to pass custom graph paths to the CLI, confirm the CLI/agent enforces workspace-scoped paths to avoid accidental file access outside the project. If any of these checks fail, treat the package with caution or request a vetted release from a known source.

Like a lobster shell, security has layers — review code before you run it.

latestvk976y1d6ajq5tkxz93fpy7q80d85ne5n
43downloads
0stars
1versions
Updated 1d ago
v1.0.0
MIT-0

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

# 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":"alice@example.com"}'

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.

Comments

Loading comments...