267 lines
7.5 KiB
Markdown
267 lines
7.5 KiB
Markdown
# Claude Memory (cmem) Handoff System Guide
|
|
|
|
## Overview
|
|
|
|
The `cmem` (Claude Memory) handoff system enables seamless AI assistant transitions by providing persistent memory and context across sessions. This is critical for long-running projects where different AI instances need to understand previous work and continue development effectively.
|
|
|
|
## Core Concepts
|
|
|
|
### 1. Session-Based Memory
|
|
- **Sessions**: Each AI work session is tracked with timestamps and outcomes
|
|
- **Auto-rotation**: Sessions automatically rotate after 4 hours to maintain context freshness
|
|
- **Session Names**: Descriptive names like "Morning Development", "Late Night Development"
|
|
|
|
### 2. Structured Knowledge Types
|
|
- **Tasks**: Open, in-progress, and completed work items with priorities and assignees
|
|
- **Decisions**: Important choices with reasoning and alternatives considered
|
|
- **Patterns**: Recurring insights or learnings with effectiveness tracking
|
|
- **Knowledge**: Categorized information storage for facts and discoveries
|
|
|
|
### 3. Handoff Context
|
|
The handoff system provides incoming AIs with:
|
|
- Current session status and duration
|
|
- Active/pending tasks requiring attention
|
|
- Recent decisions that affect current work
|
|
- High-priority patterns that influence approach
|
|
- Project intelligence metrics
|
|
|
|
## Using the Handoff System
|
|
|
|
### For Incoming AI Assistants
|
|
|
|
**Step 1: Get Handoff Summary**
|
|
```bash
|
|
cmem handoff
|
|
```
|
|
This provides a markdown summary optimized for AI consumption with:
|
|
- Current session context
|
|
- Active tasks requiring attention
|
|
- Recent decisions influencing work
|
|
- Key patterns to apply
|
|
- Project statistics
|
|
|
|
**Step 2: Get Detailed Context**
|
|
```bash
|
|
cmem context
|
|
```
|
|
This provides JSON data with complete structured information:
|
|
- Full task details with IDs and metadata
|
|
- Complete decision history with alternatives
|
|
- Pattern effectiveness and frequency data
|
|
- Session tracking information
|
|
|
|
**Step 3: Continue or Start New Session**
|
|
Based on handoff information:
|
|
- If session < 4 hours old: Continue current session
|
|
- If session > 4 hours old: Auto-rotation will start new session
|
|
- Use `cmem session start "New Session Name"` for manual session creation
|
|
|
|
### For Outgoing AI Assistants
|
|
|
|
**Before Ending Work:**
|
|
1. **Complete Tasks**: Update any finished work
|
|
```bash
|
|
cmem task complete <task-id>
|
|
```
|
|
|
|
2. **Record Decisions**: Document important choices made
|
|
```bash
|
|
cmem decision "Decision" "Reasoning" "Alternative1,Alternative2"
|
|
```
|
|
|
|
3. **Add Patterns**: Capture learnings for future AIs
|
|
```bash
|
|
cmem pattern add "Pattern Name" "Description" --priority high
|
|
```
|
|
|
|
4. **Update Knowledge**: Store important discoveries
|
|
```bash
|
|
cmem knowledge add "key" "value" --category "category"
|
|
```
|
|
|
|
5. **End Session** (optional):
|
|
```bash
|
|
cmem session end "Outcome description"
|
|
```
|
|
|
|
## Integration with MCP Browser
|
|
|
|
The MCP Browser memory server automatically syncs with cmem when available:
|
|
|
|
### Automatic Sync
|
|
- **Task Operations**: Adding, updating, completing tasks sync to cmem
|
|
- **Pattern Creation**: New patterns are automatically added to cmem
|
|
- **Decision Recording**: Decisions made through MCP are stored in cmem
|
|
- **Identity-Based Storage**: Each identity gets separate memory space
|
|
|
|
### Identity System
|
|
```bash
|
|
# Use onboarding tool with identity-specific instructions
|
|
onboarding identity="ProjectName" instructions="Focus on code quality"
|
|
|
|
# Memory server uses identity for separate storage
|
|
# cmem integration syncs under that identity context
|
|
```
|
|
|
|
### Bidirectional Flow
|
|
1. **MCP → cmem**: Tool operations automatically sync to persistent storage
|
|
2. **cmem → MCP**: Memory server can read cmem data for context
|
|
3. **Cross-Session**: Patterns and decisions persist across AI instances
|
|
|
|
## Handoff Data Structure
|
|
|
|
### Session Information
|
|
```json
|
|
{
|
|
"session": {
|
|
"id": "2025-06-28-morning-development",
|
|
"name": "Morning Development",
|
|
"startTime": "2025-06-28T09:31:17.858Z",
|
|
"status": "active"
|
|
}
|
|
}
|
|
```
|
|
|
|
### Task Structure
|
|
```json
|
|
{
|
|
"id": "43801be2",
|
|
"description": "Task description",
|
|
"priority": "high|medium|low",
|
|
"status": "open|in_progress|completed",
|
|
"assignee": "assignee_name",
|
|
"createdAt": "2025-06-26T02:59:51.654Z"
|
|
}
|
|
```
|
|
|
|
### Decision Structure
|
|
```json
|
|
{
|
|
"id": "793cbd6e",
|
|
"decision": "Decision made",
|
|
"reasoning": "Why this was chosen",
|
|
"alternatives": ["Alt 1", "Alt 2"],
|
|
"timestamp": "2025-06-26T14:48:36.187Z"
|
|
}
|
|
```
|
|
|
|
### Pattern Structure
|
|
```json
|
|
{
|
|
"id": "03c8e07c",
|
|
"pattern": "Pattern Name",
|
|
"description": "Detailed description",
|
|
"priority": "high|medium|low",
|
|
"effectiveness": 0.8,
|
|
"frequency": 5
|
|
}
|
|
```
|
|
|
|
## Best Practices for AI Handoffs
|
|
|
|
### 1. **Read Before Acting**
|
|
Always check handoff information before starting work:
|
|
```bash
|
|
# Quick check
|
|
cmem handoff
|
|
|
|
# Detailed context for complex work
|
|
cmem context
|
|
```
|
|
|
|
### 2. **Maintain Context Continuity**
|
|
- Continue existing sessions when < 4 hours old
|
|
- Reference previous decisions in new work
|
|
- Apply high-priority patterns to current tasks
|
|
- Use established assignee names for consistency
|
|
|
|
### 3. **Document Decisions**
|
|
Record ANY significant choice:
|
|
- Technology selections
|
|
- Architecture decisions
|
|
- Approach changes
|
|
- Problem-solving strategies
|
|
|
|
### 4. **Pattern Recognition**
|
|
Capture insights that will help future AIs:
|
|
- Recurring problems and solutions
|
|
- Effective approaches
|
|
- Things to avoid
|
|
- Meta-patterns about the development process
|
|
|
|
### 5. **Task Management**
|
|
- Break large work into trackable tasks
|
|
- Update status as work progresses
|
|
- Complete tasks when finished
|
|
- Create new tasks for discovered work
|
|
|
|
## Example Handoff Workflow
|
|
|
|
### Incoming AI Workflow
|
|
```bash
|
|
# 1. Get handoff summary
|
|
cmem handoff
|
|
|
|
# 2. Check specific task details
|
|
cmem task list
|
|
|
|
# 3. Review recent patterns
|
|
cmem pattern list --priority high
|
|
|
|
# 4. Start work based on active tasks
|
|
# ... do work ...
|
|
|
|
# 5. Update progress
|
|
cmem task update <task-id> in_progress
|
|
```
|
|
|
|
### Outgoing AI Workflow
|
|
```bash
|
|
# 1. Complete finished tasks
|
|
cmem task complete <task-id>
|
|
|
|
# 2. Document decisions made
|
|
cmem decision "Use Docker for Firecrawl" "Simpler deployment" "Native install,VM"
|
|
|
|
# 3. Add learning patterns
|
|
cmem pattern add "Test all new features" "Always add tests before committing" --priority high
|
|
|
|
# 4. Create tasks for remaining work
|
|
cmem task add "Fix failing tests" --priority high --assignee next-ai
|
|
|
|
# 5. End session with outcome
|
|
cmem session end "Completed MCP browser enhancements with tests"
|
|
```
|
|
|
|
## Integration with Development Workflow
|
|
|
|
### Pre-Commit Checklist
|
|
- [ ] All tasks updated with current status
|
|
- [ ] New decisions documented with reasoning
|
|
- [ ] Patterns captured from development process
|
|
- [ ] Knowledge updated with discoveries
|
|
- [ ] Next tasks created for continuation
|
|
|
|
### Session Management
|
|
- **Short sessions (< 1 hour)**: Continue existing session
|
|
- **Medium sessions (1-4 hours)**: Continue or start new based on context
|
|
- **Long sessions (> 4 hours)**: Auto-rotation creates new session
|
|
|
|
### Cross-Project Context
|
|
- Use identity parameter for project-specific contexts
|
|
- Different projects maintain separate memory spaces
|
|
- Patterns can be shared across projects when relevant
|
|
|
|
## Error Handling
|
|
|
|
### When cmem is Unavailable
|
|
- MCP memory server gracefully degrades to local storage
|
|
- Sync attempts fail silently without breaking functionality
|
|
- Manual sync possible when cmem becomes available
|
|
|
|
### Memory Conflicts
|
|
- Sessions auto-rotate to prevent conflicts
|
|
- Task IDs are unique across sessions
|
|
- Patterns merge based on similarity detection
|
|
|
|
This handoff system ensures smooth AI transitions and maintains project continuity across multiple development sessions. |