verify-build — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited verify-build (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
The single objective gate every branch passes before merge. It exists to kill the "looks done" failure: a build ships only when the gate is green, not when an agent says it's finished.
The rule: no branch merges to `main` without a PASS verdict from this skill. The agent that wrote the code does NOT get to wave it through (maker ≠ checker).
cd packages/crm && node --import tsx --test tests/unit/<area>/*.spec.ts PASS = fail 0. Use node --import tsx, not bare tsx (the @/ alias needs the import hook).
packages/crm/node_modules/.bin/tsc -p packages/crm/tsconfig.json --noEmitPASS = 0 NEW errors. The ONLY allowed baseline is the ~10 pre-existing .next/types/validator.ts React-19 generated artifacts (already ignoreBuildErrors-ed). Any other error = FAIL.
bash scripts/check-use-server.sh srcPASS = clean (every "use server" module exports only async functions).
packages/crm/drizzle/meta/_journal.json gained exactly one appended entry (the new tag) and the journal check reports 0 orphans.⚠️ The drizzle dir has pre-existing un-journaled .sql files with colliding numbers (0025/0026/0027/0028…). These are known cruft. Judge by the journal append + the new migration being additive, NOT by cat 00NN_*.sql (which globs the orphan too).
git diff --name-only origin/main..HEAD | grep -E '<forbidden paths>' → must be empty. Common forbidden sets: workspace booking (bookings/actions.ts, bookings/create-for-customer.ts, bookings/providers.ts); messaging confirmation (messaging/skills/booking-confirmation.ts, messaging/dispatch.ts); email/sms paths when the change shouldn't touch them.
This is the one block that turns repetition into progress. Without it a loop bills you in silence (the "Ralph Wiggum" early-exit — an agent declares done on a half-finished job). With it, the maker can be fast + cheap because the gate is strict + independent. Prove it manually a few times, then it becomes the verifier inside /ship-feature and the heartbeat of a scheduled green-main guardian.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.