← ClaudeAtlas

profile-sessionlisted

Answers "why was that session slow?" from the agent transcript's own timestamps. Attributes wall-clock time to categories (tests/build, subagent dispatch, adversarial review, model thinking, stalls, user-away), ranks the biggest gaps, and names the specific commands behind them. Reads Claude Code session JSONL and Codex rollout JSONL. Modes: [transcript], --last, --skill <name>, --since <iso>, --compare <a> <b>.
greglas75/zuvo · ★ 6 · Code & Development · score 78
Install: claude install-skill greglas75/zuvo
# zuvo:profile-session — Where a session's wall-clock actually went Sessions get slow for boring, measurable reasons: a full suite re-run per task, four-minute adversarial passes that fired ten times, a sub-agent nobody was waiting on, an API stall. Guessing at which one is expensive — the 2026-07 pipeline forensics measured 28 sessions and found the dominant cost (thread-polling dead-air, ~88h) was **not** the one everyone blamed (adversarial review, 38 minutes total across all 28). This skill measures instead of guessing. It reads the transcript's timestamps, charges each gap to the activity that preceded it, and reports the ranked truth. **Scope:** wall-clock attribution for a single session, or a comparison of two, plus the token totals the profiler computes (`tokens` block). **Out of scope:** per-file / per-include context budgeting (`zuvo:context-audit`), skill quality (`zuvo:skill-eval`), fleet-wide trends (`~/.zuvo/runs.log` + `zuvo:retro`). ### Tokens come from the script or they do not get reported This line used to read *"Out of scope: token cost"*, and the profiler computed none — so every run asked for a token breakdown produced one **by hand**. Five profiles of the SAME Codex session then reported gross 202,362,002 vs 203,519,738, model calls 1,395 vs 1,406, and a "strict lower bound" for polling of **45 / 55 / 83 / 396 / 400** calls — a 9x spread, each figure labelled `[M] MEASURED`. The trap is not carelessness, it is the data: **the two transcript forma