← ClaudeAtlas

rule-local-firstlisted

Verification happens on this machine, in a browser you drive, before anything is pushed. Covers the local gate, the batched publish cadence, why GitHub Actions is not the gate, and why a restored browser session fakes a pass. Load before verifying, before pushing, and before any visual check.
djnsty23/claude-auto-dev · ★ 3 · Code & Development · score 65
Install: claude install-skill djnsty23/claude-auto-dev
# Local-first verification Portable copy of `~/.claude/rules/local-first.md`, which is `@`-imported on the Windows box and therefore invisible to any other machine. Keep the two in sync. Two passages are host-specific and named as such where they appear: the `ClaudeMemorySync` scheduled task and the per-repo gate names. Added 2026-08-21, on Andy's instruction: *"always test locally and run visual checks in Claude's browser… no more pushes, no more GitHub Actions."* ## The gate is a local run you watched A change is done when it ran on this machine and you looked at it. Not when a workflow went green, not when a deploy succeeded, and not when the diff reads correctly. For anything with a UI, in this order: 1. Run it locally through `preview_start` with a `.claude/launch.json` entry — never a dev server backgrounded through Bash, which nothing then owns or stops. 2. Size the viewport first (see below), then drive the real surface: `navigate`, `read_page`, click the actual controls rather than calling internal functions. 3. Read `read_console_messages` and `read_network_requests` before claiming anything. 4. Screenshot at 390 and 414, per `agent-quality.md` 10b. 5. Then say it works. For anything without a UI, the local gate is the project's own checks — typecheck, build, tests, preflight — run here and read here. **The gate has one name: `npm run gate`**, or `npm run preflight` in a repo that already uses that name. One command, chained with `&&`, covering exactly