--- name: session-search description: For CLI agents WITHOUT subagent support (e.g., Codex CLI). Search previous code agent sessions for specific work, decisions, or code patterns. --- > **If you are Claude Code:** Do NOT use this skill directly. Use the > `session-searcher` subagent via the Task tool instead - it handles this more > efficiently without polluting your context. # session-search Search and find previous code agent sessions (Claude-Code or Codex-CLI) for specific work, decisions, or code patterns. ## Workflow 1. **Understand the query**: Identify what the user is looking for (code patterns, decisions, specific work, design direction) 2. **Search with aichat**: Run `aichat search --json -n 10 "[query]"` (use `-g "project"` to filter by project) 3. **Parse results**: Use `jq` to extract fields from JSONL output (session_id, project, created, snippet, file_path) 4. **Deep dive if needed**: Read session files at `~/.claude/projects/*/[session-id].jsonl` (max 3 files) 5. **Summarize**: Return a focused summary with key findings and references Run `aichat search --help` to see all options (date filters, branch filters, etc.) and JSONL field names. ## Output Format Return a concise summary containing: 1. **Key Findings**: 2-3 bullet points answering the query 2. **Relevant Sessions**: Session IDs and dates for reference 3. **Specific Content**: Code snippets or quotes if directly relevant Format as clean markdown, not raw JSON. ## Example Query: "Find sessions where we discussed authentication design" ```bash aichat search --json -n 10 "authentication design" ``` Summary: - **Session abc123** (Dec 10): Discussed JWT vs session-based auth, decided on JWT - **Session def456** (Dec 8): Implemented refresh token rotation pattern ## Constraints - ALWAYS use `--json` flag with aichat search (otherwise it spawns interactive UI) - NEVER return raw JSON output to the user - summarize and distill findings - NEVER read more than 3 session files per query - If no results found, suggest alternative search terms - ONLY report information directly observed in files - never infer or extrapolate ## Error Handling If `aichat search` command fails or is not found, ask user to install: ```bash uv tool install claude-code-tools # Python package cargo install aichat-search # Rust search TUI ``` Prerequisites: - Node.js 16+ (for action menus) - Rust/Cargo (for aichat-search) If user doesn't have uv or cargo: ```bash curl -LsSf https://astral.sh/uv/install.sh | sh # uv curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # Rust ```