Claude-Code-Workflow memory-capture
Unified memory capture with routing - session compact or quick tips. Triggers on "memory capture", "compact session", "save session", "quick tip", "memory tips", "记录", "压缩会话".
install
source · Clone the upstream repo
git clone https://github.com/catlog22/Claude-Code-Workflow
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/catlog22/Claude-Code-Workflow "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/memory-capture" ~/.claude/skills/catlog22-claude-code-workflow-memory-capture && rm -rf "$T"
manifest:
.claude/skills/memory-capture/SKILL.mdsource content
Memory Capture Skill
Unified memory capture skill that routes to two execution modes:
- Compact: Compress full session memory into structured text for recovery
- Tips: Quick note-taking for ideas, snippets, and insights
Architecture Overview
┌─────────────────────────────────────────────────────┐ │ Memory Capture (Router) │ │ → Parse input → Detect mode → Route to phase │ └───────────────┬─────────────────────────────────────┘ │ ┌───────┴───────┐ ↓ ↓ ┌───────────┐ ┌───────────┐ │ Compact │ │ Tips │ │ (Phase1) │ │ (Phase2) │ │ Full │ │ Quick │ │ Session │ │ Note │ └─────┬─────┘ └─────┬─────┘ │ │ └───────┬───────┘ ↓ ┌───────────────┐ │ core_memory │ │ (import) │ └───────────────┘
Execution Flow
Step 1: Parse Input & Route
Detect execution mode from user input:
Auto-Route Rules (priority order):
| Signal | Route | Examples |
|---|---|---|
| Keyword: compact, session, 压缩, recovery, 保存会话 | → Compact | "compact current session" |
| Keyword: tip, note, 记录, 快速 | → Tips | "记录一个想法" |
Has or flags | → Tips | |
| Short text (<100 chars) + no session keywords | → Tips | "Remember to use Redis" |
| Ambiguous or no arguments | → AskUserQuestion | |
When ambiguous, use AskUserQuestion:
Question: "选择记忆捕获模式" Options: 1. Compact - 压缩当前完整会话记忆(用于会话恢复) 2. Tips - 快速记录一条笔记/想法/提示
Step 2: Execute Selected Phase
Based on routing result, read and execute the corresponding phase:
- Compact mode → Ref: phases/01-compact.md
- Tips mode → Ref: phases/02-tips.md
Phase Reference Documents (read on-demand when phase executes):
| Mode | Document | Purpose |
|---|---|---|
| Compact | phases/01-compact.md | Full session memory compression and structured export |
| Tips | phases/02-tips.md | Quick note-taking with tags and context |
Step 3: Save via core_memory
Both phases converge on the same storage mechanism:
mcp__ccw-tools__core_memory({ operation: "import", text: structuredText // Generated by the selected phase })
Core Rules
- Single Phase Execution: Only ONE phase executes per invocation - never both
- Content Faithful: Phase files contain full execution detail - follow them verbatim
- Absolute Paths: All file paths in output must be absolute
- No Summarization: Compact mode preserves complete plan verbatim - never abbreviate
- Speed Priority: Tips mode should be fast - minimal analysis overhead
Input Processing
Compact Mode Input
- Optional:
as supplementary context"session description" - Example:
or/memory-capture compact/memory-capture "completed auth module"
Tips Mode Input
- Required:
- the tip/note text<note content> - Optional:
for categorization--tag <tag1,tag2> - Optional:
for related code/feature reference--context <context> - Example:
/memory-capture tip "Use Redis for rate limiting" --tag config
Data Flow
User Input │ ├─ [compact detected] → Read phases/01-compact.md │ → Analyze session → Generate structured text │ → core_memory import → Report Recovery ID │ └─ [tips detected] → Read phases/02-tips.md → Parse args → Gather context → Generate tip text → core_memory import → Confirm with ID + tags
Error Handling
| Error | Action |
|---|---|
| core_memory import fails | Retry once, then report error with structured text for manual save |
| No session context (compact) | Warn user, generate with available info |
| Empty note content (tips) | Ask user to provide content via AskUserQuestion |
| Ambiguous routing | Default to AskUserQuestion - never guess |