From munin-claude-code
Long-term project memory with semantic search, recall, and storage. Automatically retrieves relevant context at task start and saves decisions, bug fixes, and architecture choices at task end.
How this skill is triggered — by the user, by Claude, or both
Slash command
/munin-claude-code:munin-memoryThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
I give every Claude Code session access to your project's long-term memory. Memories include past tasks, decisions, bugs, architecture choices — everything your team has learned. I automatically handle end-to-end encryption if the project has it enabled.
I give every Claude Code session access to your project's long-term memory. Memories include past tasks, decisions, bugs, architecture choices — everything your team has learned. I automatically handle end-to-end encryption if the project has it enabled.
| Tool | Purpose |
|---|---|
munin_search_memories | Semantic search with natural language query |
munin_retrieve_memory | Get full memory content by exact key |
munin_list_memories | Paginated list of all memories |
munin_store_memory | Save new memory with auto-tagging |
munin_diff_memory | Compare two versions of a memory |
munin_recent_memories | Fetch most recently updated memories |
munin_share_memory | Share memories to other projects (Pro/Elite only) |
munin_get_project_info | Check E2EE status and tier features |
munin_search_memories with keywords relevant to the current taskmunin_retrieve_memory for detailed context on promising matchesCall munin_store_memory with:
task, architecture, bug-fix, setup, decision)munin_search_memories with error keywords first| Tag | When to Use |
|---|---|
task | General task-related memories |
architecture | Technical architecture, system design decisions |
bug-fix | Resolved bugs with root cause |
setup | Configuration, environment setup |
decision | Important decisions with rationale |
dependencies | Library versions, package changes |
error-catalog | Error patterns and their resolutions |
api | API endpoints, request/response formats |
Query: "SePay integration error handling"
→ Finds all memories about SePay errors, fixes, and API patterns
munin_store_memory({
title: "Migrate SePay webhook to async queue",
content: "Moved SePay webhook handler from synchronous to BullMQ queue.\nFile: server/services/sepayWebhook.ts\nQueue: sepay-webhooks\nKey change: Now enqueues job, worker processes async",
tags: ["task", "sepay", "architecture"]
})
Every E2EE project uses a Hash Key — a password the user set in the WebUI.
munin_get_project_info to check E2EE status.encryptionEnabled: true or aiPoweredE2EE: true:
MUNIN_ENCRYPTION_KEY is set in the project's .env file.munin-claude env set MUNIN_ENCRYPTION_KEY <key>aiPoweredE2EE: true → munin_store_memory payload MUST include an embedding field (encrypted vector generated client-side). If missing → server returns HTTP 400 error.munin_retrieve_memory returns decryption error. Re-confirm the key with the user and update .env.Memories can be shared to other projects on the same account using munin_share_memory (Pro/Elite only).
Prerequisites: Source and target projects must belong to the same user.
Workflow:
memoryIds: use munin_list_memories or munin_search_memoriestargetProjectIds: user's other projects (use Dashboard or GET /projects)munin_share_memory({ memoryIds: [...], targetProjectIds: [...] })E2EE Caveat: Target project must share the same Hash Key to read encrypted content. If target has E2EE ON and key differs → shared memory is unreadable until user updates the target's Hash Key.
Memories are automatically indexed into the knowledge graph:
npx claudepluginhub p/3d-era-munin-claude-code-plugins-munin-claude-codeGuides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
Provides Slack GIF creation utilities with dimension/FPS/color constraints and Python PIL-based frame generation. Use for animated Slack emoji or message GIFs.