Nov 3, 2026
Direct a Website Like a Film With an Executable Anti-Slop Gate
agiwhitelist/auteur locks art direction in a commit-sheet before any code, generates assets with local CLIs, and refuses to ship until its slopscan and motion gates pass — the 1k-star skill behind its own ten-site showcase.
AI-built websites share reflexes: the 250–290° purple-to-blue gradient, transition: all, scroll listeners driving animation, Inter as the default font. agiwhitelist/auteur — a 1k-star Claude Code skill — turns those reflexes into build failures. Art direction is locked before a line of code, assets come from local CLIs, and nothing ships until an executable anti-slop linter and a real motion check both pass.
Why This Skill Matters
auteur is not a component library: nothing is pulled from a registry, and every site in its showcase is authored from its commit-sheet up, vanilla, with no runtime dependency. The skill is a director's pipeline, enforced in order: recon, commit-sheet, generated assets, build, gate.
- Recon.
refscoutprofiles live award-winning sites — the libraries they really load, how many scenes they pin, their scroll budget, the fonts and palette as painted — andmoodboardpulls a numbered contact sheet from Bing / Pinterest / are.na. Sites that withhold their CSS from a headless browser are reported as NO CAPTURE rather than guessed at. - Commit-sheet. One committed art direction — a single brand hue, a type system, a motion budget, named anti-references — written down before any markup. No "let's see how it looks" drift.
- Generated assets. Imagery, video frames, depth maps and 3D geometry from local CLIs (Codex / Gemini image gen, Blender headless, Depth-Anything), routed by cost and by what each tool is good at.
- Build. One WebGL context, GSAP/Lenis scroll, DOM motion on transform and opacity only.
- Gate. Nothing ships until both gates below pass.
Installation
auteur is an Agent Skill: a SKILL.md plus reference recipes and a few runnable scripts — about 1MB, no dependencies, no API keys, no build step. Any agent that reads the format can install it with one command:
npx skills add agiwhitelist/auteur
On Claude Code, install it as a plugin so it updates in place:
/plugin marketplace add agiwhitelist/auteur
/plugin install auteur@auteur
Requirements: Claude Code to run the skill, Node 18+ for slopscan, and Playwright for the motionqa, shoot, refscout, and moodboard scripts (npx playwright install chromium). The optional asset-generation CLIs are used only if present — the skill degrades gracefully to hand-authored assets when they aren't.
Real Workflow: Build a Cinematic Landing
- Install the skill, then ask:
build me a cinematic landing with auteur
- Claude runs the pipeline — commit-sheet → assets → build → gate — and hands you the site.
- Watch the gates actually run.
slopscanis a zero-dependency linter that fails the build on concrete slop: the purple-to-blue AI gradient,transition: all,addEventListener('scroll')for animation, autoplay audio, video with no poster, WebGL with noprefers-reduced-motionbranch, Inter/Space-Grotesk defaults, em-dash-slop copy, and more. It runs in CI on every shipped page, so the "0 slop" claim can't silently rot:
git clone --depth 1 -b gh-pages https://github.com/agiwhitelist/auteur site
node scripts/slopscan.mjs site
# → Summary: 0 fails, 0 warns, 0 suppressed
motionqais a Playwright pass that drives the page on a throttled CPU and fails on dropped frames, long tasks, autoplay sound, or console errors. It measures at DPR 2, because fullscreen effects cost per pixel and a DPR-1 measurement can certify 60fps on a page that stutters on a retina laptop.
For multi-screen products, systemscan crawls every route and fails a control kind that drifts over its declared per-kind budget or any control with no visible focus state.
The Proof and the Floor
The README's proof is ten live sites, each built by auteur and each passing the skill's own linter at 0 fails / 0 warns. The tenth was not built by Claude: Kimi K3 was handed SKILL.md and a brief, saw none of the other nine, and still passed the same gates — the skill is the thing that travels, not the model. Every site also meets an accessibility floor the README marks as enforced, not aspired: prefers-reduced-motion resolves to a rich still, never blank; all copy stays readable with JavaScript off; no full-frame strobe; responsive at 390 / 768 / 1440 with no horizontal overflow.
Tips
- The README states there are no benchmark numbers in the repo — the one quantitative claim, the linter result, is reproducible with the
slopscancommand above. - Recon and sourcing are the only two phases that touch the network, and fetched content is treated as reference material and licence metadata — never executed. Skip those phases and everything else runs offline.
- Sourced assets keep a licence ledger in
assets/sourced/ASSETS-SOURCED.md; CC-BY images carry their credit line so they can't ship unattributed. Stock video is allowed as an ambient layer and refused as a hero. - The showcase sites live on the
gh-pagesbranch, which is why installing the skill pulls ~1MB of recipes instead of 45MB of rendered video.
When Not to Use This
The README draws its own boundary: it is not a component library, and if you want ready-made animated components to drop in, take shadcn or originkit.dev — auteur directs a page instead of stocking it.
See the leaderboard for more skills.