Render AI session JSONL logs into searchable, shareable single-file HTML viewers.
The materials indicate this is an open-source local session-to-HTML viewer with no required secrets and no declared remote endpoints, so overall risk is low. Caution is warranted because its normal function reads local session JSONL files and generates shareable HTML that may contain sensitive tool inputs/outputs.
The materials state no keys or environment variables are required, and no token configuration is described; there is no direct sign of credential collection or misuse by design.
No remote endpoints are declared; it is described as rendering local JSONL into a single-file HTML viewer, with no evidence in the materials of active networking or sending session data to third parties.
The README shows local execution of a Node TypeScript script to generate/open HTML, and shell commands may be used to locate session files; this is standard local-tool execution capability, with no evidence of system permissions beyond the stated purpose.
This skill reads local session transcripts (e.g. JSONL under ~/.codex, ~/.openclaw, and ~/.claude) and embeds normalized data or raw JSONL into HTML; the README explicitly says tool input/output text is kept in the DOM, so sharing the generated file could expose sensitive content.
The source is an open-source GitHub repository, which is a positive factor for auditability; however, no license is declared, community adoption is 0 stars, and maintenance status is unknown, so trust and ongoing-maintenance signals are limited and the code should be reviewed before use.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "session-viewer" skill from askskill: 1. Download https://raw.githubusercontent.com/openclaw/agent-skills/main/skills/session-viewer/SKILL.md 2. Save it as ~/.claude/skills/session-viewer/SKILL.md 3. Reload skills and tell me it's ready
Convert this Codex session JSONL into a single-file HTML viewer with full-text search, message-role filters, and a shareable page title.
A browser-openable HTML file for searching, filtering, and sharing debugging conversations.
Render this Claude Code session JSONL as an HTML viewer, preserve chronological order, enable keyword search, and highlight user prompts and AI replies.
An HTML transcript page showing the session chronologically with searchable highlighted content.
Convert the OpenClaw and Pi session JSONL transcripts into searchable single-file HTML viewers for team review and sharing.
Multiple standalone HTML viewer files for archiving, searching, and sharing model experiment logs.
Use when asked to view, export, inspect, or share a Codex, Claude Code, OpenClaw, or Pi session transcript in a browser.
When the session path is not known and the agent-transcript skill is available, use it first to find the likely JSONL session:
.agents/skills/agent-transcript/scripts/agent-transcript find \
--query "$USER_GOAL_OR_TITLE $BRANCH_OR_URL" \
--cwd "$PWD" \
--since-days 14
Pick the highest-confidence file result, then render it with session-viewer.
From a repo that has this skill:
node skills/session-viewer/scripts/session-viewer.ts <session.jsonl> --out /tmp/session.html --open
Useful modes:
node skills/session-viewer/scripts/session-viewer.ts <session.jsonl> --out session.html
node skills/session-viewer/scripts/session-viewer.ts <session.jsonl> --raw --out session.html
node skills/session-viewer/scripts/session-viewer.ts --blank --out viewer.html --open
In a downstream repo that syncs shared skills under .agents/skills, replace
skills/session-viewer with .agents/skills/session-viewer.
Defaults:
codex, claude, or pi-openclaw--raw embeds the original JSONL and lets the browser parse it--blank creates a reusable file-picker viewerCodex:
find "${CODEX_HOME:-$HOME/.codex}/sessions" -name 'rollout-*.jsonl' -type f | sort
ls -t "${CODEX_HOME:-$HOME/.codex}"/sessions/*/*/*/rollout-*.jsonl | head
OpenClaw/Pi:
AGENT_ID="<agentId>"
SESSION_DIR="${OPENCLAW_STATE_DIR:-$HOME/.openclaw}/agents/$AGENT_ID/sessions"
ls -t "$SESSION_DIR"/*.jsonl | head
find "${OPENCLAW_STATE_DIR:-$HOME/.openclaw}/agents" -path '*/sessions/*.jsonl' -type f | sort
Use sessions.json in the same directory to map session keys to session ids.
Claude Code:
find "$HOME/.claude/projects" -name '*.jsonl' -type f | sort
ls -t "$HOME/.claude/projects"/**/*.jsonl | head
Some Claude installs also keep exported JSON/JSONL under project-specific cache folders; prefer the newest JSONL with the target repo path in its parent folder.
Scripts are native Node TypeScript. Keep them erasable:
satisfiesImporter ownership:
scripts/importers/codex.ts: Codex rollout JSONLscripts/importers/claude.ts: Claude Code JSONLscripts/importers/pi-openclaw.ts: Pi/OpenClaw session JSONLValidate:
pnpm exec tsgo -p skills/session-viewer/tsconfig.json
node --test skills/session-viewer/scripts/session-viewer.test.ts
scripts/validate-skills
Attach redacted agent transcripts to GitHub PRs or issues for local provenance.
Run cross-platform OpenClaw remote validation with provider and lease reporting.
Run a structured code review before commit or release on local or PR branches.
Write a path-free, clipboard-ready handoff prompt that lets another agent investigate, discuss, or pick up a specific task.
Convert text to speech locally and offline with sherpa-onnx, no cloud needed.
Regenerate OpenClaw release changelog sections from Git history before releases.
Turn local AI coding history into an anonymized developer profile and poster.
Monitor Claude Code sessions with a persistent dashboard, telemetry, and status.
Connect multiple Claude Code sessions to share results and coordinate workflows automatically.
Export and inspect OpenCode coding sessions with redaction and token stats.
Search past Claude Code conversations and track usage costs inside Claude.
Add local persistent memory to Claude Code across sessions.