/verify -- Verify Changes Before Shipping
Trigger
User asks to validate, check, or verify changes. Also called automatically by /pr and /implement.
Workflow
- •
Check git status for unexpected files:
bashgit status
Ensure no secrets,
.envfiles, orsecrets/directory contents are staged. - •
Validate shell scripts (if any .sh files were changed):
bash# Syntax check bash -n <script.sh> # Lint (if shellcheck is available) shellcheck <script.sh>
- •
Validate Terraform (if any .tf files were changed):
bash# From within the stage directory cd tf/<stage> && terraform validate
Note:
terraform validaterequiresterraform initto have been run. If init hasn't been run, skip this step and note it. - •
Validate JSON (if any .json files were changed):
bashpython3 -c "import json; json.load(open('<file>.json'))"Key files to check:
tf/auto-vars/common.auto.tfvars.json,.claude/settings.json - •
Validate YAML (if any .yaml files were changed):
bashpython3 -c "import yaml; yaml.safe_load(open('<file>.yaml'))" 2>/dev/null || echo "YAML validation requires PyYAML" - •
Run integration tests (if test files exist for the changed area):
bash# Custom stack tests bash tests/test-prepare-custom-stack.sh
- •
Check for common issues:
- •Terraform modules reference pinned versions (
?ref=vX.Y.Z) - •No hardcoded AWS account IDs or GCP project IDs
- •Sensitive variables marked with
sensitive = true - •Shell scripts have
set -euo pipefail
- •Terraform modules reference pinned versions (
- •
Report results -- summarize what passed, what failed, and what was skipped.
Anti-patterns
- •Do not skip verification because "it's a small change"
- •Do not ignore shellcheck warnings without understanding them
- •Do not run
terraform applyas part of verification (useterraform validateorterraform planonly)
Checklist
- •
git statusshows only expected changes - • Shell scripts pass
bash -nsyntax check - • Terraform files pass
terraform validate(if init'd) - • JSON files are valid
- • No secrets or credentials in staged files
- • Integration tests pass (if applicable)