mcpField
V
verify

verify

github.com/playful-designTesting & quality1684 installsUpdated 1w ago
Repository

About verify

verify is a skill for checking whether UI or behavior changes work in the running result before calling them done. It guides developers through reproducing issues, inspecting the full affected surface, and reporting checks and gaps.

Key features

  1. 01Reproduce the issue before editing
  2. 02Inspect the reloaded running result
  3. 03Test newly added controls
  4. 04Investigate repeat reports at the cause
  5. 05Report checks and unverified gaps

Use cases

  1. 01Verify a UI change after implementation
  2. 02Recheck a reported issue in the running app
  3. 03Review whether a new control responds
  4. 04Report a change that could not be tested

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/playful-design/router --skill verify

After installing, type/verifyin Claude Code to confirm it loaded.

Bundled filesagents/openai.yamlLICENSE

Details

From the project README

Verify

This skill decides when a change may be called done. It asks for evidence from the running result, not from a passing build.

A build is not evidence

A typecheck, a lint pass or a green build does not show that a visual or behavioural change works. Saying "fixed" without opening the result is a finding. Opening it and reporting an imperfect result is not.

Run it after any change to UI or behaviour, before replying "done". Run it at once when the user says "still", "nothing changed" or "test it yourself". What to change belongs to scope. Matching an outside app belongs to match.

1. See the problem first

Open the app, the page or the output and find the symptom before editing. Use the browser, a screenshot or computer use. Editing from the description alone is verify-reproduce-first. When you cannot reach the running result, say what blocks you.

2. Look where the user will look

Reload, or confirm hot reload applied, then look at the same place. A build pass offered as proof is verify-build-is-not-proof. Click every control you added once. A control with no effect is verify-click-new-controls.

Look at the whole surface, not only the line you edited. Scroll to both ends and open each state the change touches. Checking only the edited element is verify-whole-surface.

3. Find the cause on a repeat report

When the user reports the same problem again, stop adjusting the same value. Diff against the last commit where it worked, read the computed style or search for the cause. A third guess at one property is verify-root-cause-on-repeat.

4. Report what you saw

Say what you checked, how and where the user can see it: the route, the window, the menu path or the folder. "It should work now" is verify-say-where. Open the result for the user when you can. A bare output path is verify-open-the-result.

Name anything you could not check and why. "Done" with an unchecked item is verify-name-the-gap.

The pair

Every check is a pair. The broken line sits beside the line that replaces it.

RuleBrokenReplacement
verify-reproduce-firstEditing from the bug report aloneOpen the screen, see the bug, then edit
verify-build-is-not-proof"Typecheck passes, so it is fixed""Reloaded Settings and the toggle now persists"
verify-click-new-controlsA new "Add Condition" button with no handlerClick it once and see a row appear
verify-whole-surfaceChecking the edited row onlyThe whole panel, scrolled to both ends
verify-root-cause-on-repeatA third tweak to the same paddingDiff against the last working commit, then fix
verify-say-where"It should work now""Open Library, right-click a save, choose Hide"
verify-open-the-result~/Downloads/clips printed in the replyThe folder opened for the user
verify-name-the-gap"Done" while export was never run"Not verified: export, it needs a signed build"

Reporting

Severity. HIGH is "done" with no look at the running result, or a new control that does nothing. MEDIUM is a repeat report met with another guess, or a reply with no place to see the change. LOW is a checked change whose reply omits how it was checked.

Format. One finding per root cause, citing the request when no file applies:

file:line - [rule-id] what is wrong
request 2 - [rule-id] what is wrong

Then a Rule | Count | Severity summary. Block when any HIGH remains, Approve otherwise. Never Approve a change you did not open. Mark every check you could not run as Not verified.

Comments

Markdown supported