core/skills/gate-build/SKILL.md
Runs configured build and test commands in tiered order. Captures output as evidence per tier. Returns PASS, FAIL, WARN, or SKIP based on per-tier verdicts. Internal gate — invoked by verify, not directly by users.
npx skillsauth add obsidian-owl/specwright gate-buildInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Confirm the codebase compiles and tests pass across all configured tiers. This is the most basic gate — if the code doesn't build or tests don't pass, nothing else matters.
{projectArtifactsRoot}/config.json -- commands.build, commands.test,
commands.test:integration, commands.test:smoke{repoStateRoot}/work/{selectedWork.id}/workflow.json -- selected work unit for evidence path{workDir}/evidence/build-report.mdworkflow.json: PASS, FAIL, WARN, or SKIPTiered Execution (LOW freedom):
Run tiers in execution order: commands.build → commands.test →
commands.test:integration → commands.test:smoke. Each tier runs only if the
previous tier passes (any tier failure stops further execution).
Per-Tier Verdicts (LOW freedom):
| Tier | Failure verdict |
|------|----------------|
| commands.build | FAIL |
| commands.test | FAIL (test failure = FAIL) |
| commands.test:integration | FAIL (integration failure = FAIL) |
| commands.test:smoke | WARN (smoke produces WARN on failure — charter exception: quality gates default to FAIL: smoke tests validate optional end-to-end paths; degraded smoke is advisory, not blocking) |
Unconfigured tier = SKIP.
Evidence (LOW freedom):
Follow protocols/evidence.md. Evidence starts with a tier layout header
summarizing configured tiers and their run order. Each tier produces its own
evidence section containing: command executed (capture command run), exit code,
stdout/stderr output, and duration (elapsed wall time). Per-tier sections are
written regardless of tier outcome.
protocols/evidence.md#verdict-rendering for verdict rendering.workflow.json gates section per protocols/state.md.protocols/evidence.md#verdict-rendering -- default-FAIL, self-critique, visibilityprotocols/evidence.md -- evidence storage and freshnessprotocols/state.md -- gate status updates| Condition | Action | |-----------|--------| | Build command not configured | SKIP build check, continue to test check | | Test command not configured | SKIP test check | | test:integration command not configured | SKIP integration tier, emit INFO note | | test:smoke command not configured | SKIP smoke tier, emit INFO note | | All tier commands null | Gate status = SKIP | | Command times out (>5min) | Gate status = ERROR with timeout message | | test:integration failure | FAIL verdict (integration failures block ship) | | test:smoke failure | WARN verdict (smoke is advisory; see charter exception: quality gates default to FAIL) |
testing
Explicitly adopt an existing work into the current worktree after validating live ownership, stale sessions, and branch consistency.
testing
Orchestrates quality gates for the current work unit. Runs enabled gates in dependency order, produces an aggregate evidence report with gate handoff.
tools
Syncs the local repository by fetching all remotes, updating the base branch, and removing stale local branches that are not protected by live sessions or helper worktrees.
data-ai
Shows current Specwright state for this worktree, the attached work, repo-wide active works, gate results, and lock status. Supports --reset, --cleanup, and --repair {unitId}.