Agent skill

Analyze Transcript

by fullsend-ai in fullsend-ai/fullsend

Analyze fullsend agent run transcripts from GitHub Actions artifacts.

Apache-2.0Auto-check passedDevOps & Cloud

Install Analyze Transcript

skills CLI
$ npx skills add fullsend-ai/fullsend --skill analyze-transcript -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install fullsend-ai/fullsend analyze-transcript --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/fullsend-ai/fullsend.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/analyze-transcript .claude/skills/analyze-transcript && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
analyze-transcript
GitHub stars
147
Token cost
~2.7k tokens
SKILL.md length
1,033 words
Files
3
Skills in repo
15
Repo updated
First seen
Licence
Apache-2.0

At a glance

Analyze fullsend agent run transcripts from GitHub Actions artifacts.

  • Works in 8 steps: Get the run → Check run status → Download artifacts → …
  • The user wants to inspect what an agent did during a run
  • SKILL.md covers Prerequisites, Rules, Script location and Question routing, plus 5 more sections
  • Runs Python scripts from its folder; calls python3, gh and git; reaches github.com

What it does

Analyze Transcript is an agent skill from fullsend-ai/fullsend. Analyze fullsend agent run transcripts from GitHub Actions artifacts. Use when the user wants to inspect what an agent did during a run, debug failures, check tool usage, or search transcript content. Handles downloading artifacts, finding JSONL files, and running the analyzer script.

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `analyze-transcript.py` and `analyze_transcript_test.py`).

It sits in DevOps & Cloud, covering CI/CD. It works with GitHub Actions. The repository describes itself as: On the path to fully autonomous agentic engineering. The licence is Apache-2.0.

When your agent uses it

  • The user wants to inspect what an agent did during a run
  • Check tool usage
  • Search transcript content

Example prompts

  • “/analyze-transcript”

