mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-15 02:42:45 +08:00
feat: merge memory:compact and memory:tips into unified memory-capture skill
Consolidate two separate commands into a single skill with router pattern. The skill auto-detects user intent and routes to compact or tips phase, with AskUserQuestion fallback for ambiguous input.
This commit is contained in:
129
.claude/skills/memory-capture/SKILL.md
Normal file
129
.claude/skills/memory-capture/SKILL.md
Normal file
@@ -0,0 +1,129 @@
|
||||
---
|
||||
name: memory-capture
|
||||
description: Unified memory capture with routing - session compact or quick tips. Triggers on "memory capture", "compact session", "save session", "quick tip", "memory tips", "记录", "压缩会话".
|
||||
allowed-tools: mcp__ccw-tools__core_memory(*), Read(*), AskUserQuestion
|
||||
---
|
||||
|
||||
# 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 `--tag` or `--context` flags | → Tips | `"note content" --tag bug` |
|
||||
| Short text (<100 chars) + no session keywords | → Tips | "Remember to use Redis" |
|
||||
| Ambiguous or no arguments | → **AskUserQuestion** | `/memory-capture` |
|
||||
|
||||
**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](phases/01-compact.md)
|
||||
- **Tips mode** → Ref: [phases/02-tips.md](phases/02-tips.md)
|
||||
|
||||
**Phase Reference Documents** (read on-demand when phase executes):
|
||||
|
||||
| Mode | Document | Purpose |
|
||||
|------|----------|---------|
|
||||
| Compact | [phases/01-compact.md](phases/01-compact.md) | Full session memory compression and structured export |
|
||||
| Tips | [phases/02-tips.md](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:
|
||||
|
||||
```javascript
|
||||
mcp__ccw-tools__core_memory({
|
||||
operation: "import",
|
||||
text: structuredText // Generated by the selected phase
|
||||
})
|
||||
```
|
||||
|
||||
## Core Rules
|
||||
|
||||
1. **Single Phase Execution**: Only ONE phase executes per invocation - never both
|
||||
2. **Content Faithful**: Phase files contain full execution detail - follow them verbatim
|
||||
3. **Absolute Paths**: All file paths in output must be absolute
|
||||
4. **No Summarization**: Compact mode preserves complete plan verbatim - never abbreviate
|
||||
5. **Speed Priority**: Tips mode should be fast - minimal analysis overhead
|
||||
|
||||
## Input Processing
|
||||
|
||||
### Compact Mode Input
|
||||
- Optional: `"session description"` as supplementary context
|
||||
- Example: `/memory-capture compact` or `/memory-capture "completed auth module"`
|
||||
|
||||
### Tips Mode Input
|
||||
- Required: `<note content>` - the tip/note text
|
||||
- Optional: `--tag <tag1,tag2>` for categorization
|
||||
- Optional: `--context <context>` for related code/feature reference
|
||||
- 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 |
|
||||
Reference in New Issue
Block a user