What problem does it solve? Agents repeatedly run full test suites locally — the agent's run, then a gate's run, then CI's run — all proving the same commit and burning time and tokens. This Skill enforces a test-run economy: run the modified surface and its consumers once, leave the full suite to CI, and only fall back to local gates when CI is dead. ## Core Features & Use Cases - Runner detection and classification: Recognizes pytest, unittest, dotnet test, npm/yarn/pnpm/bun test, jest, vitest, playwright, go test, cargo test, mvn, gradle, mix, phpunit, rake, and swift test, classifying each invocation as full or filtered based on selectors like paths, -k, --filter, and -run. - Per-session budget with escalation: A PostToolUse hook counts full-suite runs per project per session, fires an advisory nudge on the run past the budget (3rd by default), and escalates to a STOP message from the escalation bar (5th by default). - CI-aware guidance and gate detection: The nudge message names detected local gate wiring (lefthook, pre-commit, husky, git pre-push hooks) so the CI-dead branch is actionable, and deliberate flake diagnosis is the one exempted repetition. - Use Case: While fixing a bug, you run the full pytest suite three times in one session; the hook emits an additionalContext message telling you to run only the touched surface locally and read CI's verdict instead. ## Quick Start Ask the agent to fix a failing test and let the PostToolUse hook automatically count your test runs and warn you if full-suite runs repeat past the session budget.