| name | verify |
| description | Run the smallest useful checks for the current change and report exactly what passed, failed, was partial, or was blocked. |
Verify
Purpose: answer what checks actually passed. Never claim verified unless commands ran and passed.
1. Inspect project type
Look for obvious build/test config before choosing commands:
package.json
pyproject.toml
Cargo.toml
go.mod
- other build, lint, or test config in the changed area
2. Inspect changed files
Run via Bash:
git status --short
git diff --stat
git diff --cached --stat when staged changes exist
3. Pick smallest useful checks first
Prefer, in order:
- targeted test for the changed area
- related test file
- typecheck
- lint
- build
- full test suite only when appropriate
Use package scripts and project conventions when available. If the user provides a command, prefer it unless unsafe.
4. Run checks
Run the chosen commands via Bash. Capture enough output to prove pass/fail without dumping noise.
If no verification command is available, report blocked.
5. Output format
## Verification result
Status: pass | fail | partial | blocked
## Commands run
- `<command>` — pass/fail
## Evidence
<short summary of relevant output>
## Remaining risk
<what was not checked>
## Recommended next step
<none | /zoo-review | /zoo-tweak | /zoo-tdd | /zoo-fix | /zoo-commit-and-document>
Hard rule: never say verified, all good, or tests pass unless commands actually ran and passed.
If no checks are available, use:
Status: blocked
Reason: no verification command found
Do not auto-launch any follow-up command.
6. Complete
Write the full verification report to .scratch/zoo-verify/<date>/zoo-verify-<slug>.md via Write.
COMPLETION PROTOCOL: Your final text message is your return value. Output this summary, then STOP — do not call any more tools.
- file path where report was saved
- brief status (pass/fail/partial/blocked)
- recommended next command
Context economy
Before broad reads, locate relevant files/symbols with Glob, Grep, or targeted file reads.
Prefer targeted Read with line ranges or block reads once the relevant area is known.
Read full files only when structure, ordering, or surrounding context is required for correctness.
Do not re-read unchanged files; use prior findings unless the file changed.
Use git status --short, git diff --stat, and targeted git diff -- <file> rather than dumping the full repo diff at once.