Claude Skill

transcript-grep

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 mess

LLM Mart · 0 points · 11 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download hoangsonww-claude-code-agent-monitor-plugins_ccam-devtools_skills_transcript-grep-83d4df5.zip · 1 KB
Part of hoangsonww/claude-code-agent-monitor — 86 skills

Install

skills CLI npx skills add https://github.com/hoangsonww/Claude-Code-Agent-Monitor/tree/master/plugins/ccam-devtools/skills/transcript-grep
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install hoangsonww-claude-code-agent-monitor@llmmart
Git git clone https://github.com/hoangsonww/Claude-Code-Agent-Monitor.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole hoangsonww/claude-code-agent-monitor collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

Transcript Grep

Find where a pattern appears in a session transcript and show the matches in context.

Input

The user provides: $ARGUMENTS

Interpreted as a session reference plus a search pattern, e.g. <session-id> "rate limit" or latest TypeError. Parsing rules:

  • The session reference is the first token if it looks like an id, or the words latest/last (most recently updated session).
  • The remainder is the search pattern (string or regex, quoted if it contains spaces).
  • If no session is given, default to the most recent session.

Data Sources

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

Report Sections

1. Resolve 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.

2. Fetch and search

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.

3. Matches with context

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.

4. Summary

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.

Output

  • Lead with the match count and session header, then the contextual snippets.
  • Keep snippets trimmed — truncate long tool payloads with … rather than dumping them.
  • Cite only transcript content returned by the API — never fabricate messages.
  • If the dashboard is unreachable, tell the user to start it with npm start from the repo root.
Files (claude-code-agent-monitor)
  • agents
    • openai.yaml 266 B
      interface:
        display_name: "Transcript Grep"
        short_description: "Search a Claude Code session transcript for a string or..."
        default_prompt: "Use $transcript-grep to inspect CCAM data and complete this workflow safely."
      policy:
        allow_implicit_invocation: true
      
  • SKILL.md 2.8 KB
    ---
    name: transcript-grep
    description: >
      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.
    ---
    
    # Transcript Grep
    
    Find where a pattern appears in a session transcript and show the matches in context.
    
    ## Input
    
    The user provides: **$ARGUMENTS**
    
    Interpreted as a session reference plus a search pattern, e.g.
    `<session-id> "rate limit"` or `latest TypeError`. Parsing rules:
    - The session reference is the first token if it looks like an id, or the words
      `latest`/`last` (most recently updated session).
    - The remainder is the search pattern (string or regex, quoted if it contains spaces).
    - If no session is given, default to the most recent session.
    
    ## Data Sources
    
    | 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 |
    
    ## Report Sections
    
    ### 1. Resolve 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.
    
    ### 2. Fetch and search
    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.
    
    ### 3. Matches with context
    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.
    
    ### 4. Summary
    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.
    
    ## Output
    
    - Lead with the match count and session header, then the contextual snippets.
    - Keep snippets trimmed — truncate long tool payloads with `…` rather than dumping them.
    - Cite only transcript content returned by the API — never fabricate messages.
    - If the dashboard is unreachable, tell the user to start it with `npm start` from the repo root.
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related