SpecMem Drilldown - Interactive Memory Retrieval with User Control
Interactive memory retrieval tool allowing users to drill down into specific memories.
IMMEDIATE ACTION REQUIRED
Step 1: Check Input
Look at what comes after /specmem-drilldown:
- If EMPTY, whitespace only, "help", "--help", or "-h" -> Show HELP below, STOP
- If input is a NUMERIC ID (e.g.,
123,456) -> Go to Step 2A - If input is a UUID (e.g.,
abc12345-...) -> Go to Step 2C - Otherwise (text query) -> Go to Step 2B
Step 2A: Drilldown by Numeric ID
When input is a numeric ID like /specmem-drilldown 123:
VALIDATION:
- Check that input is a valid integer
- If invalid (NaN, negative, etc.) -> Show HELP, STOP
EXECUTE THIS MCP TOOL NOW:
mcp__specmem__drill_down({
drilldownID: <the numeric ID as integer>,
includeCode: true,
includeContext: true,
includeRelated: true,
relatedLimit: 5,
compress: true
})
Display results as:
DRILLDOWN: Memory #<ID>
Content:
<full memory content from result.fullContent>
Paired Message:
<if pairedMessage exists, show result.pairedMessage.label and content>
<This shows the user prompt that triggered a Claude response, or vice versa>
Code References:
<code pointers from result.codeReferences if any>
Conversation Context:
<context before/after from result.conversationContext>
Related Memories:
1. [Drill: xxx] <preview>... (similarity: 0.XX)
2. [Drill: yyy] <preview>... (similarity: 0.XX)
...
Use /specmem-drilldown <ID> to explore related memories
Step 2B: Search then Drilldown
When input is a query like /specmem-drilldown authentication flow:
VALIDATION:
- Check that query is not empty after trimming
- If empty -> Show HELP, STOP
EXECUTE THIS MCP TOOL NOW:
mcp__specmem__find_memory({
query: "<the query text>",
limit: 10,
cameraRollMode: true,
summarize: true,
maxContentLength: 300
})
Display results with drilldown IDs:
MEMORIES FOR: "<query>"
1. [Drill: 123] <preview text>... (score: 0.XX)
2. [Drill: 456] <preview text>... (score: 0.XX)
3. [Drill: 789] <preview text>... (score: 0.XX)
...
To explore deeper: /specmem-drilldown <ID>
Step 2C: Get Full Memory by UUID
When input is a UUID like /specmem-drilldown abc12345-6789-...:
VALIDATION:
- Check that input looks like a UUID (contains dashes, hex chars)
- If invalid -> Show HELP, STOP
EXECUTE THIS MCP TOOL NOW:
mcp__specmem__get_memory({
id: "<the UUID string>",
summarize: false
})
Display the full memory content.
HELP
Show this when no args, empty input, "help", or validation fails:
SpecMem Drilldown - Memory Exploration
USAGE:
/specmem-drilldown <query> Search and get drilldown IDs
/specmem-drilldown <ID> Drill into specific memory by ID
/specmem-drilldown <UUID> Get memory by UUID
/specmem-drilldown help Show this help
EXAMPLES:
/specmem-drilldown authentication system
/specmem-drilldown 123
/specmem-drilldown database schema design
CAMERA ROLL WORKFLOW:
1. Search with a query -> get drilldown IDs in "camera roll" view
2. Pick an ID -> drill into full content with drill_down
3. Explore related memories -> repeat drilling
4. View paired messages to see user prompts ↔ Claude responses
WHAT YOU GET:
- Full memory content (not truncated, with compression for efficiency)
- Paired message (the user prompt or Claude response that pairs with this)
- Code references with live file content
- Conversation context (before/after messages in conversation)
- Related memories for further exploration
MCP TOOLS USED:
- mcp__specmem__drill_down (by numeric ID)
- mcp__specmem__find_memory (query search)
- mcp__specmem__get_memory (by UUID)
RELATED:
/specmem-find Basic memory search
/specmem-pointers Code-focused search
Tool Schemas
drill_down
{
"drilldownID": "number - required - numeric ID from camera roll results",
"includeCode": "boolean - include code references (default: true)",
"includeContext": "boolean - include conversation context (default: true)",
"includeRelated": "boolean - include related memories (default: true)",
"relatedLimit": "number 1-20 - max related memories (default: 5)",
"compress": "boolean - apply Traditional Chinese token compression (default: true)"
}
NOTES:
compress: trueuses round-trip verified compression for token efficiency- Compression keeps English where Chinese would lose context
- Returns
pairedMessageshowing user prompt ↔ Claude response pairing
find_memory
{
"query": "string - natural language search query",
"limit": "number 1-1000 - results count (default: 10)",
"cameraRollMode": "boolean - enable drilldown IDs (set true)",
"summarize": "boolean - truncate content (default: true)",
"maxContentLength": "number - content preview length (default: 500)"
}
get_memory
{
"id": "string - UUID of specific memory",
"summarize": "boolean - truncate content (default: false for drill-down)"
}
get_memory_by_id
{
"drilldownID": "number - numeric ID from camera roll results"
}
NOTES:
- Simpler than
drill_down- just returns content without exploration options - Returns
{ content: string, memoryID: string }ornullif not found