Workflow for checking memory before code exploration. Auto-loaded when answering questions about code, architecture, or patterns.
Scanned 9/2/2026
Install to Claude Code
npx -y skills add majiayu000/claude-skill-registry --skill memory-first-workflow --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Memory First Workflow?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/majiayu000-memory-first-workflow-claude-skill-registry)More formats (shields.io, HTML) on the badges page.
---
name: memory-first-workflow
description: Workflow for checking memory before code exploration. Auto-loaded when answering questions about code, architecture, or patterns.
user-invocable: false
---
# Memory-First Research Pattern
When answering questions about code, architecture, patterns, decisions, or technical choices, follow this workflow:
## Step 1: Query Memory First
Before reading files or exploring code, check if memory already has the answer:
```
memory.recall "<topic>"
```
**Example queries:**
- `memory.recall "authentication flow"`
- `memory.recall "database choice"`
- `memory.recall "error handling patterns"`
## Step 2: Use Specialized Shortcuts
For specific types of questions, use targeted memory tools:
### Before Implementing Features
```
memory.decisions
```
Returns architectural decisions and constraints that may affect implementation.
### Before Working with Frameworks/Databases
```
memory.architecture
```
Returns framework choices, database selection, and architectural patterns.
### Before Writing Code
```
memory.conventions
```
Returns coding style, naming conventions, and project standards.
### If Finding Contradictions
```
memory.conflicts
```
Returns open disputes that need resolution.
## Step 3: Evaluate Memory Results
**If memory has sufficient information:**
- Answer using recalled facts
- Cite fact IDs or sources: "From memory (fact #42): ..."
- Avoid unnecessary file reads
**If memory has partial information:**
- Share what memory knows
- Note what needs investigation: "Memory shows we use PostgreSQL, but I need to check the connection pooling setup..."
- Proceed to file exploration for missing details
**If memory has no information:**
- Note explicitly: "Memory has no prior knowledge about [topic]"
- Proceed to file exploration
- After learning, consider if this should be stored in memory
## Step 4: Explore Code (Only If Needed)
When memory is insufficient, use file exploration tools:
- `Read` for specific files
- `Grep` for searching content
- `Glob` for finding files by pattern
- `Task` (Explore agent) for broad investigations
## Step 5: Distinguish Sources
When presenting findings, clearly separate:
- **Recalled knowledge:** "From memory: We use RSpec for testing"
- **Discovered information:** "From code exploration: Found additional test helper in `spec/support/`"
## Why This Pattern Matters
### Saves Time
Memory provides instant access to distilled knowledge without re-reading hundreds of files.
### Provides Context
Past decisions, lessons learned, and rationale are preserved in memory.
### Reduces Tokens
Recalled facts are concise compared to reading entire files.
### Ensures Consistency
Prevents contradicting previous decisions or duplicating solved problems.
### Improves Quality
Understanding past context leads to better decisions aligned with project history.
## Anti-Patterns to Avoid
❌ **Don't skip memory checks:**
```
User: "What database do we use?"
Bad: *immediately reads config files*
Good: *checks memory.architecture first*
```
❌ **Don't assume memory is wrong:**
```
Bad: "Memory says PostgreSQL, let me verify by reading the config..."
Good: "Memory says PostgreSQL. Need any specific config details?"
```
❌ **Don't ignore memory conflicts:**
```
Bad: *finds conflict, picks one arbitrarily*
Good: "memory.conflicts shows authentication method disputed—let me investigate and resolve"
```
## Example Workflow
**User asks:** "How do we handle errors in API responses?"
**Step 1:** Check memory
```
memory.recall "error handling API"
memory.conventions
```
**Step 2:** Evaluate results
- Memory shows: "Convention: API errors return JSON with `error` and `message` keys"
- Memory shows: "Decision: 4xx for client errors, 5xx for server errors"
**Step 3:** Answer with citations
"From memory: We handle API errors by returning JSON with `error` and `message` keys. Client errors use 4xx status codes, server errors use 5xx. Is there a specific error case you're working with?"
**Step 4:** Only if needed, explore code
If user asks: "Show me the error middleware"
*Then* use Read/Grep to find the implementation.
---
This workflow is automatically loaded when you ask technical questions. You don't need to invoke it manually—it guides Claude's research process behind the scenes.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!