Install
openclaw skills install thecedeAccess and manage your persistent knowledge graph for storing, retrieving, linking, and summarizing facts, decisions, goals, and observations across sessions.
openclaw skills install thecedeYou have access to Cortex, a self-organizing knowledge graph for persistent memory. Use it to remember facts, decisions, goals, patterns, and observations across sessions. Knowledge is stored as nodes in a graph that auto-links, decays stale information, detects contradictions, and computes trust from topology.
cortex_briefing to load context from previous sessions.cortex_store to persist facts, decisions, goals, events, patterns, or observations.cortex_search or cortex_recall to find relevant knowledge.cortex_traverse to explore how concepts connect.cortex_relate to explicitly link related nodes.Store a knowledge node. Cortex auto-generates embeddings and the auto-linker discovers connections in the background.
cortex_store(
title: string, # Required. Short summary (used for search and dedup).
kind: string, # "fact" | "decision" | "goal" | "event" | "pattern" | "observation" | "preference". Default: "fact"
body: string, # Full content. Can be long. Include details here.
tags: string[], # Optional tags for filtering.
importance: number # 0.0–1.0. Higher = retained longer, weighted more. Default: 0.5
)
Returns: { id, message }.
Guidelines:
importance >= 0.7 for architectural decisions, credentials, project goals, user preferences.importance 0.4–0.6 for routine facts, observations, intermediate findings.importance <= 0.3 for ephemeral notes, temporary context.body.kind values — they affect briefing structure and filtering.Semantic similarity search across all stored knowledge.
cortex_search(
query: string, # Required. Natural language query.
limit: integer, # Max results. Default: 10
kind: string # Optional filter: "fact", "decision", "goal", etc.
)
Returns: array of { id, kind, title, body, score, created_at }.
When to use: Quick lookup of specific facts or concepts. Best when you know roughly what you're looking for.
Hybrid search combining vector similarity AND graph structure. Returns more contextually relevant results than pure search.
cortex_recall(
query: string, # Required. What to recall.
limit: integer, # Default: 10
alpha: number # 0.0 = pure graph, 1.0 = pure vector. Default: 0.7
)
When to use instead of search:
alpha (e.g., 0.3) when graph relationships matter more than text similarity.Generate a structured summary of relevant knowledge. Includes active goals, recent decisions, patterns, key facts, and contradiction alerts.
cortex_briefing(
agent_id: string, # Agent identifier. Default: "default"
compact: boolean # If true, returns a shorter ~4x denser briefing. Default: false
)
Returns: { briefing: "<markdown>" }.
Guidelines:
compact: true when context window is tight or you just need a quick refresh.agent_id per role/project to get scoped briefings.Walk the knowledge graph from a starting node to discover how concepts relate.
cortex_traverse(
node_id: string, # Required. Starting node UUID (from search/store results).
depth: integer, # How many hops. Default: 2
direction: string # "outgoing" | "incoming" | "both". Default: "both"
)
Returns: { nodes: [...], edges: [...] } — the subgraph.
When to use: After finding a key node via search, traverse to understand its full context, dependencies, and contradictions.
Create a typed relationship between two existing nodes.
cortex_relate(
from_id: string, # Required. Source node UUID.
to_id: string, # Required. Target node UUID.
relation: string # "relates-to" | "supports" | "contradicts" | "caused-by" | "depends-on" | "similar-to" | "supersedes". Default: "relates-to"
)
When to use:
contradicts or supersedes.cortex_relate for explicit, meaningful relationships the auto-linker might miss.cortex_briefing(agent_id="<project-or-role>") — load context.cortex_store(kind="decision", ...).cortex_store(kind="fact", ...).cortex_store(kind="pattern", ...).cortex_store(kind="event", ...).cortex_search(...) or cortex_recall(...).cortex_store(kind="event", title="Completed: <goal>", importance=0.6).cortex_search or cortex_recall to find conflicting nodes.cortex_relate(from_id=new, to_id=old, relation="supersedes") to mark the old information as superseded.| Kind | Use for | Example |
|---|---|---|
fact | Verified information | "API rate limit is 1000 req/min" |
decision | Choices made and rationale | "Chose PostgreSQL over MongoDB for ACID compliance" |
goal | Active objectives | "Ship v2.0 API by March 30" |
event | Things that happened | "Production outage on March 15, root cause: DNS" |
pattern | Recurring observations | "User requests spike every Monday 9am" |
observation | Unverified or preliminary notes | "The test suite seems flaky on CI" |
preference | User/team preferences | "User prefers concise responses with code examples" |