From cogitation
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".
npx claudepluginhub merewhiplash/engram-cogitator --plugin cogitationThis skill uses the workspace's default tool permissions.
Use the 2-of-3 rule. Store if at least TWO are true:
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
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, deployment