Gate Build - Compilation validation

VerifiedCaution

Runs configured build and test commands, captures output as evidence. Returns PASS if commands exit 0, FAIL otherwise. Internal gate invoked by verify.

Sby Skills Guide Bot
DevelopmentBeginner
206/2/2026
Claude Code
#build#test#gate#continuous-integration#code-verification

Recommended for

Our review

Runs configured build and test commands and records the results as evidence of pass or failure.

Strengths

  • Quick feedback on compilation and test status
  • Gracefully handles missing commands by skipping them
  • Captures output for later analysis
  • Integrates into a broader verification pipeline

Limitations

  • Only checks build and tests, not code quality
  • Limited to 5 minutes per command, no advanced customization
  • Depends on external configuration (config.json)
When to use it

Use this gate as an initial check in a CI pipeline to validate that the code compiles and tests pass.

When not to use it

Not suitable for complex pipelines requiring multiple build steps or advanced validation.

Security analysis

Caution
Quality score85/100

The skill uses Bash to execute build and test commands defined in a configuration file. While intended for internal use, this could allow execution of harmful commands if the configuration is compromised. There is no explicit validation of command content.

Findings
  • Runs arbitrary commands from config.json using Bash, which could be dangerous if the config file is tampered with or contains malicious commands.

Examples

Verify build and tests
Run the build gate to check that the project compiles and all tests pass.
Check code health
Verify the codebase by executing the build and test commands.
Quick validation
Perform a basic verification of the project with build and test gates.

name: gate-build description: >- Runs configured build and test commands. Captures output as evidence. Returns PASS if commands exit 0, FAIL otherwise. 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. This is the most basic gate — if the code doesn't build or tests don't pass, nothing else matters.

Inputs

  • .specwright/config.json -- commands.build and commands.test
  • .specwright/state/workflow.json -- current work unit for evidence path

Outputs

  • Evidence file at {currentWork.workDir}/evidence/build-report.md
  • Gate status update in workflow.json: PASS, FAIL, or ERROR
  • Console output showing results inline (users see findings, not just badges)

Constraints

Execution (LOW freedom):

  • Read build command from config.json commands.build. Run it. Capture output.
  • Read test command from config.json commands.test. Run it. Capture output.
  • If a command is null/missing, SKIP that check (not FAIL).
  • If both commands are null, gate status is SKIP.
  • Timeout: 5 minutes per command. If exceeded, status is ERROR.

Verdict (LOW freedom):

  • Follow protocols/gate-verdict.md for verdict rendering.
  • Build exit code 0 + test exit code 0 = PASS.
  • Any non-zero exit code = FAIL.
  • Show failing output inline so the user sees what broke.

Evidence (LOW freedom):

  • Follow protocols/evidence.md for file format and storage.
  • Write evidence file with: command run, exit code, stdout/stderr, timestamp.
  • Update workflow.json gates section per protocols/state.md.

Protocol References

  • protocols/gate-verdict.md -- 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 | | Both commands null | Gate status = SKIP | | Command times out (>5min) | Gate status = ERROR with timeout message |

Related skills