Quality checks for the AI icon generator. Each run scores every icon on concept match and visual quality — the two metrics that matter most — plus 5 technical checks.
Every generated icon is automatically checked against 7 quality standards before it enters the library. The first 4 are instant checks — fast, rule-based tests that run for free. The last 3 use an AI reviewer (Claude Haiku) to judge whether the icon actually looks right and makes sense. Dry Run skips the AI review; Live mode runs all 7.
Confirms the icon was generated with all the required pieces — a drawing path and a list of search tags. If this fails, the icon is essentially empty or broken and can't be used at all.
Checks that the icon's drawing instructions are written in valid, standard format — the kind every browser and design tool understands. Garbled or non-standard instructions would make the icon invisible or broken.
Makes sure the icon fits neatly within its canvas. If parts of the drawing stray too close to the edges or outside the frame entirely, they'll get clipped or look misaligned when placed alongside other icons.
Checks that the icon has the right amount of detail — not so simple it's barely a shape, and not so intricate it turns into a blur at small sizes. Icons need to stay readable even when displayed at 16px, about the size of a favicon.
An AI reviewer looks at the icon and asks: does this actually look like what it's supposed to be? A "wifi" icon that looks like a triangle would fail here. Scored 0–5; anything below 3 is rejected.
You are an expert icon design critic evaluating a generated SVG icon path. ICON CONTEXT: - Name: "{name}" - Category: "{category}" - Style: "{style}" - SVG path d attribute: "{pathD}" TASK: Evaluate whether this path represents a recognizable, conceptually appropriate icon for "{name}". Would a designer recognize this as an attempt at "{name}"? Do NOT penalize valid geometric representations — simple concepts can have simple paths. Respond with ONLY this JSON (no markdown): {"pass": true|false, "score": 0-5, "reason": "<one sentence>"} Score: 5=perfect match, 4=good, 3=recognizable, 2=weak, 1=unrelated, 0=wrong/empty. Pass threshold: score ≥ 3.
An AI reviewer judges whether the icon looks polished and fits the library's visual style — clean lines, balanced proportions, optically centered, and legible at small sizes. Think of it as a senior designer giving a quick approval or rejection.
You are a senior icon designer reviewing an SVG icon path for visual quality and design guideline compliance. The icon should match the style of Lucide, Feather, or Heroicons. ICON CONTEXT: - Name: "{name}" - Category: "{category}" - Style: "{style}" - SVG path d attribute: "{pathD}" EVALUATE on four dimensions: 1. Representation — Does it visually represent "{name}"? 2. Guidelines — Stroke-only, geometric, minimal control points, appropriate complexity, coordinates within 24×24 viewBox. 3. Aesthetics — Balanced weight, optically centered, clean. Legible at 16px? 4. Polish — Professional icon or rough draft? Respond with ONLY this JSON (no markdown): {"pass": true|false, "score": 0-5, "subscores": {"representation": 0-5, "guidelines": 0-5, "aesthetics": 0-5, "polish": 0-5}, "reason": "<one sentence>"} Score: 5=production-ready, 4=good, 3=acceptable, 2=needs work, 1=poor, 0=unusable. Pass threshold: score ≥ 3.
An AI reviewer checks whether the search tags actually help people find this icon. Good tags cover the main concept plus common synonyms and related terms. Tags that are vague, wrong, or off-topic get flagged.
You are evaluating auto-generated search tags for an SVG icon. ICON CONTEXT: - Name: "{name}" - Category: "{category}" - Tags: {tags} TASK: Are these tags accurate, relevant, and useful for searching for this icon? Do they include the concept, synonyms, or related terms a user would search for? Are any tags misleading or off-topic? Respond with ONLY this JSON (no markdown): {"pass": true|false, "score": 0-5, "reason": "<one sentence>", "badTags": []} Score: 5=excellent utility, 4=good, 3=acceptable, 2=weak/generic, 1=mostly wrong, 0=all wrong. Pass threshold: score ≥ 3. badTags lists any clearly wrong tags.