rollout-friction

Audit agent rollout and session traces for recurring workflow friction signals.

5|1|Updated May 5, 2026
One-click install
npx skills add https://github.com/cbusillo/codex-skills --skill rollout-friction-cbusillo
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: rollout-friction
Source: https://github.com/cbusillo/codex-skills/tree/main/skills/rollout-friction
Command: npx skills add https://github.com/cbusillo/codex-skills --skill rollout-friction-cbusillo

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Agent coding sessions accumulate hidden workflow friction—repeated failed commands, rate-limit pressure, auto-review loops, and context drift—that is hard to spot by reading raw rollout or session transcripts by hand. This Skill scans local trace files deterministically, groups friction hits into costed episodes and clusters, and produces redacted reports so recurring problems can be routed to the right durable fix. ## Core Features & Use Cases - Deterministic trace scanning: analyze_rollouts.py scans bounded sets of rollout/session files for concrete friction signals such as repeated command failures, GitHub rate limits, auth loops, and stale validation results, with redacted output and explicit scan budgets. - Episode segmentation and clustering: segment_rollout_episodes.py converts line-level hits into costed episodes with outcome metadata, and cluster_rollout_episodes.py collapses them into root-cause clusters with compact redacted trajectory skeletons for review. - Auto-review ledger classification: classify_auto_review_ledger.py distinguishes current-target findings from stale detached auto-review worktree proposals so outdated findings do not block active work. - Optional local LLM review: bounded LM Studio scout and memory-extraction pipelines review redacted findings locally, with strict JSON validation and trusted-endpoint rules. - Use Case: After noticing an agent repeatedly retrying GitHub commands, point the analyzer at the recent Codex sessions directory, cluster the resulting episodes, and receive a proposal classifying the top cluster as rate-limit pressure with a recommended helper fix. ## Quick Start Ask the agent to audit recent rollout session files for workflow friction using the rollout-friction skill, providing the path to your sessions directory.

Frequently Asked Questions about rollout-friction

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

FAQPage Schema
How do I audit agent session traces for workflow friction?

Run analyze_rollouts.py with explicit trace paths or a bounded --root directory, then segment the hits into episodes and cluster them for review. The workflow is read-only and produces redacted findings that require human classification before any durable change.

What friction signals does rollout trace analysis detect?

The analyzer detects repeated command failures, GitHub REST and GraphQL rate-limit pressure, auth and login loops, auto-review cycles, stale validation results, missing tools or dependencies, user context corrections, and agent repetition or stuck-state patterns.

Can I use this with Claude Code transcripts as well as Codex rollouts?

Yes, but with a limitation. The helpers classify tool outcomes from Codex rollout records; for other hosts' transcripts they report text signals only and cannot distinguish failed commands from successful ones, so outcome evidence is reported as unavailable.

When should I not use rollout friction analysis?

Do not use it implicitly or for ordinary debugging; it requires an explicit user request to audit rollout or session files. Also skip the local LLM scout when traces contain secrets, regulated data, or sensitive client identifiers that should not enter model runtime.

Why does the analyzer discard results when a time limit is hit?

A time-limited scan cannot establish complete coverage or absence of friction, so the command exits with status 2 and discards partial results. JSON mode emits ok: false with a scan_time_limit limitation rather than a misleading partial report.