Use this to store and recall high-signal project knowledge and team roles via a persistent memory graph.

Install

mkdir -p .claude/skills/kb-memory && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/13085" && unzip -o skill.zip -d .claude/skills/kb-memory && rm skill.zip

Installs to .claude/skills/kb-memory

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Persistent MCP memory policy for this KB (server-memory knowledge graph). Use for stable preferences, people/roles mappings, and high-signal pointers to KB notes. Triggered by "память", "запомни", "не забудь", "забудь", "remember", "forget".
241 chars✓ has a “when” trigger
Advanced

Key capabilities

  • Store stable preferences in MCP memory
  • Map people to roles in MCP memory
  • Store high-signal pointers to KB notes
  • Search for relevant nodes using `mcp__server-memory__search_nodes`
  • Open relevant nodes using `mcp__server-memory__open_nodes`

How it works

The skill acts as a policy layer for persistent memory via MCP `server-memory`, storing stable, high-signal information and pointers to KB files, and retrieving relevant nodes based on user queries.

Inputs & outputs

You give it
User explicit commands like "remember", "forget", or statements of stable preferences, person-role mappings, or durable decisions
You get back
Updated MCP memory with new entities, observations, or relations, or retrieved relevant nodes

When to use kb-memory

  • Saving a persistent project preference
  • Recalling a team member role
  • Retrieving context about project decisions

About this skill

kb-memory

Use this skill as a policy layer for persistent memory via MCP server-memory (knowledge graph).

