design-judge
Screenshot-first review for a UI, page, deck, or creative before shipping.
Skill by chandel-workspace
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/chandel-workspace-design-judge
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: presentations, design
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/design-judge
What's inside
- Skill name
design-judge- Description
- Screenshot-first review for a UI, page, deck, or creative before shipping. Render it, inspect design and proof integrity, and return a verdict with open findings.
- License
- MIT
- Instructions
- 227 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- ai-slop-checklist.md · references/
SKILL.md (first lines)
# design-judge > **v3 · 2026-08-04.** Hardening pass: added the Harness & verification traps section — > static harnesses built from `outerHTML` drop IDL state and produce phantom vetoes, > preview screenshots blank after any DOM mutation, CSS claims must be checked by > computed style + real interaction (never your own stylesheet), and immutable-cached > assets need an explicit cache-bust before a lens screenshots the "new" version. > > Prior **v2 · 2026-07-25.** > > Prior **v1 · 2026-07-15.** This is an evidence-scoped review protocol. It makes rendering, approved baselines, proof checks, and unresolved findings explicit; it does not replace a qualified design reviewer or make a model-superiority claim. ## Iron rules (before any judgment) 1. **Nothing is judged unrendered.** Render the artifact and screenshot it — the diff looking right has lied before (92 deck layout defects, once). Restart the preview after template edits, and bump the `?v=` cache-buster on every edited linked asset before judging — an immutable-cached surface renders fine cold and stays broken for returning visitors (caught twice on one product hub: 2026-07-16 gate run, 2026-07-20). Use the headless-render toolchain for decks (qlmanage/PIL/PyMuPDF). Judge the pixels, not the code. 2. **Mechanism before surface.** First question is never "is it pretty" — it's "is the underlying mechanism right?" A motif repeated 3+ times, or a component needing an exception every reuse, is a mechanism problem: kill it, don't polish it (plan-card motif → one Prediction Engine; navy band → invisible scaffold). 3. **Proof honesty is a veto, not a score.** Testimonials, counters, logos, case studies: real artifact or explicit "illustrative" label — or the surface doesn't ship regardless of how good it looks (precedent: fabricated testimonials found on a live marketing homepage; a "redacted case-study" proof card vetoed on another surface until a real engagement existed). Positive reference: unitedcarriers.com stacks stats + testimonials + partner logos + case studies in one scroll, all traceable — see the harvested anti-cliché catalog below for detail. 4. **Regression is a veto too.** On any previously-approved surface (a product hub, a slide-deck template, a homepage redesign), judge against the last APPROVED render, not against nothing — copy-pasted sections, fallback styles and template defaults reintroduce dead looks (a deck reskin killed an approved header-band treatment; the lesson learned was "don't revert to the old default" precisely because a template default could bring it back). A lens that finds an approved decision silently reverted vetoes regardless of score. (fleet-orchestrator gate class 3.) ## Harness & verification traps Checks inside the render→lens→verdict loop, not a new philosophy — each has cost a full judging round when skipped. - **Static harness ≠ live page.** A harness rebuilt from `element.outerHTML` (the fallback when the real page won't screenshot) drops IDL state — `select.selected`, `checked`, `value`, `indeterminate`, scroll position never serialize as attributes, so a correctly-placeholdered dropdown falls through to its first enabled option in the harness alone. A lens VETO sourced from a static snapshot is a phantom defect until re-verified against the LIVE DOM (`javascript_tool` inspection) — precedent: a mechanism-lens veto on a dropdown that was actually fine, 2026-07-31. Also don't hand-abridge harness data (a truncated option list reads back as a product defect). - **Harness-specific screenshot failure.** If a screenshot is blank or stale after a mutation, reproduce it with the recorded renderer, viewport, and action sequence. Do not generalize one harness failure to every renderer. Never score an unusable capture; refresh or rebuild the view and record the successful capture path. - **Verify by computed style and real interaction, never your own CSS.** A global reset can silently strip what your stylesheet promises — `buttons.css`'s 11-`:not()` reset zeroed a new button class's border and clipped its focus ring while the authored rule read fine on paper. Assert `getComputedStyle`, not source text, and drive focus states with an actual Tab keypress (`.focus()` under-reports `:focus-visible`). - **Stale-asset false-pass.** Immutable-cached static assets serve the OLD file to a lens screenshot unless the referring page's `?v=`/`?fresh=` is bumped first — same failure as iron rule 1's cache-buster clause, but it also fires mid-panel: a lens can screenshot a "fixed" surface that's still serving the pre-fix asset. - **Screenshot path.** For pixel-only review, use an installed, pinned renderer that the active harness can run. Do not fetch an unpinned package during review. Use a browser-capable path for computed style, IDL state, or real keyboard interaction. **Observed vs. inferred — label which is which.** A screenshot is evidence of exactly one viewport, one theme, one state, at one moment. Everything the surface *implies* beyond that — breakpoint behavior, hover/focus interactions, scroll choreography, loading and empty states, real asset fidelity — is **inferred** until separately rendered and captured. Say which is which in the verdict: an inferred claim recorded as observed is the same failure class as an errored lens counted as a pass. Specifically, **a still frame cannot establish motion** — judge animation, transitions, and scroll behavior against captured behavior (a recording, a stepped capture, an interaction trace), or mark that lens OPEN. And compare like with like: the judged render must match the reference's viewport dimensions with fonts and assets actually loaded, or a spacing/typography "mismatch" is an artifact of the harness rather than the design. Correct structural, spacing, and typography mismatches before judging decoration. ## The panel For a real-audience or high-stakes surface, use an appropriate independent verifier and more than one distinct lens when the stakes justify it. Smaller or internal iterations may use one reviewer with a stated scope. Never count repeated copies of one lens as independent review; select available approved roles without model-comparison claims. **Hand every judge the complete render package. A lens must never rediscover or substitute its own render** — two judges scoring two different captures is not a panel, it is two opinions with a shared vocabulary, and the disagreement it produces looks like a real finding. Each dispatch carries, explicitly: - `candidate_render` — the exact file path of the capture under judgement. - `approved_baseline` — path, or the literal `none`. This is what wires iron rule 4: without it a judge cannot tell a regression from a choice. - `artifact_context` — what it is, plus viewport / page / slide number, and which interaction state is shown (default, hover, error, empty, loading). - `proof_inventory` — every proof element visible in this capture, so trust & proof judges the page in front of it rather than hunting. - `capture_trace` — how the render was produced (URL/command, cache-buster, fonts loaded), so a harness artefact is separable from a design defect. Each judge returns `status: COMPLETE | OPEN`. `OPEN` is the machine-readable form of the errored-lens rule below — a lens that could not judge must not be silently counted as one that found nothing. **mechanism is mandatory** on every panel, and **trust & proof is mandatory** on any surface carrying proof elements — they are the only executors of iron rules 2 and 3,
From chandel-workspace/fleetcraft, MIT.
More from chandel-workspace/fleetcraft
- 0.552score
fleet-orchestrator
chandel-workspace
Evidence-first orchestration for Claude Code: capability-matched delegation, concise agent briefs, independent verification, durable background-work routing…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
change-plan
chandel-workspace
Draft or review a decision-ready change plan — impacts, staged rollout with acceptance and abort criteria, rollback or forward recovery, and required…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
debugging-and-error-recovery
chandel-workspace
Systematic root-cause debugging when something is broken — a failing test, a broken build, a runtime error, a flaky or non-reproducible bug, or behaviour that…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
performance-diagnosis
chandel-workspace
Diagnose and fix slow software with measurement, not guesswork — slow pages, slow API endpoints, slow SQL, N+1 queries, connection-pool exhaustion, cache…
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
product-interface-craft
chandel-workspace
Build or redesign usable product interfaces with complete states and rendered desktop/mobile validation.
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
growth-web-architect
chandel-workspace
Architect or audit acquisition pages for conversion, accessibility, responsive behavior, and proof integrity.
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
incident-miner
chandel-workspace
Turn a resolved incident or hard-won fix into an evidence-backed lesson or skill proposal.
SkillBFreshness: B★ 1Claude Code +9 - 0.539score
doctor
chandel-workspace
Run Fleetcraft's read-only source or plugin preflight and report the observed result.
SkillBFreshness: B★ 1Claude Code +9 - 0.539score
image-to-code
chandel-workspace
Implement a supplied visual reference as an accessible interface and compare a rendered result at the reference viewport; not for inventing a design without a…
SkillBFreshness: B★ 1Claude Code +9 - 0.294score
project-handoff
chandel-workspace
No description from the publisher yet.
SkillBFreshness: B★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Sep 7, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/chandel-workspace/fleetcraft
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from chandel-workspace
- 0.552score
fleet-orchestrator
chandel-workspace
Evidence-first orchestration for Claude Code: capability-matched delegation, concise agent briefs, independent verification, durable background-work routing…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
debugging-and-error-recovery
chandel-workspace
Systematic root-cause debugging when something is broken — a failing test, a broken build, a runtime error, a flaky or non-reproducible bug, or behaviour that…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
performance-diagnosis
chandel-workspace
Diagnose and fix slow software with measurement, not guesswork — slow pages, slow API endpoints, slow SQL, N+1 queries, connection-pool exhaustion, cache…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
change-plan
chandel-workspace
Draft or review a decision-ready change plan — impacts, staged rollout with acceptance and abort criteria, rollback or forward recovery, and required…
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
product-interface-craft
chandel-workspace
Build or redesign usable product interfaces with complete states and rendered desktop/mobile validation.
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
growth-web-architect
chandel-workspace
Architect or audit acquisition pages for conversion, accessibility, responsive behavior, and proof integrity.
SkillBFreshness: B★ 1Claude Code +9
Cite this page
design-judge skill. Agent Mart. https://agentmart.dev/skills/chandel-workspace-design-judge (last updated 2026-10-24)