---
name: recall-reasoning
description: Search past reasoning for relevant decisions and approaches
user-invocable: false
---
# Recall Past Work
Search through previous sessions to find relevant decisions, approaches that worked, and approaches that failed. Queries two sources:
1. **Artifact Index** - Handoffs, plans, ledgers with post-mortems (what worked/failed)
2. **Reasoning Files** - Build attempts, test failures, commit context
## When to Use
- Starting work similar to past sessions
- "What did we do last time with X?"
- Looking for patterns that worked before
- Investigating why something was done a certain way
- Debugging an issue encountered previously
## Usage
### Primary: Artifact Index (rich context)
```bash
uv run python scripts/core/artifact_query.py "<query>" [--outcome SUCCEEDED|FAILED] [--limit N]
```
This searches handoffs with post-mortems (what worked, what failed, key decisions).
### Secondary: Reasoning Files (build attempts)
```bash
bash "$CLAUDE_PROJECT_DIR/.claude/scripts/search-reasoning.sh" "<query>"
```
This searches `.git/claude/commits/*/reasoning.md` for build failures and fixes.
## Examples
```bash
# Search for authentication-related work
uv run python scripts/core/artifact_query.py "authentication OAuth JWT"
# Find only successful approaches
uv run python scripts/core/artifact_query.py "implement agent" --outcome SUCCEEDED
# Find what failed (to avoid repeating mistakes)
uv run python scripts/core/artifact_query.py "hook implementation" --outcome FAILED
# Search build/test reasoning
bash "$CLAUDE_PROJECT_DIR/.claude/scripts/search-reasoning.sh" "TypeError"
```
## What Gets Searched
**Artifact Index** (handoffs, plans, ledgers):
- Task summaries and status
- **What worked** - Successful approaches
- **What failed** - Dead ends and why
- **Key decisions** - Choices with rationale
- Goal and constraints from ledgers
**Reasoning Files** (`.git/claude/`):
- Failed build attempts and error output
- Successful builds after failures
- Commit context and branch info
## Interpreting Results
**From Artifact Index:**
- `✓` = SUCCEEDED outcome (pattern to follow)
- `✗` = FAILED outcome (pattern to avoid)
- `?` = UNKNOWN outcome (not yet marked)
- Post-mortem sections show distilled learnings
**From Reasoning:**
- `build_fail` = approach that didn't work
- `build_pass` = what finally succeeded
- Multiple failures before success = non-trivial problem
## Process
1. **Run Artifact Index query first** - richer context, post-mortems
2. **Review relevant handoffs** - check what worked/failed sections
3. **If needed, search reasoning** - for specific build errors
4. **Apply learnings** - follow successful patterns, avoid failed ones
## No Results?
**Artifact Index empty:**
- Run `uv run python scripts/core/artifact_index.py --all` to index existing handoffs
- Create handoffs with post-mortem sections for future recall
**Reasoning files empty:**
- Use `/commit` after builds to capture reasoning
- Check if `.git/claude/` directory exists