verify
Verify a requested change or claim with fail-first evidence, targeted checks, live output, and exit codes. Use for 'çalışıyor mu', 'testleri çalıştır', 'doğrula', 'kanıtla', and before declaring a bug
SKILL.mdskills/verify/SKILL.md
GitHubVerify
Localize → red → minimal approved change → same command green. “Verified” without this turn's tool output is a failure. A verification request is not authorization to change code: diagnose and report unless implementation was separately requested or approved.
Fail first (before production edits)
- Name 1–3 files.
grep/findthe symptom. Do not dump the tree. - A command that is red for the right reason:
- Bug: existing test, type error, repro script, or curl that shows the bug.
- Feature: a new test that fails because the feature is missing (allowed).
- Show that red (first failure). If you cannot get red, you do not understand the task — do not guess a patch.
Skip fail-first only when the user named a copy/docs hunk, already pasted this turn's red stack, or the target state cannot meaningfully fail first (for example, a read-only environment check). State the reason and use the narrowest direct proof.
Patch
Only after implementation is separately authorized: make the smallest change that addresses the demonstrated cause. Re-run the same command; it must go green. If a cheap regression check exists for the affected file or package, run it. Do not stack another fix on a broken attempt: revert a regressing patch before trying a new hypothesis.
Tests (two directions — do not conflate)
- You MAY add tests that would fail without your change.
- You MUST NOT weaken, skip, delete, or rewrite existing assertions to get green.
- You MUST NOT change production to match a wrong test.
- You MUST NOT hide the real test in
/tmp. - If a test blocks you and you think the test is wrong: stop. Tell the user. Do not edit it unless they changed the spec this turn.
Revert test
One line: which assertion or type error goes red if this diff is undone. If you cannot name it, you are not testing the change — add a test (allowed) or say untested.
Command selection
- Project
AGENTS.mdverification instruction. - The narrowest behavior-level command (
pytest path::name,go test ./pkg -count=1,cargo test name,npm test -- path). - The documented project command from
package.json, Makefile, justfile, or README.
Run the smallest command that proves the requested behavior, then the cheapest relevant regression check. Lint, type-check, formatting, screenshots, and health checks are complementary evidence, not interchangeable proof.
Run
- State the command.
bashit.- First failure + summary. Not a wall.
- Red after a patch: one cause, change the code or the hypothesis. Same command + args twice max.
- Cannot run →
blocked+ the command. Do not claim done. - Flake: re-run once. Still red/green flip → report flake, not pass.
Close
Report: exact command and exit code; red and green evidence (or stated exception); what behavior the check covers; revert test; and untested risk. UI/CSS needs visual evidence at the relevant viewport. Docs/JSON need the written region read plus a parser or schema check when available. A passing command may not prove a deployment, migration, external integration, or security property; name that limit.