agentleFS
nahid-sparktalesnahid-sparktales/agent-dispatcher/skills/quality/browser-verification/SKILL.md

browser-verification

Skill59 starsChanged 54 days agoMITView on GitHub

Prove a UI change actually renders and works — desktop and mobile, controls operated, console clean. Use before reporting any change to rendered UI as done, when asked whether a screen actually functions, or when checking someone else's frontend work. Not for judging whether a design is good, and not a substitute for tests you intend to keep.

5 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

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

  • 0

    Common

    Most of the 4 edited versions we read keep these.

  • 4

    Distinctive

    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:

    After any change to rendered UI, before that change is reported as working — your own work or someone else's.

    line 13
  2. Distinctive:

    Get it running: Start the dev server or open the deployed URL.

    line 20
  3. Distinctive:

    Re-read the console: after interacting. Errors thrown on click do not appear on load.

    line 36
  4. Distinctive:

    Check the console: a handler that throws renders identically to one that works.

    line 55

“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “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

Browser verification

Reading the source is not verification. A component that compiles, type-checks and looks right in the diff can still render blank, overflow its container, or throw on mount.

When this fires

After any change to rendered UI, before that change is reported as working — your own work or someone else's. It does not fire for a change with no rendered surface. One change, checked once, is this skill; a matrix of states across viewports and themes, or a comparison against a screenshot baseline, is visual-verification.

Procedure

  1. Get it running. Start the dev server or open the deployed URL. If it will not start, that is the finding: report it and stop the verification — never verify a stale build. The work under test is then reported as unverified, not as failed.
  2. Render the route that changed, not the home page. Wait for network idle before judging.
  3. Read the console and network first, before looking at pixels. An error here explains most of what you are about to see. Record the exact message, not "some errors".
  4. Inspect desktop. Screenshot. Does the intended change appear; is anything clipped or overlapping; does content overflow; did images and fonts load.
  5. Inspect mobile. Resize to 375×812 and reload — layout-time breakpoints and device gates do not re-run on resize alone. Same checks, plus: horizontal scrolling, tap-target reachability, text legibility.
  6. Operate every control the change touches. Click the primary action, submit the form, open the menu, type in the input. A control that renders and does nothing is the most common failure this procedure exists to catch.
  7. Reach the states that are not the happy path — empty, loading, error, long content — by the cheapest honest route available.
  8. Re-read the console after interacting. Errors thrown on click do not appear on load.
  9. Fix what you found, then start again from step 2. A fix is not verified by the reasoning that produced it.

Checklist

  • The changed route was rendered, not just built
  • Desktop screenshot taken and read
  • Mobile viewport reloaded and read
  • Every control the change touches was actually operated
  • Console checked on load and again after interaction
  • Empty / loading / error states reached, or named as unchecked
  • Everything still unverified is named in the report

Failure handling

  • Server will not start, or the URL is unreachable — that is the result. Do not fall back to reading source and calling it verified.
  • Screenshot looks right but a control does nothing — trust the interaction, not the picture. Check the console: a handler that throws renders identically to one that works.
  • The failure will not reproduce — say so, with what you tried. An intermittent failure reported as fixed is worse than one reported as intermittent.
  • No browser tooling available — say rendered verification could not be performed, name what you did check, and do not call the change verified. Degrading honestly beats a false pass.

Evidence to report

The route and viewports checked; what each control did when operated; console output quoted, or "clean" if it genuinely was; screenshots where they show what words cannot; and the list of states and paths not checked. "Verified in the browser" with none of that is not evidence.

See references/driving-the-browser.md for which tool to reach for.

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.