agentsclimarketplace

Atelier review

Skill luminary19/atelier/skills/atelier-review

Atelier - a premium, anti-slop frontend design skill suite for Claude Code: 11 skills + a deepdive knowledge base.

Install
npx -y skills add luminary19/atelier --skill atelier-review

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

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 1 stars1 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.

What its author says it does

Copied from the file, not written here

Atelier suite — the adversarial pre-ship review. A full multi-step red-team of a FINISHED frontend build: fan out independent reviewers across dimensions (accessibility, performance, motion/reduced- motion, design-integrity/anti-slop, code quality), adversarially verify every finding to kill false positives, verify live in a real browser, synthesize a prioritized fix list, apply serially, and re-verify. Built to run with the ordinary Task/subagent tool — it does NOT require ultracode/Workflow. Use whenever a substantial build is "done" and needs a real audit before shipping, when asked to review / red-team / audit / "is this ready to ship" / find problems / pre-ship review a frontend. This is the heavyweight, adversarial counterpart to the atelier-perf-a11y self-checklist. Part of the Atelier suite.

SKILL.md

12.2 KB, as published. Nobody here has run it

Atelier — Adversarial Review

The builder is blind to their own work. This skill runs independent, hostile reviewers over a finished build, makes each finding survive an adversarial refutation, confirms everything live in a real browser, then applies fixes and re-checks. It is the structured, repeatable version of the multi-agent audit — without needing ultracode: it orchestrates ordinary subagents (the Task tool), which are always available.

Project memory: if ATELIER.md exists, read it first — the DESIGN reviewer checks fidelity to its register, policies, and anti-references (not just the Direction Doc). Set up via /atelier init.

Inputs: a built, runnable site/app + the Direction Doc (to check fidelity, via atelier-direction). Rubrics it reviews against (cite cross-skill refs fully-qualified): atelier-perf-a11y/references/ preflight-checklist.md, …/anti-slop-preflight.md, …/accessibility.md, …/performance.md, …/detector.md (the deterministic pre-pass), plus the domain refs under atelier-motion, atelier-scroll, atelier-webgl, atelier-typography, atelier-layout, atelier-foundations, atelier-dataviz, atelier-ux, atelier-copy (UX-writing rubric), and atelier-harden (resilience checklist). Reviewer + verifier prompt templates and the findings contract: references/reviewer-prompts.md (this skill's own ref). Live in-browser playbook: references/live-verification.md (this skill's own ref).

Supplementary data — atelier-data: the DESIGN / A11Y reviewers may also consult its web UX heuristic list (atelier-data/scripts/search.py "<topic>" --domain ux) as a breadth prompt to catch overlooked patterns. It is curated-opinion, not a compliance source — the atelier-perf-a11y rubrics above remain authoritative.

Where this sits — the quality ladder

Four layers, escalating rigor — same rubrics throughout, just re-checked with more independence: 0. deterministic detector (atelier-perf-a11y/scripts/detect.py) — a fast regex-tier pre-pass on source. Run it before everything else and feed its hits in as leads. Every build (seconds).

  1. perf-a11y self-checklist (atelier-perf-a11y/references/preflight-checklist.md) — Core Web Vitals + WCAG 2.2 AA. Every build.
  2. anti-slop self-checklist (atelier-perf-a11y/references/anti-slop-preflight.md) — the "AI Tells" pass on the rendered output. Every build.
  3. this skill — adversarial — independent reviewers per dimension + refutation + live browser verification. Substantial / redesign / award builds.

Layers 0–2 are you checking your own work; this is independent reviewers trying to break it. So:

  • Quick build / single component → just the layer-1/2 self-checklists. Don't over-process.
  • Substantial build, redesign, or award-grade work → run this; it assumes the builder (you) missed things and pays independent reviewers to find them.

The dimensions (one reviewer each — scale to the task)

  • A11Y — WCAG 2.2 AA: contrast in every theme, focus-visible, keyboard, landmarks/heading order, reduced-motion completeness, target size, canvas/WebGL + chart text/table alternative, marquee pause.
  • PERF — Core Web Vitals (field/p75 gate: LCP ≤2.5s, CLS ≤0.1, INP ≤200ms), lazy/will-change/ content-visibility, font + asset strategy, compositor-only animation, offscreen pausing.
  • MOTION — every motion path traced incl. the reduced path; breakpoint gates match the CSS; pin/ scrub/marquee/cursor correctness; dispose/cleanup; cross-browser (svh, blend modes, oklch, iOS).
  • DESIGN — anti-slop Tells (anti-slop-preflight.md) + fidelity to the Direction Doc and ATELIER.md (register, world, concept, signature moment, one-accent/theme/radius discipline, interactivity/glass policy, anti-references) + light/dark correctness + polish + placeholder / fake / missing imagery (div-fakes, gradient-blob heroes, stock-looking filler) + chart honesty/clutter (atelier-dataviz) + IA/flow coherence and missing screen-states (atelier-ux). Run a 5-persona pass (power user · first-timer · screen-reader user · mobile user · stress-tester), naming the element-level failure each one hits.
  • CODE/COPY (add when the build is large) — dead/duplicate code, contract drift, broken/AI-cute copy, fake-precise numbers. Judge copy against atelier-copy: errors say what happened + why + how to fix; labels verb-first; no duplicate CTA intents; no buzzword filler; placeholders aren't labels.
  • RESILIENCE (add for production apps) — exercise the non-happy paths against atelier-harden: text overflow at every breakpoint, long / empty / huge data, per-status error states, offline / timeout, i18n / RTL + locale formatting, double-submit + cleanup. A demo-data happy-path build fails this even when it looks finished.

