perf-budget-checklisted
Install: claude install-skill bakw00ds/yakos
# Perf Budget Check
## Purpose
Gate a PR on performance: pull Core Web Vitals (LCP, INP, CLS) and
bundle-size measurements for the head ref, compare against the
project's declared budget AND against `main`, and emit a
pass/fail report. Used by `performance-engineer` and the frontend
build pipeline to keep regressions out of `main`.
## Scope
- Reads the perf budget from `perf-budget.yaml` (default at repo
root; configurable with `--budget`).
- Reads a Lighthouse / WebPageTest / RUM-export JSON report for the
head ref (path via `--report`, default
`work/current/perf/head.json`).
- Optionally reads the same report shape for `--base`
(`work/current/perf/base.json`); if absent, falls back to
budget-only comparison.
- Walks `dist/` (or the configured build output) for bundle-size
diff against `--base`'s build.
- Emits a markdown report and exits non-zero on any budget breach.
## When to use
- As a CI gate on every PR that touches `web/`, `app/`, or the
build config.
- Before a release, against `main` vs the last release tag, to
confirm release-on-release perf hasn't drifted.
- Manually, when a developer suspects a recent change made the app
feel slower.
## When NOT to use
- For server-side latency (p50/p99 API). That's a separate skill;
use the project's APM dashboard or `loadtest-baseline`.
- On a non-production-like build. Lighthouse on a `dev` build is
meaningless — the skill refuses to run if `NODE_ENV != production`
in the report metadata.
- For