Levels of CI - a full guide for making your GitHub Actions cheaper and faster 👇🏾
Level 1: use Actions cache
cache every dependency install, keyed on the lockfile so it actually hits.
🔗 Docs:
🔗 Agent prompt:
Level 2: swap runners
get faster, cheaper machines by changing the runs-on label. Your workflows, triggers, and checks stay exactly as they are.
🔗 Runner comparison:
🔗 Right-size runners:
🔗 Cut queue time:
🔗 Runners that automatically adapt:
Level 3: optimize your tests and workflows
cache dependencies and builds, split long suites across parallel jobs, skip work a change can't affect, cancel runs a newer push replaced.
Skills:
🔗 ci-speedup (
@starslingdev):
🔗 ci-cd-and-automation (
@addyosmani):
🔗 test-audit (
@steipete):
Posts and guides:
🔗 18 best practices (agent-friendly):
🔗 16 optimization recipes (agent-friendly):
🔗 Where your CI money goes (prompt):
🔗 Why your CI is slow (prompt):
Do all the above, or just let StarSling agents ship PRs like these for you:
Level 4: switch CI engines
Meta and Google built Buck2 ( and Bazel ( for aggressive caching and test selection, so each PR runs only the tests relevant to its change. A custom engine controls the whole execution layer, which gives you a much larger surface to optimize.
Options for engines:
🔗 Dagger (
🔗 Buildkite (
🔗 Depot CI (
🔗 CircleCI (
🔗 GitLab CI (
Level 5: throw out CI engines entirely
A few different approaches are being discussed that were never possible pre-AI. This is the future:
1. Agent-driven test selection.
"My plan is to let codex decide which tests actually need to run and drastically nix CI and run tests hourly."
@steipete (
2. CI after merge with auto-remediation.
"have something that is running actual functional tests off of your master branch on a cron, and then if any regressions occur, automatically have an LLM bisect and figure out the bug and then patch it..."
@yacineMTB (
3. Agents replace CI: a verification agent that writes just-in-time tests for each change.
@Meta's research:
Most teams are somewhere between Level 2 and 3. Figure out which level you're at and give your agent this full post: