Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Search a Claude Code session transcript for a string or regex pattern and show every matching message with surrounding context. Reads /api/sessions/:id/transcript and resolves sessions via /api/sessions?limit= from the Agent Monitor dashboard. Use when hunting for a specific message, prompt, tool call, or error inside a session's conversation.
.claude/skills/hoangsonww-transcript-grep/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 72% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 3% | 0% |
| case-11 | ✗→✓ | ▲ Improved | -38% | 0% |
| case-20 | ✗→✓ | ▲ Improved | -2% | 0% |
| case-07 | ✓→✗ | ▼ Worse | 79% | 0% |
Find where a pattern appears in a session transcript and show the matches in context.
The user provides: $ARGUMENTS
Interpreted as a session reference plus a search pattern, e.g. <session-id> "rate limit" or latest TypeError. Parsing rules:
latest/last (most recently updated session).
| Endpoint | Returns | |----------|---------| | GET /api/sessions?limit=N | session list to resolve latest/last and to confirm the id exists | | GET /api/sessions/:id/transcript | the ordered transcript messages (role, content, tool calls/results, timestamps) for the session |
If latest/last (or no id), call GET /api/sessions?limit=1. Otherwise verify the id with GET /api/sessions?limit=1000 (or GET /api/sessions/:id). Report the resolved id, status, and model before searching.
Call GET /api/sessions/:id/transcript. Walk the messages in order and match the pattern against message text, tool_name, and tool input/output content. Case-insensitive by default; treat the pattern as a regex if it contains regex metacharacters, otherwise as a literal substring.
For each match show:
[#N HH:MM:SS role(:tool_name)]
… preceding line of context …
> matching line with the **pattern** emphasized
… following line of context …Number matches sequentially. Include ±1–2 messages (or lines) of context so the match is interpretable. If a tool call matches, show the tool_name and a trimmed view of its arguments/result.
Report: total matches, how many distinct messages matched, the roles involved (user / assistant / tool), and the timestamp span of the matches. If there are zero matches, say so plainly and suggest a looser pattern.
… rather than dumping them.npm start from the repo root.Other measured skills in the registry, with their headline benchmark lift.