Loading...
Loading...
This skill should be used when inspecting, analyzing, or querying Claude Code session logs. Use when users ask about session history, want to find sessions, analyze context usage, extract tool call patterns, debug agent execution, or understand what happened in previous sessions. Essential for understanding Claude Code's ~/.claude/projects/ structure, JSONL session format, and the erk extraction pipeline.
npx skill4agent add dagster-io/erk session-inspector~/.claude/projects/erk exec <command>| Command | Purpose |
|---|---|
| List sessions with metadata for current worktree |
| Convert JSONL to compressed XML |
| Extract most recent plan from session |
| Create plan PR from session plan |
| Extract session content from GitHub issue |
| Command | Purpose |
|---|---|
| Display formatted session list table |
| Analyze context window usage across sessions |
erk exec list-sessions [--limit N] [--min-size BYTES]--limit--min-sizeerk exec preprocess-session <log-path> [OPTIONS]--session-id--include-agents/--no-include-agents--no-filtering--stdouterk exec extract-latest-plan [--session-id SESSION_ID]erk exec create-pr-from-session [--session-id SESSION_ID]erk exec render-session-content --session-file <path> [--session-label LABEL] [--extraction-hints HINTS]erk exec extract-session-from-issue <issue-number> [--output PATH] [--session-id ID]~/.claude/projects/
├── -Users-foo-code-myapp/ ← Encoded project path
│ ├── abc123-def456.jsonl ← Main session log
│ ├── xyz789-ghi012.jsonl ← Another session
│ ├── agent-17cfd3f4.jsonl ← Agent subprocess log
│ └── agent-2a3b4c5d.jsonl ← Another agent log-/.-/Users/foo/code/myapp-Users-foo-code-myapp--session-id📌 session: <id>erk exec list-sessions --session-id abc123-def456auto_select_sessions().erk/scratch/sessions/<session-id>/from erk_shared.scratch import get_scratch_dir, write_scratch_file
scratch_dir = get_scratch_dir(session_id)
file_path = write_scratch_file(content, session_id=session_id, suffix=".xml")erk exec list-sessionserk exec preprocess-session <file> --stdout | head -500/local:analyze-contexterk exec extract-latest-plan --session-id <id>erk exec create-pr-from-session --session-id <id># Compute project dir using Claude Code's path encoding (replace / and . with -)
PROJECT_DIR="$HOME/.claude/projects/$(pwd | sed 's|/|-|g; s|\.|-|g')"
ls -lt "$PROJECT_DIR"/agent-*.jsonl | head -10cat agent-<id>.jsonl | jq 'select(.message.is_error == true)'tools.mdformat.mdextraction.mdpackages/erk-cli/src/erk_cli/commands/packages/erk-shared/src/erk_shared/extraction/packages/erk-shared/src/erk_shared/github/metadata.pypackages/erk-shared/src/erk_shared/scratch/