From crucible
Queries persistent session activity index for event logs, summaries, errors, decisions, file edits, and git commits via /recall. Supports keyword search, type filters, and time ranges.
npx claudepluginhub raddue/crucibleThis skill uses the workspace's default tool permissions.
Query the session activity index for event history, file change logs, decisions, and errors. The session index is written continuously by the PostToolUse hook and persists across compaction events.
Analyzes Claude Code session history in three modes: Handoff Document for exhaustive context extraction, Error Forensics for ignored warnings/errors inventory, Chronological Summary for dense technical timelines.
Revives previous sessions from YAML squirrel logs and transcripts to reconstruct context. Browses recent activity across walnuts, filters by topic/person/timeframe, flags unsaved sessions.
Share bugs, ideas, or general feedback.
Query the session activity index for event history, file change logs, decisions, and errors. The session index is written continuously by the PostToolUse hook and persists across compaction events.
Skill type: Rigid -- follow exactly, no shortcuts.
Execution model: Direct execution by the orchestrator. No subagent dispatch. No Agent/Task tool needed.
Announce at start: Output [recall] Querying session activity index... before any processing.
The session index lives at:
~/.claude/projects/<project-hash>/memory/session-index/<session-id>/
events.jsonl # append-only event log
summary.md # rolling narrative summary
Discover the index path:
echo -n "<absolute project dir>" | sha256sum | cut -c1-16~/.claude/projects/<hash>/memory/session-index/*/events.jsonlevents.jsonl — its parent directory is the active session indexNo session index found. Enable session indexing by adding the PostToolUse hook — see
hooks/README.md.
Tool constraint: Use Read and Glob tools for session-index access. Do not use Bash to access ~/.claude/ paths (safety hooks block this).
/recallReturn the full contents of summary.md. If summary.md does not exist but events.jsonl does, read the last 20 entries from events.jsonl and format them as a table.
/recall what files did I editevents.jsonl using the Read toolsummary and detail fields)/recall errors, /recall decisions, /recall editsMap common words to event types:
| Query Word | Event Type(s) |
|---|---|
| errors | error |
| decisions | decision |
| edits, files | file_edit, file_create |
| commits | git_commit |
| tests | test_run |
| phases | phase_change |
Filter events.jsonl to matching types. Return up to 20 most recent entries.
/recall last 30 minutes, /recall last hourParse the time expression:
ts within the last N minutesReturn up to 20 most recent matching entries.
For summary mode (no arguments), return the raw summary.md content.
For filtered/search results, format as:
## Recall: [query description]
**Showing:** [N] events from [time range or filter description]
| Time | Type | Summary |
|------|------|---------|
| 14:30 | file_edit | Modified src/auth/middleware.ts: added rate limiting |
| 14:32 | file_create | Created docs/plans/auth-rate-limit.md |
| ... | ... | ... |
Cap output at 20 entries. If more entries match, note the total: *(showing 20 of 47 matching events)*.
Each line in events.jsonl follows this schema (see skills/shared/session-index-convention.md for full details):
{
"ts": "2026-04-07T14:30:00Z",
"seq": 1,
"type": "file_edit | file_create | git_commit | git_checkout | test_run | error | decision | phase_change | skill_start | skill_end",
"summary": "One-line human-readable summary, max 120 chars",
"detail": { "type-specific payload" }
}
Pipeline skills can invoke /recall internally after compaction to supplement CSB-based recovery:
summary.md from the session index for narrative context/recall for focused context (e.g., /recall errors to recover error history)This is additive -- it does not replace existing recovery mechanisms.
~/.claude/ paths (use Read/Glob tools instead)