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 prince-khanna/claude-code-plugins --plugin agent-teamsThis skill uses the workspace's default tool permissions.
Generate a self-contained HTML viewer from Claude Code session JSONL logs.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
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.