Run comprehensive project validation including tests, linting, type checking, and build verification. Use after implementation to verify code quality. Triggers on /epic:validate or when user wants to run tests, check types, lint code, verify build, or validate changes before committing.
Limited to specific tools
Additional assets for this skill
This skill is limited to using the following tools:
references/validation-template.mdname: epic-validate description: Run comprehensive project validation including tests, linting, type checking, and build verification. Use after implementation to verify code quality. Triggers on /epic:validate or when user wants to run tests, check types, lint code, verify build, or validate changes before committing. allowed-tools:
Validation phase of the Explore-Plan-Implement workflow. Run comprehensive checks to verify implementation quality.
| Argument | Description |
|---|---|
--fix | Auto-fix linting issues where possible |
--skip-tests | Skip test suite (faster, less thorough) |
1. Locate active workflow: .claude/workflows/*/state.md
2. Detect project type from config files
3. Run validation suite (tests, lint, types, build)
4. Write results to validation.md
5. Update state.md
6. Report pass/fail with actionable details
| Files Found | Project Type | Tools |
|---|---|---|
package.json | Node.js | npm test, eslint, tsc |
Cargo.toml | Rust | cargo test, clippy, build |
go.mod | Go | go test, golangci-lint, build |
pyproject.toml | Python | pytest, ruff, mypy |
Makefile | Make-based | make test, lint, build |
npm test # Node.js
cargo test # Rust
go test ./... # Go
pytest # Python
Capture: total, passed, failed, skipped, failure details.
npm run lint # Node.js
cargo clippy -D warnings # Rust
golangci-lint run # Go
ruff check . # Python
With --fix: add --fix flag to auto-correct.
Capture: errors, warnings, auto-fixed count.
npx tsc --noEmit # TypeScript
mypy . # Python
cargo check # Rust (implicit)
Capture: error count, file:line locations.
npm run build # Node.js
cargo build --release # Rust
go build ./... # Go
Capture: success/failure, duration, output location.
| Check | Status | Details |
|---|---|---|
| Tests | ✓/✗ | X passed, Y failed |
| Lint | ✓/✗ | X errors, Y warnings |
| Types | ✓/✗ | X errors |
| Build | ✓/✗ | Success/Failure |
Overall: PASS (all checks passed) or FAIL (one+ failed)
✓ Validation Complete - PASS
| Check | Result |
|-------|--------|
| Tests | ✓ 42 passed |
| Lint | ✓ Clean |
| Types | ✓ No errors |
| Build | ✓ Success |
Next: Run /epic:commit
⚠️ Validation Complete - FAIL
| Check | Result |
|-------|--------|
| Tests | ✗ 2 failed |
| Build | ✗ Failed |
### Failed Tests
1. `src/auth.test.ts` - "should validate token" - AssertionError
### Build Errors
- Missing module: '@/utils/helper'
Fix issues and run /epic:validate again.
DO:
DON'T:
references/validation-template.md - Validation results template