Project Memory Recall
Retrieve project-specific insights from file-based memory. Use when working on features, encountering domain-specific questions, or user says "--project-recall" or "--recall" (you decide which scope, may use both). Skip for routine tasks or universal pattern questions (use coder-memory-recall). MUST be invoked using Task tool to avoid polluting main context.
What this skill does
# Project Memory Recall
**⚠️ EXECUTION CONTEXT**: This Skill MUST be executed using Task tool with subagent_type="general-purpose". Runs in separate context to avoid polluting main conversation.
**Purpose**: Retrieve **project-specific insights** from file-based memory at `.claude/skills/project-memory-store/`.
**Key Architecture**: SKILL.md + README.md files form a **tree guideline structure** - read overviews first, navigate to specific files as needed. Very effective for progressive disclosure.
**Keep SKILL.md lean**: Provide overview and reference other files. When this file becomes unwieldy, split content into separate files and reference them. Trust Claude to read detailed files only when needed.
**When to Use**:
- Before working on project-specific features or components
- When encountering domain-specific questions or patterns
- User explicitly says "--project-recall" or "--recall" (Claude decides if universal or project-specific, may use both)
- Need architecture decisions or integration patterns for THIS codebase
**REMEMBER**: Failures are as valuable as successes. Look for both #success and #failure tags when searching project memories.
**When NOT to Use**:
- Routine or trivial tasks
- Just recalled similar knowledge recently
- Universal pattern questions (use coder-memory-recall)
---
## PHASE 0: Understand Memory Structure
Read `.claude/skills/project-memory-store/SKILL.md` to understand current organization.
Memory types available:
- `episodic/` - Concrete events in this project
- `procedural/` - Project-specific workflows
- `semantic/` - Project patterns and architecture
---
## PHASE 1: Construct Search Strategy
**If user provided explicit query**: Use it to determine which memory type(s) to search
**If inferring from context**: Analyze task to choose:
- Need past experience in this project? → Search episodic
- Need project-specific process? → Search procedural
- Need architecture/domain pattern? → Search semantic
- Unclear? → Search all three
**Query keywords**: Extract 3-8 core concepts including project-specific terms
---
## PHASE 2: Search for Relevant Memories
### Step 0 (Optional): Try Vector Search First
**If Qdrant MCP server available**, try semantic search for file hints:
1. **Construct vector query** - Use full summary for better semantic matching:
- If user provided query: Use their question/description as-is
- If inferring from task: Write 2-3 sentence summary of what you're looking for
- Include key concepts, technical terms, problem description, and project-specific context
- Keep concise but descriptive (not just keywords, not entire context)
2. **Call search_memory** MCP tool:
```
search_memory(
query="<2-3 sentence summary of what you're looking for>",
memory_level="project",
limit=5
)
```
3. **Extract file_path hints** from top results
4. **Evaluate sufficiency**:
- If vector results provide enough relevant information to answer the query: You may skip to Phase 3 (present those results)
- If results seem incomplete, outdated, or you need verification: Continue to file-based navigation below
- If <3 results or tool unavailable: Continue to file-based navigation below
**IMPORTANT**: Vector results may be outdated (files could have moved/changed). You decide whether they're sufficient or if file verification is needed. Progressive disclosure is optional if vector search already provided good answers.
---
### File-Based Navigation (Primary Method)
For each target memory type:
1. **Read README.md** (if exists) in memory type directory
2. **Identify relevant subdirectories** based on query and project context (use file_path hints if available)
3. **Read targeted files**:
- Use Grep to search for keywords (project-specific terms, module names, domain concepts) - prioritize hinted paths if available
- Use Read to load promising files
- Progressive disclosure: Read READMEs first, then specific files
**Do NOT read entire memory tree** - use filesystem tools intelligently.
---
## PHASE 3: Extract Relevant Memories
Collect top 3 most relevant memories matching query.
**Relevance criteria**:
- Keyword match quality (project-specific terms matter)
- Component/module relevance to current task
- Actionability for current project work
---
## PHASE 4: Check If Refactoring Needed
**Signs memory needs reorganization**:
- Took >5 file reads to find relevant memories
- Found duplicates in multiple files
- Unrelated content mixed in same file
- Difficult to navigate structure
**If reorganization needed**: Invoke general-purpose agent to refactor memory structure.
**Refactoring prompt**:
```
Refactor project-memory-store file structure at .claude/skills/project-memory-store/.
Current issues: [describe what made recall difficult]
Actions needed:
- Merge duplicate memories
- Reorganize files by project components/topics (max 2-level depth)
- Update README.md files as overviews
- Ensure episodic/procedural/semantic separation is clear
Maintain all existing memory content - only reorganize structure.
```
---
## PHASE 5: Present Results
**Format**:
```
🔍 Project Memory Recall Results
**Project**: <project name>
**Query**: <keywords or user question>
**Memory Types Searched**: <episodic/procedural/semantic>
**Results Found**: <number>
---
## Result 1: [Title]
**Type**: <Episodic/Procedural/Semantic>
**Source**: <file path>
<Full memory content>
**Relevance**: <1-2 sentences explaining why this matches query and applies to current work>
---
## Result 2: [Title]
[Same format]
---
## Application Guidance
<2-3 sentences synthesizing results and actionable next steps for current project task>
**Related Components**: <list specific files/modules mentioned in results>
```
**If no results found**:
```
🔍 Project Memory Recall Results
**Project**: <project name>
**Query**: <keywords>
**Results Found**: 0 relevant memories
No project-specific insights matched your query.
**Suggestions**:
- Try broader search terms
- Check if this is universal knowledge (use coder-memory-recall)
- This may be new area of codebase - proceed with exploration
- Store insights after completing this task
```
**If refactoring triggered**:
```
⚙️ Memory Refactoring Triggered
Project memory structure was reorganized during recall to improve future searches.
<report refactoring actions taken>
```
---
## Tool Usage
**CRITICAL**: Invoke via Task tool with general-purpose agent. Never execute directly in main context.
Related in Productivity
gitea-workflow
IncludedOrchestrate agile development workflows for Gitea repositories using the tea CLI. Use when working with Gitea-hosted repos and asking to 'run the workflow', 'continue working', 'what's next', 'complete the task cycle', 'start my day', 'end the sprint', 'implement the next task', or wanting guided step-by-step development assistance. Keywords: workflow, orchestrate, agile, task cycle, sprint, daily, implement, review, PR, standup, retrospective, gitea, tea.
microsoft-graph-gateway
IncludedRoute Microsoft Graph work in this workspace. Use when users want to read or write Outlook mail, calendar events, contacts, OneDrive or SharePoint files, Teams, Planner, To Do, users, groups, directory data, or arbitrary Microsoft Graph endpoints from VS Code. Prefer WorkIQ for common read scenarios. Use Microsoft Graph for write actions and gap-read scenarios that need exact Graph properties, filters, permissions, or endpoints.
copilotkit
IncludedUse when building with CopilotKit — setup, development, integrations, debugging, upgrading, or contributing. Routes to the appropriate specialized skill based on the task.
wordly-wisdom
IncludedProvides calibrated decision analysis using Charlie Munger-style multiple mental models, inversion, incentive mapping, circle-of-competence checks, misjudgment audits, second-order effects, and forecast updates. Use when the user asks for an oracle take, a hard call, a decision memo, a premortem, an outside view, a red-team, a sanity-check, what am I missing, think this through, or wants a strategy, hire, investment, plan, product, partnership, or major life choice analysed. Avoid for simple factual lookups or time-sensitive legal, medical, or market questions without fresh evidence.
swain-session
IncludedSession management and project status dashboard. Owns the full session lifecycle (start/work/close/resume), focus lane, bookmarks, worktree detection, and tab naming. Also serves as the project status dashboard — shows active epics, progress, actionable next steps, blocked items, tasks, GitHub issues, and recommendations. Worktree creation is deferred to swain-do task dispatch (SPEC-195). Triggers on: 'session', 'status', 'what's next', 'dashboard', 'overview', 'where are we', 'what should I work on', 'show me priorities', 'bookmark', 'focus on', 'session info'.
gandi
IncludedComprehensive Gandi domain registrar integration for domain and DNS management. Register and manage domains, create/update/delete DNS records (A, AAAA, CNAME, MX, TXT, SRV, and more), configure email forwarding and aliases, check SSL certificate status, create DNS snapshots for safe rollback, bulk update zone files, and monitor domain expiration. Supports multi-domain management, zone file import/export, and automated DNS backups. Includes both read-only and destructive operations with safety controls.