agentleFS
swestfall21swestfall21/claude-skills/verify-by-exercising/SKILL.md

verify-by-exercising

Skill0 starsChanged 4 months agoMITView on GitHub

Verify a change by driving the affected flow end-to-end — run the command, hit the endpoint, render the page — not just typecheck or a green suite. Use before declaring any code change done.

The file

We split this skill into the rules it gives an agent

7 rules. About 0 are common, 7 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈7

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    A CLI change: run the command with the flags the change affects and read its output.

    line 12
  2. Distinctive:

    Verify at the outermost practical layer, not the innermost convenient one.

    line 26
  3. Distinctive:

    Verify the closest layer you *can* reach, and name where verified stops and inferred begins.

    line 33
  4. Distinctive:

    Do not declare a change done on typecheck or compile alone.

    line 44
  5. Distinctive:

    Do not present a green suite as verification without knowing it exercises the change.

    line 45
  6. Distinctive:

    Do not let "hard to run" quietly become "skipped" — name the gap.

    line 46
  7. Distinctive:

    Do not describe expected behavior in words that imply you observed it.

    line 47

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Verify by exercising the change

Compiling, typechecking, and even a green test suite tell you the code is plausible. Verification means observing the changed behavior actually happen. This is the gap where "done" claims most often turn out false.

What counts as verification

  • A CLI change: run the command with the flags the change affects and read its output.
  • An API change: hit the endpoint with a real request and inspect the response.
  • A UI change: render the page or screen and look at it.
  • A data change: query the before and after states and compare.
  • A bug fix: rerun the original reproduction and watch it pass.

The common thread: you observed the new behavior, not a proxy for it.

Tests count only when they exercise the change

A green suite that never enters your changed code proves nothing about it. Before trusting a passing suite as verification, confirm at least one test actually drives the changed path — by adding one that fails without the change, or by checking that an existing test covers the exact branch you touched.

Drive the flow the user will use

Verify at the outermost practical layer, not the innermost convenient one. A unit test on the helper plus a real request through the route is strong; the unit test alone leaves the wiring — where most bugs live — unverified.

When you genuinely can't exercise it

Sometimes the flow needs credentials, hardware, or an environment you don't have. Then:

  • Say plainly that the change is untested end-to-end and exactly why.
  • Verify the closest layer you can reach, and name where verified stops and inferred begins.
  • Tell the user the one command or click that would complete verification on their side.

An honest "untested past the unit level" is a fine report. An implied "works" is not.

Report what you observed

State the command you ran and the output you saw, not just the conclusion. "Ran curl localhost:8080/health — returns 200 with the new version field" is verification the reader can trust and repeat; "the endpoint works now" is a claim.

Non-negotiables

  • Do not declare a change done on typecheck or compile alone.
  • Do not present a green suite as verification without knowing it exercises the change.
  • Do not let "hard to run" quietly become "skipped" — name the gap.
  • Do not describe expected behavior in words that imply you observed it.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.