Store important project context in EC's persistent memory. Use after making architectural decisions, discovering gotchas or workarounds, identifying recurring patterns, or when user says "remember this", "store this", "save for later", "don't forget".
Stores project-specific decisions, learnings, and patterns in persistent memory for future reference.
npx claudepluginhub merewhiplash/engram-cogitatorThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Use the 2-of-3 rule. Store if at least TWO are true:
| Type | Use for | Examples |
|---|---|---|
decision | Architectural choices, why X over Y | "Chose Redis over Memcached because..." |
learning | Codebase discoveries, gotchas, workarounds | "API rate limits are 100 req/min..." |
pattern | Recurring conventions in this project | "All API responses use envelope format..." |
config | Project configuration (managed by @init/@config) | Test commands, branching conventions |
ec_search:
query: [what you want to store]
Avoid duplicates. If similar exists, consider updating instead.
Store:
Skip:
Use ec_add with required fields:
ec_add:
type: decision|learning|pattern
area: [component like "auth", "api", "database"]
content: [1-2 sentences, specific and actionable]
rationale: [Why this matters, optional but recommended]
GOOD:
type: decision
area: auth
content: Using JWT with short-lived access tokens (15min) and refresh tokens (7d) for session management
rationale: Balance between security (short access) and UX (don't require frequent re-login)
BAD:
type: decision
area: auth
content: Using JWT for authentication
rationale: It's popular
GOOD:
type: learning
area: api
content: External payment API returns 200 with error in body for validation failures. Must check response.success field, not just HTTP status.
rationale: Discovered during integration - caused silent failures initially
BAD:
type: learning
area: api
content: API sometimes fails
GOOD:
type: pattern
area: components
content: All form components use react-hook-form with zod validation. Schema defined in same file as component.
rationale: Established convention for consistency
BAD:
type: pattern
area: components
content: We use React
Store immediately after:
If a memory is outdated:
ec_invalidate:
id: <old_memory_id>
superseded_by: <new_memory_id>
The area field should match component/domain names used in your codebase:
auth, api, database, ui, config, testing, deploymentActivates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use for discovering, retrieving, and improving prompts.
Search, retrieve, and install Agent Skills from the prompts.chat registry using MCP tools. Use when the user asks to find skills, browse skill catalogs, install a skill for Claude, or extend Claude's capabilities with reusable AI agent components.
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.