From memory-toolkit
Project memory — search, workstreams, notes, decisions. Auto-initializes on first use.
How this skill is triggered — by the user, by Claude, or both
Slash command
/memory-toolkit:memory <command> [args] [--brief] — search <query> | workstream <name> | workstreams | add-workstream <name> <kw...> | recent [n] | decisions [topic] | list | note <text><command> [args] [--brief] — search <query> | workstream <name> | workstreams | add-workstream <name> <kw...> | recent [n] | decisions [topic] | list | note <text>The summary Claude sees in its skill listing — used to decide when to auto-load this skill
---
# Claude Code uses git root (not cwd) and replaces / and . with - for project key
GIT_ROOT=$(git rev-parse --show-toplevel 2>/dev/null || pwd)
PROJ_KEY=$(echo "$GIT_ROOT" | tr '/.' '-' | sed 's/^-//')
MEM_DIR="$HOME/.claude/projects/-${PROJ_KEY}/memory"
Resolve memory.js:
MEM="${CLAUDE_PLUGIN_ROOT}/scripts/memory.js"
Bootstrap for this project:
mkdir -p "$MEM_DIR"memory.js if the plugin is installed — use $MEM resolved above. Only copy if plugin is not installed and no $MEM found.workstreams.json# {Project} — Memory
## API
\```bash
node {absolute $MEM path} --dir={MEM_DIR} <command>
\```
## Profile
{user answer}
## Rules
### Save
- Decision with reasoning → memory file with **Why:** and **How to apply:**
- User corrects you or confirms non-obvious choice → feedback memory
- Something surprising or counter-intuitive → note + memory
- Convert relative dates to absolute: "Thursday" → "2026-04-10"
### Don't save
- What git log already knows (commits, who changed what)
- What the code already shows (patterns, architecture)
- What CLAUDE.md already says
- Ephemeral task state (use TodoWrite)
### Format
- MEMORY.md = index only, max 200 lines. Details in separate .md files
- Each .md file has frontmatter: name, description, type (feedback/project/user/reference)
- workstreams.json = source of truth for aliases
- Use --brief for quick overviews, full output only when needed
### Session lifecycle
- Start of work → /session-start or /session-continue
- Ideas for later → /park (don't lose the thought)
- After big block of work → /reflect (workarounds, repetitions, insights → backlog)
- Before compact: save key decisions + update handoff
- Long session + topic changed → suggest /session-end
- End of work → /session-end (handoff for next session)
## Reference
{user links}
node "$MEM" --dir="$MEM_DIR" list/memory for lookup."All commands pass --dir=$MEM_DIR to ensure correct memory directory (required when memory.js is a symlink to plugin):
node "$MEM" --dir="$MEM_DIR" <command> [args]
Show workstreams + quick actions:
node "$MEM" --dir="$MEM_DIR" workstreams
node "$MEM" --dir="$MEM_DIR" search "<query>"
Summarize — don't dump raw. Highlight relevant to current task.
node "$MEM" --dir="$MEM_DIR" workstream "<name>"
node "$MEM" --dir="$MEM_DIR" workstreams
node "$MEM" --dir="$MEM_DIR" add-workstream "<name>" <keywords...>
node "$MEM" --dir="$MEM_DIR" recent <n>
node "$MEM" --dir="$MEM_DIR" decisions "<topic>"
node "$MEM" --dir="$MEM_DIR" list <type>
node "$MEM" --dir="$MEM_DIR" note "<text>"
npx claudepluginhub aivandelindt/claude_memory-toolkit --plugin memory-toolkitGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.