mcpField
V
verify

verify

github.com/raphaelsalajaTesting & quality67164 installsUpdated 6d ago
Repository

About verify

verify is a skill for deciding whether a UI or behavior change is ready to call done, based on inspecting the running result rather than relying on a successful build. It guides coding agents to reproduce issues, check affected surfaces, and report what remains unverified.

Key features

  1. 01Reproduces the issue before editing
  2. 02Checks the running result after changes
  3. 03Clicks newly added controls
  4. 04Inspects the whole affected surface
  5. 05Reports checks and unverified gaps

Use cases

  1. 01Validate a UI change before marking it done
  2. 02Investigate a repeated bug report
  3. 03Check new controls and affected states
  4. 04Report what could not be tested

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/raphaelsalaja/skills --skill verify

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

Bundled filesagents/openai.yaml

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