Our review
Runs configured build and test commands, captures output, and determines whether the code compiles and tests pass.
Strengths
- Automated and reproducible build/test verification
- Captures evidence in a structured report file
- Handles missing commands and timeouts with appropriate statuses
Limitations
- Requires prior configuration in config.json
- Only supports single commands (no complex pipelines)
- Error output can be lengthy and hard to parse
Use this gate after code modifications to ensure the project still builds and tests pass.
Do not use for checks requiring human judgment or validations unrelated to building and testing.
Security analysis
CautionThe skill executes build and test commands defined in a config file using Bash, which could be abused if the configuration is compromised. However, it is intended as an internal gate and does not directly prompt for destructive or exfiltration actions.
- •Runs user-configurable shell commands via Bash; potential code injection if config.json is tampered with.
- •Uses Bash, a powerful tool that can execute arbitrary commands.
Examples
Verify the build and tests to ensure the project compiles and all tests pass.Run the build gate to check if the code compiles, but skip the tests.Execute the test command defined in config to confirm the unit tests pass.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.buildandcommands.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.jsoncommands.build. Run it. Capture output. - Read test command from
config.jsoncommands.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.mdfor 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.mdfor file format and storage. - Write evidence file with: command run, exit code, stdout/stderr, timestamp.
- Update
workflow.jsongates section perprotocols/state.md.
Protocol References
protocols/gate-verdict.md-- default-FAIL, self-critique, visibilityprotocols/evidence.md-- evidence storage and freshnessprotocols/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 |
TDD Red-Green-Refactor
Testing
Skill that guides Claude through the complete TDD cycle.
Web Accessibility Audit
Testing
Performs a comprehensive web accessibility audit following WCAG standards.
UAT Test Case Generator
Testing
Generates structured and comprehensive user acceptance test cases.