profile-session

Attributes session wall-clock time to activity categories from Claude Code and Codex transcript timestamps.

6|Updated Mar 27, 2026
One-click install
npx skills add https://github.com/greglas75/zuvo --skill profile-session-greglas75
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: profile-session
Source: https://github.com/greglas75/zuvo/tree/main/skills/profile-session
Command: npx skills add https://github.com/greglas75/zuvo --skill profile-session-greglas75

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When an AI coding session feels slow, teams guess at the cause and often optimize the wrong thing. This Skill answers "why was that session slow?" by measuring the transcript's own timestamps instead of guessing, attributing every gap to the activity that caused it and naming the exact commands behind the biggest delays. ## Core Features & Use Cases - Wall-clock attribution: Reads Claude Code session JSONL and Codex rollout JSONL, charging each time gap to categories like tests/build, subagent dispatch, adversarial review, model thinking, stalls, and user-away time. - Ranked gap analysis: Reports the top 20 individual gaps with timestamps and the specific command or prompt that preceded each, so findings are actionable rather than aggregate. - Token accounting: Emits a reproducible tokens block that correctly handles the opposite cache semantics of Claude and Codex usage records, plus sub-agent spend reported separately. - Use Case: After a pipeline felt sluggish, run --compare on two transcripts from before and after a fix to verify the change actually moved the category it was supposed to move. ## Quick Start Ask the agent to profile the most recent session transcript and explain where the wall-clock time went, using the profile-session skill with --last.

Frequently Asked Questions about profile-session

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I find out why my Claude Code session was slow?

Run the profiler on the session's JSONL transcript with --last or an explicit path. It attributes each time gap to categories like tests/build, subagent dispatch, or model thinking, and lists the biggest individual gaps with the commands that caused them.

How to compare two AI coding sessions before and after a fix?

Use --compare with two transcript paths to profile both and print category totals side by side with deltas. The report states plainly whether the change moved the category it targeted, since a total drop without a category shift means something else changed.

Does session profiling work with Codex rollout transcripts?

Yes, the profiler reads both Claude Code session JSONL and Codex rollout JSONL. It handles their opposite token cache semantics explicitly, since Codex input_tokens includes cached tokens while Claude's usage fields exclude them.

Why does the skill refuse to profile the same transcript twice?

It hashes the transcript's real path plus window bounds into a run key and checks for an existing report before analyzing. This prevents duplicated 25-45 minute analyses when the same transcript is invoked from different project directories; use --force to override.

What are the limitations of transcript-based session profiling?

Gaps are charged to whatever ran immediately before them, so long stalls are bounded and bucketed as unexplained rather than proven API stalls. If the transcript carries no usage records, token counts are reported as unknown rather than estimated.