Help us improve
Share bugs, ideas, or general feedback.
From agent-teams
Generates self-contained HTML viewer for Claude Code sessions including agent teams with inter-agent DM timelines, filtering, search. Use for viewing, replaying, or inspecting JSONL logs by session ID.
npx claudepluginhub kenneth-liao/ai-launchpad-marketplace --plugin agent-teamsHow this skill is triggered — by the user, by Claude, or both
Slash command
/agent-teams:view-team-sessionThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate a self-contained HTML viewer from Claude Code session JSONL logs.
Exports Claude Code session JSONL files to human-readable markdown with role markers and timestamps. Use to save, review, share transcripts, or feed dev-diary pipelines.
References Claude Code session log schema for JSONL files under ~/.claude/projects/. Details record types, tool call/result pairing, subagent file locations, team layouts, and config paths. Use for parsing transcripts, PostToolUse hooks, or building analyzers.
Converts Claude Code session JSONL files into animated GIF replays of conversations as typed terminal output. Use for demos, PR evidence, Slack shares, and tutorial embeds.
Share bugs, ideas, or general feedback.
Generate a self-contained HTML viewer from Claude Code session JSONL logs. Works for both solo sessions and agent team sessions, showing the full conversation timeline with filtering, search, and collapsible tool calls.
Claude Code stores conversation logs as JSONL files at
~/.claude/projects/<project>/<session-id>.jsonl. When agent teams are used,
each agent gets its own JSONL file in the same project directory, linked by a
shared teamName field. Team config is stored at ~/.claude/teams/{team-name}/config.json.
Browsers can't read local JSONL files directly, so the skill uses a Python script to extract the data and embed it into a self-contained HTML playground.
Run the generate script with a session ID using uv run:
uv run ${CLAUDE_SKILL_DIR}/scripts/generate.py SESSION_ID [--output path] [--no-open]
SESSION_ID — the UUID from the JSONL filename (e.g., 605eef0e-40be-4e0f-8a34-0a977c60399d)--output path — custom output path (default: .claude/output/<session-id>.html)--no-open — skip auto-opening in browserThe script will:
~/.claude/projects/*/ to find the session's JSONL fileteamName field and enrich with team config from ~/.claude/teams/If the user doesn't provide a session ID, help them find one:
# List recent sessions for the current project
ls -lt ~/.claude/projects/<project>/*.jsonl | head -10
# Search for sessions containing specific content
grep -l "search term" ~/.claude/projects/<project>/*.jsonl
The session ID is the filename without the .jsonl extension.
The generated HTML is a single self-contained file with:
Output files go to .claude/output/ by default.