// Retrieve universal coding patterns from vector database. Use when starting complex tasks, encountering unfamiliar problems, or user says "--coder-recall" or "--recall" (you decide which scope, may use both). Skip for routine tasks or project-specific questions (use project-memory-recall). This Skill auto-invokes based on task context.
| name | coder-memory-recall |
| description | Retrieve universal coding patterns from vector database. Use when starting complex tasks, encountering unfamiliar problems, or user says "--coder-recall" or "--recall" (you decide which scope, may use both). Skip for routine tasks or project-specific questions (use project-memory-recall). This Skill auto-invokes based on task context. |
Purpose: Retrieve universal coding patterns from Qdrant vector database using role-based collections.
๐ KEY ARCHITECTURE CHANGE: Files are now Table of Contents (query guides only). All actual memory content lives in Qdrant vector database.
When to Use:
When NOT to Use:
REMEMBER: Failures are as valuable as successes. Search for both #success and #failure tags.
Read lightweight configuration files (ToC - ~4KB total):
Read ./roles.yaml (relative path for portability) - Available role-based collections
Identify relevant role(s) from task context:
backend-dev collectionfrontend-dev collectionfinancial-engineer collectioncoder collection (universal patterns)Load query templates (optional) - Read role-specific README.md for:
Query Construction Strategy (from recalled patterns):
Use full 2-3 sentence summary for semantic search (NOT just keywords):
If user provided explicit query:
If inferring from context:
Memory Type Filtering (use metadata):
memory_type=episodicmemory_type=proceduralmemory_type=semanticRequired Tool: search_memory from the MCP memory server
For each target role collection:
search_memory(
query="<2-3 sentence summary of what you're looking for>",
memory_level="coder", # For global memories
limit=10
)
Returns: Lightweight previews with metadata:
doc_id - Document ID for retrieving full contenttitle - Memory titledescription - One sentence summarysimilarity - Cosine similarity score (0-1)tags - User-defined tags (#api, #database, #success, #failure)memory_type - episodic/procedural/semanticrole - Collection name (backend-dev, frontend-dev, etc.)created_at, last_recall_time - Temporal metadataNote: Full memory content is NOT included (saves tokens). Use get_memory(doc_id, memory_level) to retrieve full content for selected memories.
Intelligent Relevance Assessment (use your judgment, no rigid thresholds):
Review the search result previews and assess relevance based on:
Retrieve Full Content for Promising Memories:
For memories that appear relevant based on previews, retrieve full content:
get_memory(doc_id="<doc_id>", memory_level="coder")
Hybrid Validation (for critical decisions):
Select top 3 most relevant memories after reviewing full content
Format:
๐ Coder Memory Recall Results
**Query**: <keywords or user question>
**Collections Searched**: <backend-dev, frontend-dev, coder, etc.>
**Results Found**: <number>
---
## Result 1: [Title]
**Role**: <backend-dev/frontend-dev/financial-engineer/coder>
**Type**: <Episodic/Procedural/Semantic>
**Similarity**: <0.XX>
**Tags**: <#tag1 #tag2 #success|#failure>
<Full memory content>
**Relevance**: <1-2 sentences explaining why this matches query>
---
## Result 2: [Title]
[Same format]
---
## Application Guidance
<2-3 sentences synthesizing results and actionable next steps for current task>
If no relevant results found:
๐ Coder Memory Recall Results
**Query**: <keywords>
**Collections Searched**: <role(s)>
**Results Found**: 0 relevant memories based on preview assessment
No universal patterns matched your query in vector database.
**Suggestions**:
- Try broader search terms or different role collection
- Check if this is project-specific (use git history + generated docs)
- Proceed with standard approaches and store insights after completion
Not implemented yet - for V3.1+:
For each retrieved memory, update last_recall_time metadata:
update_memory(
doc_id="<memory_id>",
document="<unchanged content>",
metadata={
...existing metadata,
"last_recall_time": "<current ISO timestamp>"
},
memory_level="coder"
)
This enables future forgetting mechanism (>1 month no recall โ archival).
| Aspect | V2 | V3 |
|---|---|---|
| Memory source | Files (progressive disclosure) | Vector DB (direct query) |
| File system role | Store content | Store query guides (ToC) |
| Search method | Grep + Read (3-5+ file reads) | Single vector query |
| Cost | High (file reads expensive) | Low (ToC read ~4KB + vector query) |
| Role isolation | None (mixed memories) | Separate collections per role |
| Execution | Via Task tool (subagent) | Direct invocation (auto-activated) |
~/.claude/skills/coder-memory-recall/
โโโ SKILL.md (this file) # Instructions for recall
โโโ roles.yaml # Available roles/collections
โโโ backend-dev/
โ โโโ README.md # Query guide for backend role
โโโ frontend-dev/
โ โโโ README.md # Query guide for frontend role
โโโ financial-engineer/
โ โโโ README.md # Query guide for quant role
โโโ coder/
โโโ README.md # Query guide for universal patterns
Total file size: ~4KB (constant, doesn't grow with memories)