This skill should be used when the user asks about "memory protocol", "memento", "knowledge graph", "remembering context", "storing memories", "long-term memory", or when any SDLC workflow needs to persist or retrieve knowledge across sessions. Provides the standard protocol for using the memento MCP server to maintain project context. Trigger phrases: "memory protocol", "how to remember", "store this for later", "memento usage", "knowledge graph", "persist context", "recall previous", "remember this"
/plugin marketplace add jwilger/claude-code-plugins/plugin install sdlc-core@jwilger-claude-pluginsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
The memory protocol defines how to use the memento MCP server for persistent knowledge across sessions. This protocol is used by all SDLC workflows to maintain project context, store discoveries, and build cumulative knowledge about codebases and decisions.
Long-term memory (training data) and short-term memory (conversation context) are excellent, but "mid-term" memory for project-specific knowledge outside the current context is limited. Memento addresses this gap by providing a knowledge graph that persists between sessions.
ALWAYS search for relevant memories FIRST:
1. Use mcp__memento__semantic_search with a query describing the current task
2. Use mcp__memento__open_nodes to get full details on relevant results
3. Follow graph relationships to expand context
4. Continue traversing until results are no longer relevant
IMPORTANT: Do NOT use mcp__memento__read_graph to read the entire graph. Memories are stored
across ALL projects and the graph can be huge. Always use semantic search to find relevant subsets.
Store memories for any interesting, non-obvious information acquired, especially:
Use mcp__memento__create_entities with:
Entity naming: Use descriptive names with project and date context
Entity types: Choose meaningful types like:
project, constraint, design_pattern, debugging_insightuser_preference, architectural_decision, api_quirkObservations format:
Project: <name> | Path: <path> | Scope: PROJECT_SPECIFICScope: PATTERN or Scope: GENERALAlways create relationships between related memories using mcp__memento__create_relations.
Use descriptive relation types in active voice:
implements, extends, depends_on, discovered_duringcontradicts, supersedes, validatespart_of, related_to, derived_fromAll agents delegated work via the Task tool should:
Include a reminder in agent prompts: "Remember: Follow the memory protocol - search memento for project context, store discoveries."
When detecting a session is ending or conversation will be compacted, proactively store any unsaved discoveries in memento. Don't let knowledge be lost to context truncation.
The sdlc-core plugin provides hooks for PreCompact and Stop events to prompt memory checkpoints.
Task: Implement user authentication
Query: "authentication patterns user login security"
Results might include:
- Previous auth decisions for this project
- Security patterns used in similar projects
- User preferences about auth libraries
Entity: "Eventcore PostgreSQL Connection Pooling 2025-12"
Type: debugging_insight
Observations:
- "Project: eventcore | Path: /home/user/projects/eventcore | Scope: PROJECT_SPECIFIC"
- "PostgreSQL connection pool exhaustion occurs when >50 concurrent projections"
- "Solution: Use bb8 pool with max_size=20, connection_timeout=5s"
- "Root cause: Each projection held connection during entire batch processing"
From: "Eventcore PostgreSQL Connection Pooling 2025-12"
To: "PostgreSQL Best Practices"
RelationType: "validates"
From: "Eventcore PostgreSQL Connection Pooling 2025-12"
To: "Eventcore Projection System Design"
RelationType: "discovered_during"
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.