What problem does it solve?
Pull request CI in this repository is slow, and it is hard to tell whether the bottleneck is runner queue contention, long test jobs, or workflow misconfiguration. This Skill collects per-job and per-step timing data from GitHub Actions, separates queue time from execution time, and turns the findings into a ranked report plus concrete, low-risk fixes.
Core Features & Use Cases
- CI data collection: A bundled Python script snapshots the last ~200 completed PR workflow runs via the GitHub API, capturing per-job execution seconds, wait-from-run-start, per-step timings, and pytest --durations and summary lines mined from Build test-job logs.
- Structured analysis: Computes queue vs execution splits, critical paths per workflow, slowest tests, suite-size growth trends, cancelled-run waste, and p90 step-level variance such as erratic full-history git checkouts.
- Report and fix workflow: Rewrites design/ci-perf/report.md each run, maintains a permanent prs.md ledger, prepares safe fixes (workflow hygiene, trivial test fixes) as a single PR, and files ripe structural proposals as issues for maintainer decision.
- Use Case: A maintainer notices PR checks taking 40 minutes. Run the skill to discover that queue contention and a 42-second docker fixture test dominate, then ship one PR adding pytest --durations, marking the slow test, and trimming unneeded fetch-depth: 0 checkouts.
Quick Start
Ask the assistant to run the CI performance report for this repository, for example: run the ci-perf analysis and tell me where our PR wall-clock time is going.