The flow

  1. Boot & scope. Identify the build's files and how to run it. Start it (a no-cache static server for vanilla; the dev server otherwise). Load it once — console errors/warnings are findings. List the files each reviewer needs. Run the deterministic detector firstpython atelier-perf-a11y/scripts/detect.py --json <built/changed files> — and hand its hits to the DESIGN + A11Y reviewers as leads to verify live, not automatic findings (it's regex-tier; it can't see rendered geometry or real contrast).
  2. Fan-out review (parallel, READ-ONLY). Spawn one subagent per dimension in a single message so they run concurrently. Each is a hostile specialist — "assume this build is flawed; find the real problems" — reads its files + the matching Atelier rubric, and returns findings in the fixed contract ({severity, file, location, problem, fix, confidence}). Reviewers never edit — they return findings only. (Prompts: references/reviewer-prompts.md.)
  3. Adversarial verification. Every non-trivial finding must survive a refutation. Spawn verifier subagents (parallel) prompted to prove the finding wrong — not real, already handled, or the fix would break something — defaulting to "refuted" when uncertain. For findings that can fail multiple ways, use distinct lenses (correctness / does-it-repro / side-effects) rather than identical skeptics. Drop anything refuted by the majority. This is what kills the plausible-but-wrong finding (e.g. a contrast "failure" measured against the wrong background).
  4. Live verification (you, in the browser). Static review is not enough. Requires the Playwright MCP browser tools (browser_navigate/browser_evaluate/browser_take_screenshot/…) — if they aren't available in the session, say so and fall back to a manual/devtools pass rather than skipping it. Drive the running app: console clean; screenshots at desktop and mobile; emulate prefers-reduced-motion; tab through with the keyboard; and compute contrast from rendered pixels (don't trust a token value or a string). Confirm/refute findings here. (Playbook: references/live-verification.md.)
  5. Synthesize + score. Merge static + live + verdicts, dedupe, drop refuted. Tag each surviving finding P0–P3 (P0 = blocker / ship-stopper · P1 = high · P2 = medium · P3 = low) and sort by it. State a per-dimension verdict (ship-ready · ship-with-risks · blocked) and an overall ship-readiness call with the P-counts (e.g. "blocked — 2×P0, 5×P1"). Persist a snapshot to .atelier/review-snapshot.md: the date, overall verdict, P0–P3 counts, and the open findings grouped by dimension. A re-run reads the last snapshot as its backlog and reports the trend (P-counts down = the fixes landed) — so the loop in step 7 is measurable, not vibes.
  6. Apply — serially, in the main thread. Fix the surviving findings yourself, one coherent pass. Do NOT fan out the fixes — parallel edits to shared files (one CSS, one HTML) collide. Reviewers fan out; fixes do not. Asset findings (placeholder / fake / missing imagery) are remediated here by generating real assets on the Direction Doc's aesthetic via /codex-imagegen and wiring them in optimized (WebP/AVIF + width/height + alt).
  7. Re-verify & loop. Re-run the live checks against the fixes. Loop steps 4→6 until only acceptable lows remain. Report what was found, fixed, and consciously deferred.

How to run it WITHOUT ultracode (the point of this skill)

  • Primary — subagents via the Task tool. It's a core capability (no opt-in, unlike Workflow). Launch K reviewers by issuing K Task calls in one message (they run in parallel); collect their findings; launch the verifier round the same way; then apply yourself. One level of fan-out is enough — subagents can't nest, and a review doesn't need them to.
  • Fallback — sequential self-review (no subagent tool, or a small build): play each reviewer in turn, writing findings to a scratch list (review-findings.md); then a separate skeptic pass over your own list (refute each); then live-verify. Slower and less independent, but keeps the adversarial shape.
  • Scale to the task. Quick: 3 reviewers, single-vote verify, one viewport. Thorough/award: 5–6 reviewers, 3-lens adversarial verify, full desktop+mobile+reduced-motion+both-themes matrix. Say what you scaled to.

Hard-won rules (from real runs)

  • Reviewers read; the main thread writes. The single most important rule — it's why fixes are coherent and conflict-free.
  • Live-verify in the main thread, never in subagents — they'd each need their own browser and would fight over one shared session and the server lifecycle.
  • Trust pixels, not strings. getComputedStyle returns oklch()/oklab(); paint the color to a 1×1 canvas and read sRGB to compute real WCAG contrast. Wait for theme/transition to settle before reading.
  • A finding isn't real until it survives refutation. Most one-shot audits over-report; the verify round is what makes this trustworthy.
  • A "Tell" can be a committed concept device. Check atelier-perf-a11y/references/anti-slop-preflight.md's escape hatch before flagging an intentional system as slop.

Operating principles

  • Assume it's broken. A review that confirms the build is fine has done nothing; reviewers are paid to break it.
  • Independent beats thorough-solo. Separate hostile reviewers + a refutation round catch what one self-pass can't.
  • Verify live, not on paper. The browser is the source of truth; computed pixels over token values.
  • Fan out the finding, serialize the fix. Parallel reviewers, single-threaded edits.
  • Don't depend on ultracode. This is the always-on adversarial review; Workflow is a bonus, not a requirement.

Keep looking

Skills are one crate of 328,083. 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.