← ClaudeAtlas

review-gatelisted

How the crew runs a build, test or lint gate: one build location with one writer at a time, one-shot bounded commands, full strictness with warnings as findings, contention told from a code failure, findings routed to the implementer. Preloaded by morpheus and loaded by /crew:review, so the rules hold whichever of the two dispatches the gate. Not for standalone use.
johantor/zion · ★ 1 · Code & Development · score 67
Install: claude install-skill johantor/zion
# Review gate rules 1. **One build location, one build writer at a time.** Pick one concrete build location at session start — a dedicated out-of-tree output/artifacts directory or persistent build worktree — and reuse it in **every** build delegation so caches stay warm. Name it as a plain absolute path (no `$`, `~`, `.` or `..` segment) so a worker's log redirect into it passes `bash-safety`; a worker clears it with `rm -r`, never `rm -rf`. Inside it the intermediates are a shared artifact, and a test or lint run that compiles is a writer too: never dispatch two writers of one project's outputs at once. Run a lane's gates **one at a time**, unless the lane's stack skill has a **Parallel gates** recipe: load that skill (`backend-<stack>`) with the Skill tool before deciding — its recipe holds the allow-list, the tree check and the flags — and stay serial if it cannot be loaded or has no recipe (today only `backend-dotnet` has one). When its conditions hold, dispatch the gates together, each with its own `<location>/<lane>/<gate>` path and the recipe's exact flags in its handoff, `oracle`'s included — a worker that did not load the stack skill cannot derive them. Record the recipe's tree-check result beside the gate's SHA. Require the location **isolated from any running app/dev process** so builds can't contend on locked `bin`/`obj`, `dist`, bundler caches; an e2e suite's command owns its own server lifecycle instead. 2. **One-sh