recall
Recall — Find What Was Said
When Joel references something vaguely, don't guess — fan out across all memory sources and find it.
Trigger Detection
Phrases that indicate a recall is needed (case-insensitive):
- "from earlier", "earlier today", "earlier this week"
- "remember when", "remember that", "you mentioned"
- "what we discussed", "what we talked about", "the conversation about"
- "that thing with", "the thing about", "what was that"
- "did we ever", "have we", "wasn't there"
- "last session", "the other day", "yesterday"
- "correlate with", "connect to what we"
- Any vague pronoun reference to past context ("those photos", "that idea", "the notes")
Key principle: If you'd have to guess what "earlier" or "that" refers to, you need recall.
Fan-Out Search Pattern
Search these sources in parallel where possible, with timeouts on each:
1. Today's Daily Log (fastest, most likely)
# Always check first — most "from earlier" references are same-day
cat ~/.joelclaw/workspace/memory/$(date +%Y-%m-%d).md
2. Recent Daily Logs (if today's doesn't have it)
# Yesterday and day before
cat ~/.joelclaw/workspace/memory/$(date -v-1d +%Y-%m-%d).md
cat ~/.joelclaw/workspace/memory/$(date -v-2d +%Y-%m-%d).md
3. Curated Memory
cat ~/.joelclaw/workspace/MEMORY.md
Search for keywords from the vague reference.
4. Session Transcripts
Use the session_context tool to search recent sessions:
sessions(limit: 10) # find recent session IDs
session_context(session_id: "...", query: "what was discussed about <topic>")
5. Vault Notes
# Keyword search across Vault
grep -ri "<keywords>" ~/Vault/ --include="*.md" -l | head -10
6. System Log
slog tail --count 20 # recent infrastructure changes
7. Processed Media
# Check for images/audio that were processed
ls /tmp/joelclaw-media/ 2>/dev/null
8. Redis State
# Memory proposals, loop state, etc.
redis-cli LRANGE memory:review:pending 0 -1 2>/dev/null
Workflow
- Extract keywords from the vague reference. "Those photos from earlier" → keywords: photos, images, media, telegram.
- Fan out across sources 1-8 above. Use
timeout 5on any command that might hang. - Synthesize — combine findings into a coherent summary of what was found.
- Present context — show Joel what you found, then continue with the original task.
- If nothing found — say so honestly. Don't fabricate. Ask Joel to clarify.
Timeouts Are Mandatory
Every external call (Redis, grep over large dirs, session reads) MUST have a timeout. The gateway session cannot hang on a recall operation.
# Good
timeout 5 grep -ri "keyword" ~/Vault/ --include="*.md" -l | head -10
# Bad — can hang indefinitely
grep -ri "keyword" ~/Vault/ --include="*.md"
Anti-Patterns
- Don't grep one file and call it done. The whole point is fan-out.
- Don't guess when recall fails. Say "I couldn't find it" and ask.
- Don't read entire session transcripts. Use
session_contextwith a focused query. - Don't skip media. Photos, audio, processed images in
/tmp/joelclaw-media/are often what "from earlier" refers to.
More from joelhooks/joelclaw
cli-design
Design and build agent-first CLIs with HATEOAS JSON responses, context-protecting output, and self-documenting command trees. Use when creating new CLI tools, adding commands to existing CLIs (joelclaw, slog), or reviewing CLI design for agent-friendliness. Triggers on 'build a CLI', 'add a command', 'CLI design', 'agent-friendly output', or any task involving command-line tool creation.
129k8s
>-
88docker-sandbox
Create, manage, and execute agent tools (claude, codex) inside Docker sandboxes for isolated code execution. Use when running agent loops, spawning tool subprocesses, or any task requiring process isolation. Triggers on "sandbox", "isolated execution", "docker sandbox", "safe agent execution", or when working on agent loop infrastructure.
86joel-writing-style
Joel's writing voice and style guide for joelclaw.com content. Use when writing, editing, or reviewing any blog post, essay, book chapter, or prose content for joelclaw.com. Also use when asked to 'write like Joel,' 'match Joel's voice,' 'draft a post,' 'write content for the blog,' or 'review this for voice.' This skill captures Joel's specific writing patterns derived from ~90,000 words of published content spanning 2012–2026. Cross-reference with copy-editing and copywriting skills for marketing-specific copy.
81task-management
Manage Joel's task system in Todoist. Triggers on: 'add a task', 'create a todo', 'what's on my list', 'today's tasks', 'what do I need to do', 'remind me to', 'inbox', 'complete', 'mark done', 'weekly review', 'groom tasks', 'what's next', or when actionable items emerge from other work. Also triggers when Joel mentions something he needs to do in passing — capture it.
54skill-review
Audit and maintain the joelclaw skill inventory. Use when checking skill health, fixing broken symlinks, finding stale skills, or running the skill garden. Triggers: 'skill audit', 'check skills', 'stale skills', 'skill health', 'skill garden', 'broken skill', 'skill review', 'fix skills', 'garden skills', or any task involving skill inventory maintenance.
49