verification-stack
Use when running verification pipelines, checking test/lint/type status, or ensuring code quality gates pass before completing work
Installation
Suivez les instructions du dépôt pour votre agent. Consultez les fichiers et dépendances avant l’installation.
Voir la source ↗GuidesInstructions
Verification Stack
Verification-driven development uses automated checks as gates instead of manual approval. This skill teaches the verification pipeline that enables autonomous development.
Core Principle
Asymmetry of Verification: Many tasks are easier to verify than to solve. Software development is highly verifiable through:
- Tests (unit, integration, e2e)
- Linters and formatters
- Type checkers
- Build systems
- Security scanners
The Verification Pipeline
Run checks in this order (fast-fail):
# 1. Format (auto-fix)
uv run ruff format .
# 2. Lint (auto-fix where possible)
uv run ruff check . --fix
# 3. Type check
uv run mypy src/
# 4. Tests (fast subset first)
uv run pytest tests/ -x --tb=short
# 5. Full test suite
uv run pytest tests/ --cov=src/
# 6. Security (optional)
uv run bandit -r src/ --severity-level high
One-Command Verification
Create a verification script for the project:
#!/bin/bash
# scripts/verify.sh
set -e
echo "=== Formatting ==="
uv run ruff format .
echo "=== Linting ==="
uv run ruff check . --fix
echo "=== Type Checking ==="
uv run mypy src/
echo "=== Tests ==="
uv run pytest tests/ -x --tb=short
echo "=== All checks passed ==="
Run with: bash scripts/verify.sh
Language-Specific Stacks
Python (uv + ruff + mypy + pytest)
uv run ruff format .
uv run ruff check . --fix
uv run mypy src/
uv run pytest tests/ -x
TypeScript (pnpm + eslint + tsc + vitest)
pnpm format
pnpm lint --fix
pnpm typecheck
pnpm test
Go
go fmt ./...
golangci-lint run --fix
go build ./...
go test ./...
Verification as Gate
The key insight: verification replaces permission prompts.
Instead of:
Claude: "Can I proceed with implementing this feature?"
Human: "Yes"
Use:
Claude: [implements feature]
Claude: [runs verification]
Verification: PASS → proceed
Verification: FAIL → fix and retry
Handling Failures
When verification fails:
- Read the error output - Don't guess, analyze the actual failure
- Fix the specific issue - Make targeted changes
- Re-run verification - Confirm the fix works
- Continue - Move to next task only when green
Common Failure Patterns
| Failure | Fix |
|---|---|
| Lint: unused import | Remove the import |
| Type: missing return | Add return type annotation |
| Test: assertion failed | Fix logic or update test |
| Format: style violation | Auto-fix handles this |
Pre-Commit Integration
Add verification as git hook:
# .pre-commit-config.yaml
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.4.0
hooks:
- id: ruff
args: [--fix]
- id: ruff-format
Continuous Verification
In autonomous workflows:
- Before starting: Check baseline is green
- After each change: Run relevant subset
- Before closing Bead: Run full suite
- Before merge: Run full suite + integration tests
# Quick check during development
uv run pytest tests/test_specific.py -x
# Full verification before closing Bead
uv run ruff format . && uv run ruff check . --fix && uv run mypy src/ && uv run pytest tests/
Exemples
Consultez les exemples du dépôt source.
Voir la source ↗Historique source
- Date d’indexation
- 2026-01-20
- Mise à jour de l’index
- 2026-02-03
- Branch
- main
Les dates concernent ce répertoire. Consultez le dépôt pour l’historique du code.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!