skills/session-usage-dashboard/SKILL.md
Build a secure offline HTML dashboard and JSON summary from Codex and Claude session JSONL logs. Use when the user wants to track agent tool usage, skill invocations, subagent kinds, session harness activity, or usage counts for Codex/Claude runs without exposing raw prompts, tool arguments, or tool outputs.
npx skillsauth add keelim/keelim-skill session-usage-dashboardInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill to inspect the session an agent ran and produce a local usage dashboard. The dashboard helps operate a tighter harness by showing which tools, skills, and subagents were used, how often, and from which runtime.
The generated dashboard is intentionally local-only: a single HTML file with inline CSS and no network communication.
Run the bundled renderer from the repository root:
python3 skills/session-usage-dashboard/scripts/build_session_usage_dashboard.py --current --cwd "$PWD" --out .omx/session-usage/current
Then open the generated dashboard locally:
open .omx/session-usage/current/dashboard.html
For explicit files:
python3 skills/session-usage-dashboard/scripts/build_session_usage_dashboard.py \
--codex-session /path/to/codex-session.jsonl \
--claude-session /path/to/claude-session.jsonl \
--out .omx/session-usage/manual
The renderer writes:
dashboard.htmlsummary.jsonDefault output location is .omx/session-usage/<timestamp>/.
--codex-session or --claude-session paths when the user names a session file.--current --cwd "$PWD" when the user asks for the current or executed session.summary.json when validating exact counts.dashboard.html remains offline-safe.dashboard.html locally for the user. Use open <path-to-dashboard.html> on macOS, or the available local browser/file viewer in other environments. Do not serve the file over HTTP just to view it.response_item.payload.type=function_call and custom_tool_call.$skill and [$skill] mentions in user messages.session_meta.payload.thread_source=subagent and session_meta.payload.source.subagent.type=tool_use.attributionSkill.attributionAgent, isSidechain, and Agent tool input subagent_type.Treat unknown or changed JSONL fields as warnings, not fatal errors.
Never include raw prompts, user message bodies, tool arguments, command output, tool result content, stack traces, or model reasoning text in either output file.
Generated HTML must satisfy:
fetch, XMLHttpRequest, WebSocket, EventSource, or beacon usage.connect-src 'none'.If a generated dashboard fails the security checks, fix the script before sharing the output.
Use references/lazyweb-dashboard-notes.md for dashboard layout guidance. Lazyweb may inform the design before generation, but do not embed Lazyweb image URLs, screenshot URLs, or any remote asset in the HTML.
Run:
python3 skills/session-usage-dashboard/scripts/test_build_session_usage_dashboard.py
env PYTHONPYCACHEPREFIX=.omx/pycache python3 -m py_compile skills/session-usage-dashboard/scripts/build_session_usage_dashboard.py skills/session-usage-dashboard/scripts/test_build_session_usage_dashboard.py
python3 /Users/keelim/.codex/skills/.system/skill-creator/scripts/quick_validate.py skills/session-usage-dashboard
git diff --check
tools
Use when writing first-person technical posts in a personal engineer voice, especially build logs, case studies, workflow write-ups, or series posts about tools, systems, and engineering habits.
documentation
Capture session observations through opt-in hooks, review learning candidates, and promote stable lessons into AGENTS.md, README.md, skills, or docs without letting hooks mutate canonical project files directly.
tools
Use when preparing a date-based Android release from develop to main, updating versionCode, aligning an existing release PR with recent conventions, or dispatching app_deploy through GitHub Actions.
tools
Read Jira tickets through Atlassian MCP, merge local handling rules for intentionally ignored or deferred work, optionally consult Lazyweb for desktop dashboard design references, and render a secure offline pure HTML personal ticket desk from a reusable template plus replaceable JSON data. Use when the user wants to review, triage, plan, or report on Jira tickets without mutating Jira.