design-review

design-review is a skill for Claude Code from soumyachk101/VibeLens. It costs 107 tokens per session (2,015 once invoked), scanned A, original, MIT.

A review of a local webpage that looks for signs of generic, default-generated design and identifies specific visual or interaction choices behind them.

In plain words
What is it for?
Use it to review desktop and mobile pages, trace visual findings to their markup or styles, and guide targeted design fixes.
Why use it?
It helps explain why a page feels bland or machine-made, including problems with hierarchy, spacing, focus states, loading states and placeholder content.

Skill for Claude Code

Written for Claude Code: $ARGUMENTS substitution.

Part of the vibelens plugin — 12 skills, 4 agents, 1 hook shipped together

Good fit Use it to review desktop and mobile pages, trace visual findings to their markup or styles, and guide targeted design fixes.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/soumyachk101/vibelens/design-review
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add soumyachk101/VibeLens --skill design-review
Clone the repo
git clone --depth 1 https://github.com/soumyachk101/VibeLens

Made for: Claude Code.

Or install vibelens, the plugin that ships this one along with the rest of its 12 skills, 4 agents, 1 hook.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for design-review

README.md
[![agentmods](https://agentmods.dev/badge/skills/soumyachk101/vibelens/design-review/github.svg)](https://agentmods.dev/skills/soumyachk101/vibelens/design-review)
Your own site
<a href="https://agentmods.dev/skills/soumyachk101/vibelens/design-review"><img src="https://agentmods.dev/badge/skills/soumyachk101/vibelens/design-review/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for design-review

Your own site · 80×15
<a href="https://agentmods.dev/skills/soumyachk101/vibelens/design-review"><img src="https://agentmods.dev/badge/skills/soumyachk101/vibelens/design-review.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 107 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,015 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00107 $0.02015
Opus 5 $0.00053 $0.01007
Sonnet 5 $0.00021 $0.00403
Haiku 4.5 $0.00011 $0.00201

Measured 12d ago against content hash 1c1927e42fef, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

design-review scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugin/skills/design-review/SKILL.md · 136 lines

How it starts

The opening of the file, as written. The whole thing — 136 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Design review

Target: $ARGUMENTS (if empty, ask which URL and port the dev server is on, or infer it from the project's dev script — Next.js 3000, Vite 5173, CRA 3000).

What this skill is for

Generated UI is rarely broken. It is undifferentiated: correct HTML, plausible Tailwind, and every decision left at its default. This review names the specific defaults that are still in place and replaces them with chosen values.

Two sources, two jobs. The screenshot is the only thing that can tell you whether the page reads as designed — hierarchy, density, rhythm, weight of the accent. The simplifiedDOM is the only thing that can tell you why, because it carries the real ids and utility classes. A finding with no class or element behind it is an opinion; do not ship opinions.

The full catalogue of tells, with the reasoning behind each one, is docs/design/ANTI-SLOP.md. Read it when a finding needs depth. Do not restate it here.

Steps

  1. Capture the page with inspect_localhost_ui, fullPage: true, viewport desktop. Add a mobile capture too — density and hierarchy failures are loudest at 390px. Raise delay to 2000–3000 if the DOM comes back nearly empty; you cannot review an unhydrated page.

  2. Check summary.domTruncated. If it is true, the tree is partial. Scope every finding to what you actually saw and say which regions you could not reach.

  3. Work the nine checks below in this order. The order is deliberate: typography and colour dominate perceived quality, so a page that fails check 1 is not helped by fixing check 7.

    1. Type scale, or one size repeated. Collect every text-* / font-size class in the DOM and count the distinct values. Three or fewer distinct sizes across a full page means there is no scale and no hierarchy — everything is text-sm and text-base with weight doing all the work. Eight or more usually means sizes were picked ad hoc per component. Look at the screenshot: can you identify the single most important element on the page in under a second? If not, the scale is the cause. Hand off to the type-system skill for the fix.
    2. The accent is the framework default. blue-500, blue-600, indigo-500, #3b82f6, #6366f1, shadcn's untouched --primary, Bootstrap #0d6efd. These are the single strongest tell, because they are the colour of not having decided. Also flag the opposite failure: an accent used on every card, badge, border and heading, which destroys its meaning. Hand off to the color-system skill for the fix.
    3. One radius everywhere. Grep the class lists for rounded-*. If a 1200px-wide page section, a 320px card, a 36px button and a 20px badge all carry rounded-lg, nothing reads as nested — radius should scale with the box. If everything is rounded-full or everything is square, that is the same failure in a different direction.
    4. Spacing carries hierarchy, or is uniform. Collect gap-*, p-*, m-*, space-y-*. If one value (usually 4) accounts for most of them, the page has no grouping: related elements sit as far apart as unrelated ones. Related items should be tighter than the space around their group, and section-level rhythm should be several steps larger than component-level rhythm. See docs/design/SPACING-LAYOUT.md.
    5. Optical alignment. Look at the screenshot, not the DOM. Icons centred by box rather than by mass; a button label that sits low because the cap height is not the box centre; a quote mark or bullet flush to the container instead of hanging outside it; numerals in a column aligned left instead of on the decimal; a card grid whose last row is centred when it should be flush-left. Nothing optically adjusted anywhere on a page is itself the finding.
    6. Real empty, loading and error states. Search the DOM and then the source for what renders when a list is empty, a fetch is in flight, or a request fails. A bare null, a centred "No data", or a spinner where the content will be are all the same defect. The tool cannot click, so reach these states by having the user navigate to one, or by temporarily rendering the state in code, capturing it, and reverting.
    7. Visible focus. Look for focus:outline-none with no accompanying focus-visible: ring on anything interactive — that is a removed affordance, not a style. Absent focus styling on custom div-based controls counts too. Focus cannot be captured (the tool cannot tab), so verify it in the DOM and CSS, and say so.
    8. Neutral ramp and surfaces. Pure #000 / #fff backgrounds, bg-white on a dark-mode-capable page, and text at text-gray-* with no hue are the flattest possible choices. Real interfaces tint their neutrals toward the accent and separate surfaces by a step of lightness rather than by a hard border. Flag bg-white + border-gray-200 + text-black as a set, not as three findings.
    9. Copy. "Lorem ipsum", "Card Title", "Your description here", "Get Started" on four different buttons, "Feature One/Two/Three", alt="image". Filler copy makes every other decision look provisional because nothing was sized against real content. Also flag headings that are longer than the element they label and buttons whose label does not say what happens.

Read the full file on GitHub · 136 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 12d ago First seen · 136 lines · 107 tokens per session scan A 1c1927e42fef

Subscribe to this mod's changes

design-review is a skill published in the GitHub repository soumyachk101/VibeLens (0 stars, last pushed 5d ago), licensed MIT. It adds 107 tokens to every session and 2,015 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

frontend-ui-engineering

Builds production-quality, accessible, responsive user-facing UIs. Use when building or modifying interfaces and pages, creating components, implementing layouts, meeting WCAG accessibility requirements, managing state, or when the output needs to look and feel production-quality rather than AI-generated.

addyosmani/agent-skills · 58 tokens

21st-ui

Find, install, and generate UI with 21st.dev. Use when the user asks for a UI component (pricing table, hero, navbar, dashboard, form, etc.), wants design inspiration, needs a brand logo as an SVG component, or wants to generate new UI from a prompt.

21st-dev/magic-mcp · 63 tokens

excalidraw-architect

Choose and compose the right Excalidraw diagram - architecture, flowchart, sequence, state, ER, swimlane, process, timeline, quadrant, pyramid, venn, loop, gantt, bar, line, scatter, and more - using the excalidraw-architect-mcp server. Use whenever a reader would learn more from a picture than from prose, or when…

BV-Venky/excalidraw-architect-mcp · 101 tokens

ui-designer

Elite UI/UX Design Lead & Frontend Architect. Generates distinctive, non-templated interfaces with opinionated aesthetics, deliberate typography, and exact UX copy. Triggers on UI design, frontend styling, or layout creation.

GulajavaMinistudio/awesome-copilot-id · 49 tokens

a11y-audit

When building interactive components, reviewing a PR for accessibility, or fixing a11y lint errors.

sawrus/agent-guides · 0 tokens

webstudio-ai-designer

Comprehensive guide and toolkit for designing, mutating, and syncing Webstudio projects using local fast-edit JSON mutations and cloud push (webstudio import). Use whenever creating new pages, editing styles, generating UI components, or syncing Webstudio designs.

R0STEFAN/webstudio-ai-agent · 55 tokens