| 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:
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. 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-code-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.
Call attempt_completion with:
- file path where report was saved
- brief status (pass/fail/partial/blocked)
- recommended next command
Do NOT use ask_followup_question or write results as plain text without calling the tool.