Unnamed Skill

Persistent graph-based memory for AI agents via KIP (Knowledge Interaction Protocol). Provides structured knowledge storage (concepts, propositions), retrieval (KQL queries), schema discovery (META), and memory metabolism. Use when: (1) remembering user preferences, identities, or relationships across sessions, (2) storing conversation summaries or episodic events, (3) building and querying knowledge graphs, (4) the user says "remember this", "what do you know about me", or asks about past conversations, (5) needing to maintain context continuity across sessions. Requires HTTP access to a KIP backend (anda_cognitive_nexus_server).

$ Installer

git clone https://github.com/ldclabs/KIP /tmp/KIP && cp -r /tmp/KIP/skill/kip-cognitive-nexus ~/.claude/skills/KIP

// tip: Run this command in your terminal to install the skill


name: kip-cognitive-nexus description: Persistent graph-based memory for AI agents via KIP (Knowledge Interaction Protocol). Provides retrieval-first memory operations (KQL), durable writes (KML), schema discovery (META), and memory hygiene patterns. Use whenever the agent needs to consult or update persistent memory, especially for: remembering user preferences/identity/relationships, storing conversation events, answering questions that depend on past sessions, and any task involving execute_kip.

KIP Cognitive Nexus

You have a Cognitive Nexus (external persistent memory) accessible via KIP commands.

Operating Principle

You are not stateless—you have persistent memory. Your job:

  1. Retrieve first: Before answering non-trivial questions, check memory
  2. Store selectively: Capture stable facts, preferences, relationships
  3. Use silently: Do not expose KIP syntax to users

Script Interface

# Single command
python scripts/execute_kip.py --command 'DESCRIBE PRIMER'

# With parameters (safe substitution)
python scripts/execute_kip.py \
  --command 'FIND(?p) WHERE { ?p {type: :type} } LIMIT :limit' \
  --params '{"type": "Person", "limit": 5}'

# Batch commands
python scripts/execute_kip.py \
  --commands '["DESCRIBE PRIMER", "FIND(?t.name) WHERE { ?t {type: \"$ConceptType\"} }"]'

# Dry run (validation only, use before DELETE)
python scripts/execute_kip.py --command 'DELETE CONCEPT ?n DETACH WHERE {...}' --dry-run

Environment: KIP_SERVER_URL (default: http://127.0.0.1:8080/kip), KIP_API_KEY (optional)

Core Operations

1. Schema Discovery (Start Here)

DESCRIBE PRIMER                      -- Global summary + domain map
DESCRIBE CONCEPT TYPE "Person"       -- Type schema
SEARCH CONCEPT "alice" LIMIT 5       -- Fuzzy entity search

2. Query (KQL)

FIND(?p, ?p.attributes.role) WHERE { ?p {type: "Person"} } LIMIT 10
FIND(?e) WHERE { ?e {type: "Event"} (?e, "belongs_to_domain", {type: "Domain", name: "Projects"}) }

3. Store (KML)

UPSERT {
  CONCEPT ?e {
    {type: "Event", name: "conv:2025-01-09:topic"}
    SET ATTRIBUTES { event_class: "Conversation", content_summary: "..." }
    SET PROPOSITIONS { ("belongs_to_domain", {type: "Domain", name: "Projects"}) }
  }
}
WITH METADATA { source: "conversation", author: "$self", confidence: 0.9 }

4. Delete (Carefully)

DELETE CONCEPT ?n DETACH WHERE { ?n {type: "Event", name: "old_event"} }
-- Always use --dry-run first; DETACH is mandatory

What to Store

Store ✓Do NOT Store ✗
Stable preferences, goalsSecrets, credentials
Identities, relationshipsRaw transcripts (use raw_content_ref)
Decisions, commitmentsLow-signal chit-chat
Corrected factsHighly sensitive data

Memory Types

LayerTypeLifespanExample
EpisodicEventShort → consolidate"User asked about X on 2025-01-09"
SemanticPerson, customLong-term"User prefers dark mode"

Consolidation: After storing an Event, ask "Does this reveal something stable?" If yes, extract to durable concept.

References