Requirements

  • Python 3
  • Node.js
  • Pre-approved tools (allowed-tools): Bash(gh run view:*), Bash(mkdir -p .transcripts/*), Bash(find .transcripts/run-*), Bash(ls -lh .transcripts/*), Bash(python3 skills/analyze-transcript/analyze-transcript.py:*)

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Get the run
  2. Check run status
  3. Download artifacts
  4. Find artifacts
  5. No transcript found?
  6. Run analysis
  7. Deeper analysis based on user questions
  8. Sandbox network analysis

What it can do on your machine

Read from SKILL.md and the folder at commit 0d999c2. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash(gh run view:*)
    • Bash(mkdir -p .transcripts/*)
    • Bash(find .transcripts/run-*)
    • Bash(ls -lh .transcripts/*)
    • Bash(python3 skills/analyze-transcript/analyze-transcript.py:*)

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3
    • gh
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Analyze Transcript loads about 2.7k tokens when it runs. Until then it costs about 76 tokens; SKILL.md has 1,033 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~76
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from fullsend-ai/fullsend at commit 0d999c2, republished under its Apache-2.0 licence (© fullsend-ai). 1,033 words, ~2,667 tokens.

Download SKILL.mdSave it as .claude/skills/analyze-transcript/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
analyze-transcript
description
Analyze fullsend agent run transcripts from GitHub Actions artifacts. Use when the user wants to inspect what an agent did during a run, debug failures, check tool usage, or search transcript content. Handles downloading artifacts, finding JSONL files, and running the analyzer script.
allowed-tools
Bash(gh run view:*), Bash(mkdir -p .transcripts/*), Bash(find .transcripts/run-*), Bash(ls -lh .transcripts/*), Bash(python3 skills/analyze-transcript/analyze-transcript.py:*)

Analyze Agent Transcript

Download and analyze fullsend agent JSONL transcripts from GitHub Actions runs.

Prerequisites

  • gh CLI authenticated with access to the target repository
  • Python 3.8+

Rules

  • Never auto-dispatch subagents. Try search, errors, or conversation --lines first. Only suggest a subagent if targeted commands aren't enough — never spawn one silently.
  • Always use relative paths. Pass .transcripts/run-<id>/... to the script, not absolute paths. Absolute paths trigger permission prompts.
  • No shell variables. Never assign paths to variables or export them. No DLDIR=..., TRANSCRIPT=..., SANDBOX_LOG=..., BASE_DIR=..., export .... Inline the literal path in every command. This applies to the download dir, transcript paths, sandbox log paths, and the script path. Variables cause commands to drift from the allowed-tools patterns and trigger unnecessary permission prompts.
  • Limit output. Use | head -N, | tail -N, or --lines to keep transcript output short. Never dump a full conversation into the main context.
  • Plain find only. Never use -exec, -ls, or -printf with find. Use find ... -print (the default). If you need file sizes, run ls -lh on the directory instead.

Script location

The analyzer script lives alongside this skill:

skills/analyze-transcript/analyze-transcript.py

Resolve the path from the skill's base directory. If this skill was loaded from a base directory, the script is at <base-dir>/analyze-transcript.py.

Question routing

Route the user's question to the right subcommand before reaching for full conversation output:

User asks aboutStart with
network / POST / REST / blocked / deniednetwork, netsearch
error / failed / broke / crasherrors
why / decided / reasoningsearch "<keyword>", then conversation --lines around hits
what changed / commit / diffsearch "git diff", search "git commit"
how long / duration / timeoutsummary
token / costsummary
everything / full pictureaudit

Workflow

1. Get the run

The user provides a GitHub Actions run URL. Extract owner, repo, and run ID.

URL formats:

  • https://github.com/OWNER/REPO/actions/runs/RUN_ID
  • https://github.com/OWNER/REPO/actions/runs/RUN_ID/job/JOB_ID
  • https://github.com/OWNER/REPO/actions/runs/RUN_ID/attempts/N
2. Check run status
bash
gh run view <run-id> --repo OWNER/REPO --json status,conclusion,createdAt,updatedAt

If still running, tell the user and offer to watch it.

3. Download artifacts
bash
mkdir -p .transcripts/run-<run-id>
gh run download <run-id> --repo OWNER/REPO --dir .transcripts/run-<run-id>

The .transcripts/ directory is gitignored. Using the working directory avoids permission prompts for /tmp writes.

4. Find artifacts

Downloaded artifacts have this structure:

.transcripts/run-<run-id>/fullsend-<agent>/
  agent-<type>-<id>/
    logs/
      openshell-sandbox.log    # OCSF network/process/sandbox events
      openshell-gateway.log    # Gateway-side events
    iteration-1/
      transcripts/
        <agent>-<session-id>.jsonl   # Main agent transcript (Claude Code)
        <agent>-agent-*.jsonl        # Subagent transcripts (Claude Code)
        <agent>-<timestamp>_<id>.jsonl  # pi session file (runtime: pi); same subcommands apply

Find transcripts and logs:

bash
find .transcripts/run-<run-id> -name "*.jsonl" -type f -print
find .transcripts/run-<run-id> -name "openshell-sandbox.log" -type f -print

Each JSONL file is one agent session (main agent or subagent). The sandbox log contains all OCSF network events for the run. If you need file sizes, use ls -lh on the directory.

5. No transcript found?

If find returns no .jsonl transcript files, the run likely failed before the agent started (security scan, infra failure, OPA denial). Fall back to:

  1. Check for non-transcript files in the artifact dir:
    • run-summary.json — structured run metadata
    • run-telemetry.jsonl — OTLP telemetry (not a Claude transcript)
  2. Check sandbox logs for early failures:
    bash
    python3 <base-dir>/analyze-transcript.py netsearch "DENIED" <sandbox-log>
  3. Pull GitHub Actions logs directly:
    bash
    gh run view <run-id> --repo OWNER/REPO --log-failed

Do not confuse run-telemetry.jsonl with Claude transcripts. Telemetry files contain OTLP spans, not conversation messages. The script will detect this and warn you.

6. Run analysis

Quick audit (summary + errors + tools in one shot):

bash
python3 <base-dir>/analyze-transcript.py audit <path-to-jsonl>

Summary only:

bash
python3 <base-dir>/analyze-transcript.py summary <path-to-jsonl>

Shows: agent type, model, duration, message count, token usage, tool call breakdown, and stop reasons.

7. Deeper analysis based on user questions

Use the appropriate subcommand:

Full conversation flow (alias: conv):

bash
python3 <base-dir>/analyze-transcript.py conversation <path> | head -100

Shows assistant text, tool calls, and results with line numbers. Use | head -N for the start or | tail -N for the end of large transcripts. Use --max-width 0 for full untruncated output.

Note: System prompts and pre-conversation context are not included in conversation output. If the user asks "why did the agent do X", search for decision-relevant keywords first, then show surrounding conversation lines.

Tool usage breakdown:

bash
python3 <base-dir>/analyze-transcript.py tools <path>

Errors and failures only:

bash
python3 <base-dir>/analyze-transcript.py errors <path>

Finds tool errors, permission denials, failed commands, and error mentions.

Search for specific content:

bash
python3 <base-dir>/analyze-transcript.py search "yarn install" <path>

Regex search across all tool results and assistant text.

Restrict to line range (place after subcommand; transcript subcommands only):

bash
python3 <base-dir>/analyze-transcript.py conversation <path> --lines 50-100

JSON output (available on summary, tools, and network):

bash
python3 <base-dir>/analyze-transcript.py summary <path> --json
Show full SKILL.md (424 more words)Show less
8. Sandbox network analysis

The openshell-sandbox.log contains OCSF events for all network connections, HTTP requests, process launches, and policy decisions made inside the sandbox.

Network summary (alias: net):

bash
python3 <base-dir>/analyze-transcript.py network <sandbox-log>

Shows: duration, denied connections, destination hosts, OPA policies hit, and event type breakdown.

Network summary with HTTP request list:

bash
python3 <base-dir>/analyze-transcript.py network <sandbox-log> --http

Appends a chronological list of every HTTP request with relative timestamps.

Filter HTTP requests by method or host:

bash
python3 <base-dir>/analyze-transcript.py network <sandbox-log> --http --method POST
python3 <base-dir>/analyze-transcript.py network <sandbox-log> --http --method POST,PUT,PATCH,DELETE
python3 <base-dir>/analyze-transcript.py network <sandbox-log> --http --host github.com
python3 <base-dir>/analyze-transcript.py network <sandbox-log> --http --method POST,PUT,PATCH --host github.com

Search network logs:

bash
python3 <base-dir>/analyze-transcript.py network-search "DENIED" <sandbox-log>
python3 <base-dir>/analyze-transcript.py netsearch "github" <sandbox-log>

Regex search across all OCSF event lines. Matches against raw log text, destination hosts, and HTTP URLs.

Full audit workflow

When the user wants the full picture, run this sequence:

  1. audit <transcript> — summary + errors + tools in one pass
  2. network <sandbox-log> — denied connections, hosts, policies
  3. conversation <transcript> | head -80 — how the run started
  4. conversation <transcript> | tail -50 — how the run ended

Common analysis patterns

  • Why did a run fail? Start with errors, then conversation around the error lines to see what the agent tried.
  • Auth token expiry? Search for invalid_grant or stale to sign-in: search "invalid_grant|stale" <path>. Common when runs exceed the ID token lifetime.
  • What did the agent change? Search for git diff or git commit in the transcript: search "git diff" <path>
  • How did the run end? Use conversation <path> | tail -30 to see the final actions. Useful for spotting token expiry, timeouts, or incomplete work.
  • How long did yarn/npm install take? Search for the install command and check timestamps.
  • Did the agent hit the timeout? Check summary duration vs the harness timeout_minutes.
  • Token cost? summary shows input/output/cache token counts.
  • Was a network request blocked? network <sandbox-log> shows all denials at the top. Use netsearch "DENIED" for raw lines.
  • What endpoints did the agent talk to? network <sandbox-log> lists hosts by frequency. Add --http for the full request log.
  • Which OPA policy allowed/denied traffic? network shows policy hit counts. netsearch "policy:<name>" filters to a specific policy.
  • Did the agent make write requests to GitHub? Filter POST/PUT/PATCH to github.com: network <sandbox-log> --http --method POST,PUT,PATCH --host github.com

Notes

  • Download artifacts to .transcripts/ in the working directory (gitignored).
  • The script is stdlib-only Python — no pip install needed.
  • The errors command shows definitive errors (is_error flag, exit codes, tracebacks) separately from keyword mentions. For targeted searching, prefer search "pattern" over errors — it produces fewer false positives.
  • For visual interactive replay, use the replay-session skill instead.
  • If you need to find the GitHub Actions run ID for an agent given an issue or PR number, use the finding-agent-runs skill if available.
  • For visual interactive replay of a session, use the replay-session skill if available.

© fullsend-ai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files in skills/analyze-transcript of fullsend-ai/fullsend.

  • SKILL.md
  • analyze-transcript.py
  • analyze_transcript_test.py

Open the folder on GitHubat commit 0d999c2

Compare with similar skills

Analyze Transcript next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Analyze Transcript compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Analyze Transcript this skillfullsend-ai/fullsend147—~2.7kAutomated safety check: PassApache-2.0
Analyze GitHub Action Logswithastro/astro63k1 repos~1.3kAutomated safety check: PassCustom licence
GitHub Actions Templatesbartstc/vite-ts-react-template12213 repos~1.9kAutomated safety check: PassMIT
Nushellccusage/ccusage19k—~938Automated safety check: PassCustom licence
Repo Hygiene Scan and FixQwenLM/qwen-code28k—~1.7kAutomated safety check: PassApache-2.0
Senior DevOps Toolkitmaslennikov-ig/claude-code-orchestrator-kit2596 repos~1.1kAutomated safety check: NotesCustom licence

Similar skills

  • Official

    Analyze recent GitHub Actions workflow runs to identify patterns, mistakes, and improvements.

    63k GitHub starsUsed in 1 repo~1.3k tokens
    DevOps & CloudAuto-check passed
  • GitHub Actions Templates

    bartstc/vite-ts-react-template

    Create production-ready GitHub Actions workflows for automated testing, building, and deploying applications.

    122 GitHub starsUsed in 13 repos~1.9k tokens
    DevOps & CloudAuto-check passed
  • Nushell

    ccusage/ccusage

    Guides ccusage Nushell scripts. An agent skill from ccusage/ccusage.

    19k GitHub stars~938 tokensUpdated today
    DevOps & CloudAuto-check passed
  • Scheduled CI skill that scans a repository for small, certain docs, test and code hygiene issues and fixes them on one branch with a commit per finding.

    28k GitHub stars~1.7k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Senior DevOps Toolkit

    maslennikov-ig/claude-code-orchestrator-kit

    Comprehensive DevOps skill for CI/CD, infrastructure automation, containerization, and cloud platforms (AWS, GCP, Azure). Includes pipeline setup…

    259 GitHub starsUsed in 6 repos~1.1k tokens
    DevOps & CloudAuto-check: notes
  • CI Failure Triage and Repair

    Chachamaru127/claude-code-harness

    Diagnoses failing CI pipelines and tests, deciding first whether the test or the implementation is at fault, and hands hard cases to a dedicated fixer subagent.

    3.2k GitHub starsUsed in 1 repo~1.1k tokens
    DevOps & CloudAuto-check: notes

More from fullsend-ai/fullsend

All 15 skills in this repo
  • Cutting Releases

    fullsend-ai/fullsend

    A skill your agent uses when the user wants to tag a release, cut a release candidate, or ship a new version.

    147 GitHub stars~3.5k tokensUpdated today
    Auto-check passed
  • Topissues

    fullsend-ai/fullsend

    Build a merged RICE priority table: top unassigned backlog issues plus issues assigned to the current user.

    147 GitHub stars~523 tokensUpdated today
    Auto-check passed
  • User Forum Whats New

    fullsend-ai/fullsend

    A skill your agent uses when preparing the Fullsend user forum "What's New" agenda, a Tuesday-to-Tuesday recap, forum-host talk-track notes, or copy-paste HTML of shipped changes for users.

    147 GitHub stars~4k tokensUpdated today
    Auto-check passed
  • Adr Corner

    fullsend-ai/fullsend

    Find open GitHub pull requests that add or change Architecture Decision Records and report attribution, summaries, discussion points, and dates.

    147 GitHub stars~654 tokensUpdated today
    Auto-check passed
  • Nextwork

    fullsend-ai/fullsend

    Build a readiness-oriented queue of open issues/PRs — assigned work plus their open GitHub blockers — and recommend the next action for each.

    147 GitHub stars~5.3k tokensUpdated today
    Auto-check passed
  • E2E Health

    fullsend-ai/fullsend

    A skill your agent uses when checking e2e test health or reviewing recent e2e failures on main.

    147 GitHub stars~505 tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Analyze Transcript

What does Analyze Transcript do?

Analyze fullsend agent run transcripts from GitHub Actions artifacts. Analyze Transcript is an agent skill from fullsend-ai/fullsend. Analyze fullsend agent run transcripts from GitHub Actions artifacts.

When should I use Analyze Transcript?

Analyze Transcript fits situations like: the user wants to inspect what an agent did during a run; check tool usage; search transcript content.

How do I install Analyze Transcript in Claude Code?

Run `npx skills add fullsend-ai/fullsend --skill analyze-transcript -a claude-code`. Or copy the skill folder (skills/analyze-transcript in fullsend-ai/fullsend) into .claude/skills/analyze-transcript in your project. Claude Code loads it when a task matches its description.

How do I install Analyze Transcript in Codex?

Run `npx skills add fullsend-ai/fullsend --skill analyze-transcript -a codex`. Or copy the skill folder (skills/analyze-transcript in fullsend-ai/fullsend) into .agents/skills/analyze-transcript in your project. Codex loads it when a task matches its description.

Can I use Analyze Transcript in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add fullsend-ai/fullsend --skill analyze-transcript -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/analyze-transcript, .gemini/skills/analyze-transcript, .github/skills/analyze-transcript and .opencode/skills/analyze-transcript in your project.

What does Analyze Transcript need to run?

Going by SKILL.md and its folder, Analyze Transcript needs Python for the scripts in its folder and the command-line tools its instructions call (python3, gh and git). Our summary lists: Python 3; Node.js. Its frontmatter pre-approves these tools: Bash(gh run view:*), Bash(mkdir -p .transcripts/*), Bash(find .transcripts/run-*), Bash(ls -lh .transcripts/*), Bash(python3 skills/analyze-transcript/analyze-transcript.py:*).

Does Analyze Transcript access the network?

SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Analyze Transcript safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Analyze Transcript use?

Analyze Transcript is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Analyze Transcript use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Analyze Transcript?

Skills that share tags, products or a category with Analyze Transcript: Analyze GitHub Action Logs (withastro/astro, 63k stars), GitHub Actions Templates (bartstc/vite-ts-react-template, 122 stars), Nushell (ccusage/ccusage, 19k stars) and Repo Hygiene Scan and Fix (QwenLM/qwen-code, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Analyze Transcript?

fullsend-ai (a GitHub organization) maintains it in fullsend-ai/fullsend, which has 147 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on October 7, 2026.

Source: fullsend-ai/fullsend on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.