agentsclimarketplace

Visual feedback

Skill arndvs/ctrlshft/skills/visual-feedback

Use when implementing UI, checking dark/light mode, or validating animations — adds a visual feedback loop via browser screenshots so frontend changes are verified, not assumed.From its SKILL.md

Install
npx -y skills add arndvs/ctrlshft --skill visual-feedback

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

3.5 KB, 743 tokens by cl100k_base, as published. Nobody here has run it

Visual Feedback

If running interactively (human present), output "Read Visual Feedback skill." to acknowledge. If running with --dangerously-skip-permissions (AFK/unattended), skip acknowledgement and proceed directly.

Pipeline position: sits inside /do-work → replaces the "look at the UI" step that LLMs otherwise skip.

Why this exists

Backend feedback loops are fully textual — tests, types, lint. Frontend feedback loops are not. Without a browser, the LLM is flying blind: it can write code that passes typecheck and still produce a broken layout, a broken dark mode, or an animation that feels wrong. This skill closes that gap.

Setup assumptions

  • VS Code browser is available (Simple Browser or a browser preview panel pointed at the dev server)
  • Tavily MCP is connected for web search when you hit something unfamiliar

Workflow

1. Start the dev server

Before taking any screenshots, confirm the dev server is running and note the local URL (e.g. localhost:5173). If it isn't running, start it.

2. Open the VS Code browser

Open the Simple Browser pointed at the local URL. This is your visual ground truth for the session.

3. Implement a slice

Write the minimum code for one visual change — a component, a layout adjustment, a theme switch. Keep slices small so screenshots stay meaningful.

4. Screenshot and evaluate

Take a screenshot of the current state. Ask:

  • Does the layout match the intent?
  • Are there overflow, clipping, or alignment issues?
  • Does it work at different viewport widths?
  • If dark mode is relevant — does it render correctly under prefers-color-scheme: dark?

To emulate dark mode without a toggle, inject via devtools:

// Force dark mode for screenshot
document.documentElement.classList.add('dark')
// or emulate media query via CDP if available

5. Iterate

If something looks wrong, fix it and screenshot again. Do not move on until the visual matches the intent. One slice, fully resolved, before the next.

6. Research with Tavily when stuck

If a CSS behaviour, browser quirk, or animation issue is unfamiliar, use Tavily to search before guessing:

tavily_search("css scroll snap momentum iOS Safari")
tavily_search("framer motion exit animation not triggering")

Prefer MDN, CSS-Tricks, and the relevant library's own docs. Do not iterate blindly on broken CSS — understand the mechanism first.

7. Validate the full page

Once a feature is complete, do a final sweep:

  • Light mode
  • Dark mode (if applicable)
  • Mobile viewport (375px)
  • Desktop viewport
  • Any interactive states (hover, focus, active, disabled)
  • Any loading/empty/error states

8. Hand back to do-work

Once the visual sweep is clean, return to the standard /do-work validate step (typecheck, tests) and commit.

Notes

  • Screenshots are context-heavy. Take targeted screenshots — specific components or states — rather than full-page dumps unless you need the full layout.
  • If the browser MCP starts consuming too much context, switch to taking screenshots only at decision points rather than after every change.
  • The goal is the same ad hoc testing a human dev does — not exhaustive E2E coverage, just confirming the thing you just built actually works.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,512. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.