name: knowledge-graph description: Three-Layer Memory System — automatic fact extraction, entity-based knowledge graph, and weekly synthesis. Manages life/areas/ entities with atomic facts and living summaries. metadata: {"version":"1.1.0","openclaw":{"emoji":"🧠"}} permissions:
- exec: "Uses local filesystem commands when creating entity folders or scheduled knowledge-graph jobs."
- file_write: "Appends facts, summaries, and daily-note synthesis inside the workspace knowledge graph."
Knowledge Graph Skill
Maintain a lightweight, append-only entity graph that compounds durable facts across sessions.
When to Use
- Extract durable facts from recent work or conversation history
- Rewrite entity summaries from active facts
- Answer "what do we know about X?" without reopening large transcripts
- Keep shared context for people, companies, and projects inside the workspace
Data Model
Store the graph under:
<workspace>/life/areas/
people/<slug>/
companies/<slug>/
projects/<slug>/
Each entity folder should contain:
summary.mdfor the short, current snapshotfacts.jsonlfor atomic, append-only facts
Use one JSON object per line:
{
"id": "<slug>-NNN",
"fact": "Plain-English fact",
"category": "relationship|milestone|status|preference|context|decision",
"ts": "YYYY-MM-DD",
"source": "conversation|manual|inference",
"status": "active|superseded",
"supersedes": "<older-id>"
}
Fact Rules
- Keep facts atomic. One durable fact per entry.
- Append new facts instead of rewriting history.
- When something changes, add a new fact and mark the old one as superseded.
- Skip ephemera, greetings, speculation, and low-value chatter.
- Check existing facts before adding duplicates.
Durable facts usually include:
- role or relationship changes
- key decisions
- long-lived preferences
- major project milestones
- stable operating context
Workflows
Fact Extraction
- Read the recent daily note and the recent conversation window.
- Identify durable facts worth preserving.
- Resolve entity type and slug.
- Create the entity folder if it does not exist.
- Append new facts to
facts.jsonl. - Note extraction activity in the daily note if the workspace uses one.
Weekly Synthesis
- List entities changed during the week.
- Load active facts only.
- Rewrite
summary.mdin 3 to 8 concise lines. - Ensure contradicted facts are marked superseded.
- Record a short synthesis note in the daily log if applicable.
Entity Lookup
- Read
summary.mdfirst. - Open
facts.jsonlonly if the summary is stale or the user asked for detail. - Fall back to broader memory search only when the entity is missing from the graph.
Low-Token Recall
Recall should be triggered, not automatic.
- Recall when the user names a tracked person, company, or project.
- Recall when the user explicitly asks to remember, recall, or summarize prior context.
- Inject only the short summary by default.
- Avoid loading raw facts unless the user asked for specifics or contradictions need resolution.
Setup
Create the core directories once:
mkdir -p life/areas/people life/areas/companies life/areas/projects
If multiple agents share one workspace, point them at the same life/ directory so they operate on the same entity store.
Safety Boundaries
- Do not store sensitive secrets, credentials, or highly personal data unless the user explicitly asked for it.
- Do not create entities or facts for casual chat that has no durable value.
- Do not inject the graph into every conversation by default.
- Do not delete historical facts; supersede them with a newer fact instead.