verify-behavior
Skill20 starsChanged 13 days agoMITView on GitHub
Runs a cheapest-first verification ladder (syntactic, then typecheck / build / lint, then execution) and reports an evidence receipt — confirms, contradicts, ambiguous, or null — never a score. Use when a claim or change needs executed proof; triggers on "verify this claim", "prove this behavior", "run this to confirm", "/verify-behavior".
- Pipes a download into a shell
2 other projects use a version of this.
Adopted by
Most recently taken up by
- Codagent-AI/agent-skillstheir own version, first seen Nov 1, 2026
- thinceller/claude-pluginstheir own version, first seen Aug 8, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- Codagent-AI/agent-skills★ 31same name
- thinceller/claude-plugins★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository48 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- skills/workflow/autonomous-workflow/CLAUDE.mdCLAUDE.md
- ideateSkill
- interviewSkill
- playwright-trace-analyzerSkill
- profile-optimizerSkill
- rum-trackingSkill
- screencastSkill
- video-analyserSkill
- youtube-transcriptSkill
- create-skillSkill
- docsSkill
- handoffSkill
- optimize-claude-mdSkill
- persistent-memorySkill
- attach-mediaSkill
- ci-auto-fixSkill
- create-prSkill
- github-actions-authorSkill
- resolve-conflictsSkill
- animations-nativeSkill
- animationsSkill
- behavioral-designSkill
- chartingSkill
- storybookSkill
- uxSkill
- visual-designSkill
- ai-engineeringSkill
- confidenceSkill
- criticalSkill
- impact-mapSkill
- jev-assertSkill
- measurableSkill
- optimize-approachSkill
- polishSkill
- pr-reviewSkill
- review-loopSkill
- tddSkill
- aw-verifySkill
- e2e-testing-mobileSkill
- e2e-testingSkill
- telemetry-verifySkill
- ui-verifySkill
- autonomous-workflowSkill
- aw-create-planSkill
- aw-create-walkthroughSkill
- fix-bugSkill
- implement-suggestionSkill
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 1 is distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 55
Only the output framing differs — see rules/receipt.md.
- Very specific: line 85
Stop at the cheapest tier that can decide the claim — do not escalate to Tier 3 when Tier 1 or Tier 2 already confirms or contradicts it.
- Very specific: line 101
Never assume a tool is globally installed.
- Very specific: line 120
Every run — regardless of tier or mode — produces a receipt: the raw command, its raw output, and one of four verdict tokens.
- Distinctive: line 145
Cheapest-first, always: Never reach for Tier 3 when Tier 1 or Tier 2 already decides the claim.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Verify Behavior
Given a behavioral claim about code, or a change that was just applied, decide the cheapest way to get executed proof, run it in isolation, and report the raw result as a receipt.
This skill is the execution engine six-plus call sites in this repo used to hand-roll independently: "detect the toolchain, run something, read pass or fail." It replaces the ad hoc version in each of those with one shared ladder.
This
SKILL.mdis a thin index. Detailed rules live inrules/*.mdand load on demand.
The execute-not-score boundary
This skill does not score — it never assigns a confidence score and never grades pass/fail against an intent.
It runs a command, captures the raw output, and classifies the result against the claim itself as confirms / contradicts / ambiguous / null.
confidence(code)owns the number — this skill supplies sharper evidence to that gate, it does not replace it.- A calling agent's own grading (e.g.
/fix-bugPhase 7'sFAIL_TO_PASS, theaw-executorPhase 4expectcomparison) stays with the caller — this skill supplies the run-and-observe mechanic underneath that grading, not the grading itself.
See rules/receipt.md for the full contract, including the hard invariant that a null or non-reproducing result drops or contradicts a finding and is never confirmation.
The two consumer shapes
| Shape | Question it answers | Consumers |
| Claim-verification | "Is this specific behavioral assertion true?" — read-only, feeds confidence(code) as Evidence | agents/shared/rules/verification-receipt.md (pr-reviewer Tier 2/3) |
| Change-verification | "Did this applied change produce the expected green/red result?" — a post-apply gate | /fix-bug Phase 7, feature-pr-verifier, aw-executor Phase 4 checks loop |
Both shapes share the same core: toolchain discovery, isolated execution, and the receipt format.
Only the output framing differs — see rules/receipt.md.
Mode Detection
Parse the first token of $ARGUMENTS.
| Mode | Default | Trigger | What it does |
claim | yes | No mode token, or claim | Verify one behavioral assertion. Returns a single receipt. Read-only. |
change | First token change | Verify a just-applied change against an expected outcome. Returns a green/red gate result with the same receipt shape underneath. |
Inputs
claim(claim mode) — the behavioral assertion in prose, e.g. "validateAuththrows on an invalid token."target— the file(s) or symbol the claim or change concerns.expected(change mode) — the expected post-change outcome (e.g. anexpect:string fromchecks.yaml, or "the repro now passes").review_relation—"self"|"cross"|"untrusted"(default"self"for a caller's own branch). Governs the Tier 3 trust split — seerules/isolation-safety.md.caller— the invoking agent or skill, for logging only.
The ladder (cheapest-first)
| Tier | Name | Cost | Example tools |
| Tier 1 | Syntactic | Lowest | grep, ast-grep, Read |
| Tier 2 | Semantic-no-execution | Low | tsc --noEmit, go build/go vet/staticcheck, cargo check/clippy, pyright/mypy |
| Tier 3 | Execution | Highest | Run the covering test, or synthesize and run a minimal repro |
Stop at the cheapest tier that can decide the claim — do not escalate to Tier 3 when Tier 1 or Tier 2 already confirms or contradicts it.
Full per-language mapping in rules/ladder.md.
Workflow
| Phase | Name | Rule file | Gate |
| V1 | Toolchain discovery | rules/toolchain-discovery.md | Discovery order resolved; never assume a global install |
| V2 | Tier selection | rules/ladder.md | Cheapest tier that can decide the claim, per the per-language adapter table |
| V3 | Isolated execution | rules/isolation-safety.md | Throwaway worktree (Tier 3), tracked files never modified, scratch deleted, relation-keyed trust split honored |
| V4 | Receipt | rules/receipt.md | confirms/contradicts/ambiguous/null; null-is-never-confirmation invariant |
| V5 | Report | this file + rules/receipt.md | Claim mode returns the receipt; change mode returns the receipt plus a green/red verdict |
V1 — Toolchain discovery
Resolve what to run before deciding how to run it: checks.yaml first, then the argent-environment-inspector detection pattern, then manifest scripts.
Never assume a tool is globally installed.
See rules/toolchain-discovery.md.
V2 — Tier selection
Walk the ladder Tier 1 → Tier 2 → Tier 3, stopping at the first tier that can decide the claim.
A claim about symbol absence or a missing guard is usually a Tier 1 grep.
A claim about a type contract is usually a Tier 2 typecheck.
A claim about runtime return value, thrown error, or side-effect ordering needs Tier 3.
See rules/ladder.md for the full per-language table.
V3 — Isolated execution
Tier 3 runs in a throwaway worktree, never touches tracked files, deletes its scratch harness after, defaults to no network, and never pipes a remote script into a shell.
Tier 3 is default-on only for the caller's own code (self relation); cross/untrusted callers need an explicit sandbox opt-in.
See rules/isolation-safety.md.
V4 — Receipt
Every run — regardless of tier or mode — produces a receipt: the raw command, its raw output, and one of four verdict tokens.
A null or empty result is dropped or contradicts; it is never read as confirmation.
See rules/receipt.md.
V5 — Report
- claim mode → return the receipt to the caller (typically
confidence(code)Evidence). - change mode → return the receipt plus a green/red verdict against the caller-supplied
expectedoutcome. The caller keeps its own grading semantics on top (e.g.checks.yaml'sexpect:comparison,FAIL_TO_PASS).
Required Reading by Phase
Load on demand — do not preload.
| Phase | Files |
| V1 | rules/toolchain-discovery.md |
| V2 | rules/ladder.md |
| V3 | rules/isolation-safety.md |
| V4, V5 | rules/receipt.md |
| wiring | agents/shared/rules/verification-receipt.md — how pr-reviewer calls this skill |
| diagnose | rules/diagnostic-surface.md |
Core Principles
- Cheapest-first, always. Never reach for Tier 3 when Tier 1 or Tier 2 already decides the claim.
- Never assume a global install. Discover the project's actual toolchain before running anything (
rules/toolchain-discovery.md). - Isolation is not optional for Tier 3. A throwaway worktree, no tracked-file mutation, scratch cleanup, no network by default, never
curl | sh(rules/isolation-safety.md). - Trust is relation-keyed, not caller-configurable. Tier 3 on cross/untrusted code requires an explicit sandbox opt-in; this is a hard safety boundary, not a tuning knob.
- Execute, never score. The receipt reports what happened; it never assigns a confidence number or a pass/fail grade against intent — that stays with the caller.
- Null is never confirmation. A non-reproducing Tier 3 repro or a clean Tier 2 build on a claim asserting a problem exists DROPS or contradicts the finding.
Anti-patterns (one-liners — full list in the rules)
- Escalating straight to Tier 3 for a claim a
grepcould decide. - Assuming
tsc/go/cargo/pyrightis onPATHwithout checking the project's actual toolchain. - Running Tier 3 in the working tree instead of a throwaway worktree.
- Running Tier 3 on cross/untrusted code without an explicit sandbox opt-in.
- Treating a null or empty Tier 3 result as confirming the claim.
- Returning a confidence score or a verdict against intent instead of a receipt.
Definition of Done
- Toolchain discovered per the documented order, never assumed global.
- Cheapest deciding tier used; no unnecessary Tier 3 escalation.
- Tier 3 (if run) executed in isolation, tracked files untouched, scratch deleted.
- Trust split honored — Tier 3 gated by
review_relation. - Receipt returned with a verdict token; null/contradicting results dropped, never confirmed.
- No confidence score or intent-grade emitted by this skill itself.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

