mem-save
npx machina-cli add skill uukuguy/dev-phase-manager/mem-save --openclawMem Save
Save current work memory to multiple backends with local MEMORY_INDEX.md tracking.
Execution Steps
1. Summarize Current Progress
Review the current session (or since the last memory save) and create a concise summary:
- What was accomplished (2-3 sentences)
- Key decisions made
- Current status (completed / in progress / blocked)
2. Save to claude-mem
Use mcp__plugin_claude-mem_mcp-search__save_memory to save a structured memory:
mcp__plugin_claude-mem_mcp-search__save_memory \
--title "[ProjectName] Memory Save - [Main Achievement]" \
--text "Progress: ... Key decisions: ... Next steps: ..." \
--project "ProjectName"
Memory content should include:
- Current progress summary
- Key technical decisions (if any)
- Unfinished items and blockers
- Suggested next steps
3. Save to Memory Knowledge Graph
Use mcp__memory__create_entities or mcp__memory__add_observations to save:
# Add observations to existing project entity
mcp__memory__add_observations \
--entityName "ProjectName" \
--contents "Progress: implemented X, decided to use Y, next step is Z"
# Or create new entity for new technical component
mcp__memory__create_entities \
--entities '[{
"name": "ComponentName",
"entityType": "Component",
"observations": ["Description of the component and decisions"]
}]'
Save only if there are:
- New architecture decisions
- New patterns or conventions discovered
- Key technology selections
4. Append to MEMORY_INDEX.md
Update docs/dev/MEMORY_INDEX.md in the consuming project:
4.1 If file does not exist, create initial structure:
# Memory Index
Project: [ProjectName]
Created: [YYYY-MM-DD]
---
## [Active Work]
4.2 Insert new entry at the TOP of [Active Work] section:
Format: - HH:MM | Description (same day) or - YYYY-MM-DD HH:MM | Description (cross-day)
Example:
## [Active Work]
- 15:30 | Completed mem-save skill implementation with MEMORY_INDEX.md support
- 14:00 | Started dev-phase-manager v1.1.0 implementation
Rules:
- New entries always go at the top of
[Active Work](newest first) - Keep entries concise (one line each)
- Include the most important achievement or status change
- Do NOT modify archived phase sections
5. Output Summary
Display a concise summary:
ā
Memory saved
Saved to:
- claude-mem: "[ProjectName] Memory Save - [Achievement]"
- knowledge graph: Updated [EntityName] observations
- MEMORY_INDEX.md: Added entry to [Active Work]
Summary:
- ā
Completed: [what was done]
- š In progress: [current work]
- š Next steps: [what to do next]
š” Tip: Use /mem-search to browse saved memories
Use Cases
Scenario 1: Periodic save during long session
# Working on implementation...
# After completing a significant chunk:
/mem-save
# ā Summarizes progress
# ā Saves to all backends
# ā Updates MEMORY_INDEX.md
Scenario 2: Before context clear
# Context approaching limit
/mem-save
/checkpoint-progress
/clear
# ā Memory preserved across clear
Scenario 3: After key decision
# Made important architecture decision
/mem-save
# ā Decision recorded in knowledge graph
# ā Indexed in MEMORY_INDEX.md
Notes
- No file creation beyond MEMORY_INDEX.md: Only creates/updates
docs/dev/MEMORY_INDEX.md - No git commits: Memory save does not commit to git
- Idempotent: Safe to call multiple times, each call adds a new entry
- Project detection: Auto-detect project name from git remote, directory name, or phase stack
- Timestamp: Use current local time for entries
Source
git clone https://github.com/uukuguy/dev-phase-manager/blob/main/skills/mem-save/SKILL.mdView on GitHub Overview
Mem Save captures the current session state and persists it across backends. It saves structured progress to claude-mem (MCP), updates the knowledge graph with observations or entities, and appends a top entry in MEMORY_INDEX.md for quick reference. This ensures decisions, blockers, and next steps are preserved between sessions.
How This Skill Works
First, summarize progress (accomplishments, key decisions, and status). Then save a structured memory to claude-mem using mcp__plugin_claude-mem_mcp-search__save_memory with a title and text. Next, push to the memory knowledge graph using either mcp__memory__create_entities or mcp__memory__add_observations, and finally update MEMORY_INDEX.md with a new top entry describing the current work state.
When to Use It
- Scenario 1: Periodic save during a long session to lock in progress and decisions
- Scenario 2: Before context clear to preserve memory across resets
- Scenario 3: After a key architectural decision to record rationale and impact
- Scenario 4: Before handoff or project transition to share current state
- Scenario 5: End-of-day wrap-up to ensure daily progress is captured
Quick Start
- Step 1: Summarize Current Progress: 2-3 sentences detailing what was done, decisions, and status
- Step 2: Save to claude-mem: mcp__plugin_claude-mem_mcp-search__save_memory --title "[Project] Memory Save - [Achievement]" --text "Progress: ... Key decisions: ... Next steps: ..." --project "[Project]"
- Step 3: Save to memory graph and update index: use mcp__memory__add_observations or mcp__memory__create_entities and then update docs/dev/MEMORY_INDEX.md with a top entry
Best Practices
- Keep the summary concise: 2-3 sentences covering progress, decisions, and blockers
- Include explicit blockers and next steps to guide follow-up work
- Use a consistent memory structure (progress, decisions, unfinished items) in claude-mem
- Let the project name be auto-detected, but validate it if detection fails
- Always top-insert MEMORY_INDEX.md with a timestamped entry; avoid modifying archives
Example Use Cases
- Memory Save for MVP launch: summarized progress and saved to claude-mem and memory graph
- Post-architecture decision: saved new component observations and MEMORY_INDEX.md entry
- Before context clear: preserved session state across /clear operation
- End of sprint: captured blockers and next steps in memory index
- New technology choice documented: decisions saved to knowledge graph