session-search · hoangsonww — Claude Code skill: session lookup and setup
Search Agent Monitor sessions by project, model, status, or date, then rank them by cost or recency. Use it to track down a particular run or review recent activity.
npx skills add hoangsonww/Claude-Code-Agent-Monitor --skill session-search -a claude-codeWhat session-search does
The skill matches project terms against actual working-directory values, checks model and status filters against available facets, then filters the session list. Results are sorted by cost or start time; recency is the default. An empty request returns the latest sessions.
Its report includes a table with each session’s ID, status, model, project, start time, and cost, plus match totals and model and status breakdowns. It relies on Agent Monitor data. If the dashboard cannot be reached, start it from the repository root with npm start; session lookup depends on the dashboard being available.
What it helps with
- find sessions associated with a project directory
- filter runs by model and status
- locate sessions within a date range
- rank matching sessions by cost or start time
- summarize matching runs and their combined cost
Example prompts for the agent
- Find this week's EstateWise sessions and sort them by recency.
- Show Opus runs with error status from this week.
- Find the most expensive sessions in
/repo.
How to install session-search
1Skills CLI (Vercel)
npx skills add hoangsonww/Claude-Code-Agent-Monitor --skill session-search -a claude-code2Manually: put the files in place
~/.claude/skills/session-search/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/session-search/
1Skills CLI (Vercel)
npx skills add hoangsonww/Claude-Code-Agent-Monitor --skill session-search -a codex2Manually: put the files in place
.agents/skills/session-search/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add hoangsonww/Claude-Code-Agent-Monitor --skill session-search -a cursor2Manually: put the files in place
.cursor/skills/session-search/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install hoangsonww/Claude-Code-Agent-Monitor session-search2Manually: put the files in place
.github/skills/session-search/SKILL.md1Skills CLI (Vercel)
npx skills add hoangsonww/Claude-Code-Agent-Monitor --skill session-search -a gemini-cli2Platform CLI
gemini skills install https://github.com/hoangsonww/Claude-Code-Agent-Monitor --path plugins/ccam-sessions/skills/session-searchManually: put the files in place
.devin/skills/session-search/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add hoangsonww/Claude-Code-Agent-Monitor --skill session-search -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about session-search
How do I install session-search in Claude Code?
Run npx skills add hoangsonww/Claude-Code-Agent-Monitor --skill session-search -a claude-code. The skill file is installed at ~/.claude/skills/session-search/SKILL.md.
What does session-search do?
It filters Agent Monitor sessions by project, model, status, and date, then ranks the matches by cost or start time. The report includes session details and summary totals.
What does session-search need to run?
The Agent Monitor dashboard must be reachable. Start it from the repository root with npm start if it is not running.
Source text
SKILL.md · MIT
--- name: session-search description: > Find Claude Code sessions tracked by the Agent Monitor by project (cwd), model, status, or date, then rank the matches by cost or recency. Pulls the session list and the distinct cwd / facet values so filters use real values rather than guesses. Use when locating a session — "find my EstateWise sessions", "which Opus runs errored this week", "most expensive sessions in /repo". --- # Session Search Locate Claude Code sessions in the Agent Monitor by project, model, status, or date. ## Input The user provides: **$ARGUMENTS** A free-form query naming any combination of: - **project / cwd** — a working-directory path or basename (e.g. `EstateWise`, `/Users/.../repo`) - **model** — `opus`, `sonnet`, `haiku`, or a full model id substring - **status** — `active`, `working`, `completed`, `error` - **date** — `today`, `this week`, or an ISO date / range matched against `started_at` - **ranking** — `by cost` (default when cost is mentioned) or `recent` (default otherwise) If the query is empty, return the most recent sessions ranked by recency. ## Data Sources | Endpoint | Returns | |----------|---------| | `GET /api/sessions?limit=N` | session list: id, status, model, cwd, started_at, ended_at, cost, metadata (thinking_blocks, turn_count, total_turn_duration_ms, usage_extras) | | `GET /api/run/cwds` | the distinct working directories that have sessions — use to resolve a fuzzy project name to exact cwd values | | `GET /api/events/facets` | distinct facet values (event types, tool names, models, statuses) for validating filters | ## Report Sections ### 1. Resolve filters Fetch `/api/run/cwds` and `/api/events/facets` to map the user's loose terms to real values: pick the cwd(s) whose path contains the project term, confirm the model substring exists, and validate the status against known statuses. State which concrete filters you settled on. ### 2. Pull candidates `GET /api/sessions?limit=200` (raise the limit if the date window is wide). Filter in-memory by cwd, model (substring, case-insensitive), status, and `started_at` date window. ### 3. Rank Sort by `cost` descending when the user asked "by cost"; otherwise by `started_at` descending (most recent first). Keep the top 20 unless the user asked for more. ### 4. Matches One row per session. ### 5. Summary Count of matches, summed cost across matches, and the model / status distribution. ## Output Markdown table: `# | id (short) | status | model | cwd (basename) | started_at | cost`. Currency as USD to 4 decimal places; token / count fields with thousands separators. If a filter resolved to zero rows, say so and show the closest available values (e.g. the cwds that *do* exist) rather than fabricating results. If the dashboard is unreachable, tell the user to start it with `npm start` from the repo root.
© hoangsonww · MIT · hoangsonww/Claude-Code-Agent-Monitor
Similar skills
All skills for Agent setup: memory, context, orchestration →session-search by other authors comes first.