Principles (keep KB canonical)

  • notes/work/** is the source of truth for daily state (plan, progress, time tracking).
  • MCP memory is for stable, high-signal information and pointers to KB files, not for duplicating markdown content.
  • Prefer retrieval (search_nodes + open_nodes) over dumping the whole graph (read_graph).

Safety gate (Telegram / multi-tenant)

If the injected chat context indicates any of the following:

  • kb_scope: isolated (per-chat) (or any non-owner / shared workspace mode),
  • group/non-owner context,

then do not read or write MCP memory (avoid leaking owner memory across chats).

Recall loop (start of a user turn, when allowed)

  1. Build a short query from the user message: project names, people, Jira keys, key nouns (3–8 tokens).
  2. Run mcp__server-memory__search_nodes with that query.
  3. Open only top 1–3 relevant nodes via mcp__server-memory__open_nodes.
  4. Extract only a small set of observations (5–12 lines max) to inform the answer.

Avoid mcp__server-memory__read_graph except debugging.

What is worth remembering (write triggers)

Write/update MCP memory only when:

  • user explicitly says “запомни / не забудь / забудь / больше так не делай / всегда делай так”;
  • a stable preference or durable personal fact is stated;
  • a new person↔role mapping appears;
  • a durable decision/agreement is made and there is (or will be) a KB artifact you can point to.

If the info is “today-only” (progress, time spent, daily plan) → keep it in notes/work/**, not in MCP memory.

Naming conventions (avoid duplicates)

Use stable entity names:

  • User:<name> (single main user entity)
  • Person:<Full Name>
  • Project:<short> (e.g., Project:ESO)
  • Note:<relative_path> (e.g., Note:notes/meetings/2025-12-28-eso-sync.md)
  • Jira:<KEY> (optional)
  • Decision:<slug> (optional)

Recommended entityType values (match the prefix):

  • User:<name>User
  • Person:<Full Name>Person
  • Project:<short>Project
  • Note:<relative_path>Note
  • Jira:<KEY>Jira
  • Decision:<slug>Decision

Always mcp__server-memory__search_nodes first; only then mcp__server-memory__create_entities.

Observation format (easy to update/delete)

Keep each observation as a single line (one fact), key-value style:

  • pref: answer_format=1_screen (as_of=YYYY-MM-DD, src=user)
  • role: <...> (as_of=YYYY-MM-DD, src=kb|user|meeting)
  • pointer: notes/meetings/...md — 1–2 line summary (as_of=YYYY-MM-DD, src=kb)

When a fact changes:

  • remove the exact old observation via mcp__server-memory__delete_observations
  • add the new one via mcp__server-memory__add_observations

Minimal graph patterns

Preferences live on User:<name>.

Pointers live on Note:<path> and can be linked:

  • Note:<path> -[covers]-> Project:<...>
  • Note:<path> -[mentions]-> Person:<...>
  • Note:<path> -[references]-> Jira:<KEY> (optional)

Relation naming:

  • keep relationType in snake_case (reports_to, covers, mentions, references)
  • avoid synonyms (pick one verb and stick to it)

KB indexing recipe (batch)

When asked to “index the KB into MCP memory”, do a pointer index, not a content dump:

  • Include: notes/**/*.md + optionally README.md.
  • Exclude (noise / raw / legacy): archive/legacy/**, notes/meetings/artifacts/**, notes/daily-logs/**, notes/work/daily-brief.md, notes/work/end-of-day.md.
  • For each selected markdown file:
    • Create Note:<relative_path> (entityType Note) with a single pointer: observation using the file H1 title.
    • Extract Jira keys (project keys, e.g. RND-123, RUMA-4480) → create Jira:<KEY> entities (entityType Jira) and link via Note:<path> -[references]-> Jira:<KEY>.
    • For meeting notes: parse **Participants**: / **Участники**: and link Note:<path> -[mentions]-> Person:<name> (avoid duplicating the main user; reuse User:<name> when obvious).

Tool payload templates (copy-ready)

Payload for mcp__server-memory__create_entities:

{"entities":[{"name":"User:Example User","entityType":"User","observations":["pref: answer_format=1_screen (as_of=2025-12-28, src=user)"]}]}

Payload for mcp__server-memory__add_observations:

{"observations":[{"entityName":"User:Example User","contents":["pref: answer_format=1_screen (as_of=2025-12-28, src=user)"]}]}

Payload for mcp__server-memory__delete_observations (exact string match):

{"deletions":[{"entityName":"User:Example User","observations":["pref: answer_format=1_screen (as_of=2025-12-28, src=user)"]}]}

Payload for mcp__server-memory__create_relations:

{"relations":[{"from":"Note:notes/meetings/2025-12-28-sync.md","relationType":"covers","to":"Project:Example"}]}

“Forget” behavior

If user says “забудь X”:

  • locate relevant nodes via mcp__server-memory__search_nodes + mcp__server-memory__open_nodes
  • remove specific observation(s) / relation(s) (mcp__server-memory__delete_observations / mcp__server-memory__delete_relations)
  • confirm in chat what was removed (short, explicit).

If MCP memory is unavailable (setup gate)

If MCP tools mcp__server-memory__* are not available (server is not configured / npx is missing / MCP is disabled):

  1. Stop and ask the user for permission to enable/install MCP server-memory (this may download code and may modify ~/.codex/config.toml).
  2. If the user agrees, set it up:
    • Add the server: codex mcp add server-memory -- npx -y @modelcontextprotocol/server-memory
    • Ensure MCP server passes MEMORY_FILE_PATH through (check codex mcp get server-memory --json"env_vars": ["MEMORY_FILE_PATH"]).
    • Ensure MEMORY_FILE_PATH points to the intended storage (repo default: .mcp/server-memory.jsonl).
  3. Verify by calling mcp__server-memory__read_graph (or any targeted tool like search_nodes).

If running via Telegram bot context and the execution policy requires an explicit “dangerous” confirmation for installs/config edits, ask the user to re-send the same request prefixed with (see codex-access-escalation).

Never store

  • secrets/tokens/passwords/keys
  • raw transcripts / large blobs of text
  • daily worklog details already present in notes/work/**

When not to use it

  • When the chat context is isolated or shared (multi-tenant)
  • When storing daily state, progress, or time tracking information

Limitations

  • Does not read or write MCP memory in isolated or shared workspace modes
  • Does not store secrets, tokens, passwords, or keys
  • Does not store raw transcripts or large blobs of text

How it compares

This skill provides a structured, policy-driven approach to persistent memory management using a knowledge graph, unlike unstructured note-taking which lacks explicit entity and relation definitions.

Compared to similar skills

kb-memory side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
kb-memory (this skill)06moNo flagsAdvanced
memory-keeper-proactive-context-maintenance69moReviewIntermediate
agent-memory-coordinator36moNo flagsIntermediate
simplemem-skill16moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

memory-keeper-proactive-context-maintenance

b4CU-R4U

Automatically detect and maintain memory freshness by monitoring context staleness, significant code changes, task completions, and phase transitions. Proactively suggests and executes memory sync operations with user confirmation. Use when the user says "sync memory", "update context", or when the Skill detects that context is stale (>2 hours), significant changes have occurred (new commits), tasks completed, or major milestones reached. Replaces passive "context is stale" warnings with active maintenance.

694

agent-memory-coordinator

ruvnet

Agent skill for memory-coordinator - invoke with $agent-memory-coordinator

318

simplemem-skill

aiming-lab

Store and retrieve conversation memories across sessions. Use when asked to 'remember this', 'save conversation', 'add to memory', 'what did we discuss about...', 'query memories', or 'import chat history'. Also use proactively to preserve important dialogue context and decisions.

10

skills

alejopuentes1-maker

Skill personalizado para crear síntesis automáticas de sesiones y sincronizarlas con NotebookLM.

00

agent-memory-mcp

davila7

A hybrid memory system that provides persistent, searchable knowledge management for AI agents (Architecture, Patterns, Decisions).

840

context-management

No-Trade-No-Life

在多轮对话和多 Agent 协作场景下,帮助模型管理指令、项目状态和长上下文。通过外部文档与会话笔记实现可控的“记忆”、指令冲突检测和高质量交接。适用于任务跨多次调用、跨 Agent、需要稳定行为规范时使用。

18

Search skills

Search the agent skills registry