Skip to content
Development
Skill

/gate-build

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.

From plugin
specwright
1023 skills9 agents18 commands

Claude Code

$ npx -y skills add Obsidian-Owl/specwright --skill gate-build --agent claude-code

SKILL.md

gate-build.SKILL.md
name: gate-build
description: >-
  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.
allowed-tools:
  - Read
  - Bash
  - Glob
  - Write

Gate: Build

Goal

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.

Inputs

  • `{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

Outputs

  • Evidence file at `{workDir}/evidence/build-report.md`
  • Gate status update in the selected work's `workflow.json`: PASS, FAIL, WARN, or SKIP
  • Console output showing results inline (users see findings, not just badges)

Constraints

**Tiered 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).

  • If a tier's command is null or not configured, that tier produces SKIP. Emit

an INFO note for each unconfigured tier — visibility rule: display the unconfigured tier name so users know what was skipped.

  • If all tier commands are null/unconfigured, gate status is SKIP.
  • Timeout: 5 minutes per command. If exceeded, status is ERROR.

**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.

  • Follow `protocols/evidence.md#verdict-rendering` for verdict rendering.
  • Update the selected work's `workflow.json` gates section per `protocols/state.md`.

Protocol References

  • `protocols/evidence.md#verdict-rendering` -- default-FAIL, self-critique, visibility
  • `protocols/evidence.md` -- evidence storage and freshness
  • `protocols/state.md` -- gate status updates

Failure Modes

| 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) |

Read more
@obsidian-owl
Ships withspecwright

Craft quality software with AI discipline. Spec-driven development plugin for Claude Code and Opencode — quality gates, adversarial testing, and evidence capture.

1023 skills9 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
10
Star history of Obsidian-Owl/specwright on GitHub, a chart by star-history.com

Other skills on specwright.

gate-security

gate-security

Detects leaked secrets, injection patterns, and sensitive data exposure across changed files. Uses real tooling when configured,…

gate-semantic

gate-semantic

Tiered semantic analysis of changed code (rg → ast-grep → OpenGrep). Detects error-path bugs structural gates miss. Findings…

gate-spec

gate-spec

Maps every acceptance criterion from the spec to implementation evidence and test evidence. Criteria without evidence fail. The…

gate-tests

gate-tests

Audits test quality — assertion strength, boundary coverage, mock discipline, error path testing. Delegates to the tester agent…

gate-wiring

gate-wiring

Detects unused exports, orphaned files, architecture layer violations, and circular dependencies across changed files. Delegates…

sw-adopt

sw-adopt

Explicitly adopt an existing work into the current worktree after validating live ownership, stale sessions, and branch…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about gate-build.

Which coding agents can use gate-build?
gate-build installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.