agentleFS
maroffomaroffo/claude-forge/skills/verify-frontend/SKILL.md

verify-frontend

Skill17 starsChanged 51 days agoMITView on GitHub

Verify UI changes end-to-end in a real browser before declaring them done: dev server, direct interaction, console check, before/after screenshots, Lighthouse when perf-relevant. Use after any frontend/UI change, when user says verify UI, check the page, or does it render. Supersedes generic verify flows for rendered UI. Not for backend-only changes (verification-protocol test/lint/build covers those).

The file

We split this skill into the rules it gives an agent

5 rules. About 0 are common, 4 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    After any change touching rendered UI (components, templates, styles, client-side logic)

    line 16
  2. Distinctive:

    Before reporting a UI subtask complete in the orchestrator loop (feeds VERIFY, step 2)

    line 17
  3. Distinctive:

    Run every step that applies.

    line 22
  4. Very specific:

    If the chrome-devtools MCP tools are deferred, load the needed set in ONE ToolSearch call first (new_page, navigate_page, take_screenshot, …

    line 24
  5. Distinctive:

    Prefer quantitative checks (error counts, scores, pixel sizes) over "looks fine": they make self-verification and the two-confirmation gate …

    line 51

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

ABOUTME: End-to-end UI verification; never report a UI change done on a green edit or passing tests alone

ABOUTME: Browser interaction, zero-new-console-errors, before/after screenshots, Lighthouse gate when perf-relevant

Verify Frontend

A successful edit and green unit tests do NOT verify a UI change: they can encode the same wrong assumption as the code. Verify the way a human reviewer would, in a real browser, with quantitative checks wherever possible.

When

  • After any change touching rendered UI (components, templates, styles, client-side logic)
  • Before reporting a UI subtask complete in the orchestrator loop (feeds VERIFY, step 2)
  • Skip only for changes with no runtime surface (type-only, test-only, docs)

Protocol

Run every step that applies. A failure at any step means: fix, then rerun from step 1. Work that has not passed every applicable step is reported as NOT verified (see Report format), never as done.

If the chrome-devtools MCP tools are deferred, load the needed set in ONE ToolSearch call first (new_page, navigate_page, take_screenshot, list_console_messages, list_network_requests, resize_page, lighthouse_audit).

  1. Baseline (before the change, when still possible): start the dev server, open the affected page, screenshot it, record the console error/warning count. If the change is already applied and touches shared layout or navigation (risky: regressions can land outside the edited page), capture a true baseline: git stash → screenshot + console count → git stash pop, then continue. Otherwise note that the baseline is post-hoc.
  2. Load: open the edited page in the browser (new_page/navigate_page). The page must render without blank screens or error overlays.
  3. Interact: exercise the change directly. New control (button, input, toggle): click/type into it and confirm the expected state change. Changed layout: resize to mobile and desktop widths (resize_page).
  4. Screenshot after: capture the changed state (take_screenshot). Pair it with the baseline for the report.
  5. Console gate (quantitative): list_console_messages: zero new errors or warnings versus baseline. A pre-existing error is noted, not fixed silently, and never used to excuse a new one.
  6. Network gate (when the change fetches): list_network_requests: no failed requests introduced by the change.
  7. Performance gate (when perf-relevant: new page, heavy asset, list rendering, hydration change): run lighthouse_audit and report the scores. Regression >5 points on Performance versus baseline is a finding, not a footnote.

Report format

State results per step, with the numbers this run measured. The block below shows the shape only; its values are illustrative:

UI verification: PASS
- Render: /dashboard loads, no overlay
- Interaction: like button toggles state, count 0 → 1
- Console: 0 new errors (baseline 2 pre-existing warnings, unchanged)
- Screenshots: before/after captured
- Lighthouse: perf 94 (baseline 93); n/a if skipped, say why

A FAIL report names the step, the observed value, and what was expected. Partial verification is reported as NOT verified.

Quality notes

  • Prefer quantitative checks (error counts, scores, pixel sizes) over "looks fine": they make self-verification and the two-confirmation gate (score-evidence-guard) possible.
  • Browser dialogs (alert/confirm) block the automation: don't trigger them; use console logging instead.
  • This skill composes with rules/verification-protocol.md: test/lint/build still run; this adds the runtime surface those can't see.

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.