by agiwhitelist
The Claude Code skill that directs a website like a film. Commit-sheet, generated assets, build, and an executable anti-slop linter that gates every ship.
Unlocks once the catalog security scan passes (runs nightly).
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
# Add to your Claude Code skills
git clone https://github.com/agiwhitelist/auteurGuides for using ai agents skills like auteur.
name: auteur description: Design and build complete, distinctive web experiences from scratch — both standard product/marketing pages with award-level craft and cinematic scroll-directed "wow" sites where the page is directed like a film, with AI-generated visual assets (consistent keyframe images, scroll-scrubbed sequences, WebGL displacement transitions between two generated frames, locally generated video via first→last-frame chains, and an optional ambient score). Use whenever the user wants to create or redesign a landing page, website, hero section, portfolio, promo or product page; asks for scroll animations, storytelling pages, or a site that feels like a movie; or says "make it beautiful", "make it wow", "cinematic", "сделай красиво", "вау-сайт", "кинематографичный сайт", "сделай лендинг" — even if they don't name a technique. Includes asset generation via local CLIs, an executable anti-slop linter, and a screenshot verification loop. Not for polishing an existing UI built by someone else (use impeccable for that) and not for backend-only tasks. version: 1.0.0 user-invocable: true argument-hint: "[build|direct|edit|audit] " allowed-tools:
Auteur designs and builds web experiences the way a film director makes a film: script first, then assets, then the shoot, then the cut. It has two registers — build (an excellent conventional site) and direct (a cinematic scroll-directed site) — on one shared core of taste. Nothing ships until the page passes an executable anti-slop gate and the skill has looked at its own output.
These apply to every register, every phase, always — even if no reference file has been loaded. Match-and-refuse: if you are about to produce one of these, stop and restructure the element.
| # | Ban | Instead |
|---|---|---|
| 1 | border-left/border-right >1px as a colored accent on cards, callouts, alerts |
full border, background tint, leading icon, or nothing |
| 2 | Gradient text (background-clip: text + gradient) |
one solid color; emphasis via weight or size |
| 3 | Glassmorphism as default (decorative backdrop-filter cards) |
rare and purposeful, or solid surfaces |
| 4 | The hero-metric template (big number, small label, stat row, gradient accent) | evidence in prose, one committed visual |
| 5 | Identical card grids (same-size icon+heading+text, repeated) | vary size, structure, or drop the cards entirely |
| 6 | Eyebrow kickers (tiny uppercase tracked label) above every section | one deliberate kicker max as a brand system; vary section openings |
| 7 | Numbered section scaffolding (01 / 02 / 03) when order carries no meaning | numbers only for a real sequence |
| 8 | Inter or Space Grotesk as the first font choice |
pick from a contrast-axis pair (see taste.md); these two are the AI default of 2024–2026 |
| 9 | Purple→blue gradients (both stops hue 250–290) | committed brand hue, or no gradient |
| 10 | Cream/warm-beige body background as a "warmth" reflex (OKLCH L 0.84–0.97, C <0.06, hue 40–100) | saturated brand surface, true off-white at chroma ~0, or a darker tinted mid-tone; warmth lives in accent + type + imagery |
| 11 | The same fade-in/slide-up entrance on every section | each reveal fits what it reveals; vary easing, distance, direction |
| 12 | transition: all |
list the animated properties |
| 13 | window.addEventListener('scroll', ...) |
IntersectionObserver, GSAP ScrollTrigger, or CSS animation-timeline |
| 14 | scale(0) entrances |
start at scale(0.95) + opacity |
| 15 | Bento grids of near-identical or empty cells; white-card-on-white bento | bento only with real visual variation per cell, else a different layout |
| 16 | Copy tells: "Revolutionize", "Seamless", "Effortless", "Unleash", "Elevate", em-dash–heavy sentences, decoration strips like "BRAND. MOTION. SPATIAL." | concrete claims in plain words |
| 17 | More than one marquee per page | one, or none |
| 18 | Instrument Serif / Playfair Display as the reflex "elegant serif" | serifs chosen for the brand, not from the AI shortlist |
A ban may be overridden only through a written auteur-allow (see Verification) with a real reason — a deliberate, argued choice is voice; a default is slop.
ease-in is banned on UI.transform and opacity. Stagger 30–80ms.prefers-reduced-motion = an alternative art direction (gentler, not zero), never an afterthought.Read the argument / brief and route:
direct or the brief smells cinematic — "wow", "cinematic", "immersive", "storytelling", "launch page", "premium brand", "make people stop scrolling" → load reference/direct.md and follow its phases. This is the flagship register.build or the brief is a conventional surface — product UI, dashboard-adjacent marketing, docs, blog, straightforward landing → load reference/build.md.edit or the request modifies a page this skill built (the project contains design/DESIGN.md) — "add a section", "change the pricing", "swap the hero copy" → read design/DESIGN.md FIRST and follow its Editing protocol: reuse its tokens, section-opening patterns, and motion families; after the change run slopscan and re-shoot the affected viewports. An edit that ignores DESIGN.md is a regression even if it looks good in isolation.audit <path-or-url> → load reference/verify.md and run the verification pipeline on an auteur-built page. If the target is an existing UI auteur didn't build and the user wants it polished rather than rebuilt, say that /impeccable is the right tool and offer to continue only if they want a rebuild.Both registers share phase zero: the commit-sheet.
Slop is what happens when defaults make the decisions. The commit-sheet forces six real decisions onto paper before the first line of code. Copy templates/COMMIT-SHEET.md into the project (e.g. design/COMMIT-SHEET.md) and fill all six fields with non-defaults:
Gate: every field filled with a specific, non-default answer. An empty or generic field ("modern, clean look") means stop and decide. This artifact is checked again at verification.
| Phase | build register | direct register | Reference to load |
|---|---|---|---|
| 0 | recon (optional) → commit-sheet → hero mockup gate | recon → screenplay (STORYBOARD.md) → commit-sheet → hero mockup gate | direct.md / build.md |
| 1 | — | asset production (generate → edit → optimize) | assets.md |
| 2 | build the page | assemble the film (smooth scroll first, hero, scenes top-down) | build.md + taste.md + motion.md / scroll-cinema.md |
| 3 | verify | verify + CINEMA-QA.md | verify.md |
| 4 | lock the style: fill design/DESIGN.md |
same | templates/DESIGN.md |
The hero mockup gate (one static throwaway screen, screenshotted and approved before anything else is built) is the cheapest moment to change art direction — details in each register's reference. design/DESIGN.md is the style contract that makes every later edit stay in style (the edit route reads it first).
Never skip a gate because the intermediate result "looks done". The gates exist because a page that merely looks done is exactly what every other AI ships.
reference/taste.md — the full anti-slop system: extended bans with replacements, second-order category reflex table, color strategy tiers, typography pairing, copy rules. Load for any visual decision-making.reference/motion.md — the motion school: when to animate, easing/duration/spring numbers, performance rules, motion budget, sound policy. Load before writing any animation.reference/build.md — the standard register process. Load when routed to build.reference/direct.md — the cinematic register: screenplay contract, scene-sheets, dramaturgy, assembly order. Load when routed to direct.reference/assets.md — the media crew and routing (agy / codex / grok-4.5 for images, grok for video, MiniMax for score, ffmpeg), the consistency trick (edit frame A into frame B), local video via the first→last-frame chain, generated elements/mockups, the ambient score, the degradation ladder, and asset caching. Load during direct phase 1.reference/scroll-cinema.md — working code recipes: scroll-scrubbed video, canvas sequences, GSAP+Lenis foundation, CSS scroll-driven animations, text reveals, the two-keyframe WebGL displacement transition, view transitions, ambient audio, and the cinematic transition library (wipe, curtain, letterbox, shutter, depth parallax). Load during assembly.reference/scroll-flight.md — the video-scrub tier: a photoreal "fly through the world" hero driven by scroll, using the drop-in templates/scroll-flight-engine.js. The canonical recipe for scroll-scrubbed video (encode-for-scrubbing -g 8, encoded-frame posters, SSIM seam gate, chain architecture A/B, iOS/mobile decode hardening, crossfade-vs-seamless seams). Load when the hero should be photoreal footage/AI-video rather than real-time WebGL.reference/ambient-backgrounds.md — quiet texture for secondary sections and simpler builds (not a hero): a curated 6 editorial/analog effects (paper grain, ledger/blueprint rules, topographic contour, ink tide, sparse dust, one heat-haze shader) + a zero-motion static-mesh default. The governing rule (weaker than the quietest foreground element; one ambient per page), the CSS/SVG-first stack, and the feTurbulence-static perf rule. Load when a section needs to not be flat but must NOT compete with copy.reference/verify.md — the acceptance pipeline: slopscan → screenshot journey → motion/perf/audio QA (FPS, long-tasks, audio-gate, reduced-motion, for Tier-1 scenes) → numeric rubric → QA sign-off. Load at phase 3.The page is not done when the code compiles. It is done when:
node scripts/slopscan.mjs <src-dir> exits 0 (fails are fixed, not suppressed — /* auteur-allow: RULE_ID -- reason */ exists for deliberate choices and demands a real reason);node scripts/shoot.mjs <url> has produced screenshot journeys at 390 / 768 / 1440 and you have looked at every frame — text overflow, blank scenes, broken reveals, layout collapse are found by eyes, not by grep;reference/verify.md passes (contrast, LCP, CLS, reduced-motion journey, scene variety);CINEMA-QA.md (from templates) is filled with PASS on every row.If any gate fails — fix and re-run. Report results honestly: "slopscan clean, 21 screenshots reviewed, LCP 1.9s" beats "looks great".
Auteur builds; it does not re-polish foreign UI. If the user has an existing interface that needs refinement, recommend /impeccable. If auteur's own output needs an outside critique, /impeccable critique on the built page is a compatible second opinion — auteur's verify gate and impeccable's critique measure different things and coexist happily.
If you are a smaller model executing this skill: follow the tables and numbers literally, fill every template field, run every gate command, and do not improvise beyond the reference recipes — the recipes are verified, your improvisation is not. When a reference file conflicts with your instinct, the reference file wins. Write files using paths relative to the project root; never retype an absolute path from memory (the skill's name "auteur" is one typo away from "author", and misspelled absolute paths scatter your output across the filesystem).
Art direction is locked before a line of code. Assets are generated by local CLIs. Every ship is gated by an executable anti-slop linter and a real motion check.
▶ See it live · The method · Install
Don't take the pitch — open the six sites. Each was built by auteur, and each passes the skill's own linter with 0 fails / 0 warns:
| Site | Technique | Live |
|---|---|---|
| FLUX | WebGL fluid simulation that tears the wordmark under the cursor | open ↗ |
| STATIC | Broadcast-glitch type you can shred with a fast drag, crisp at rest | open ↗ |
| SWARM | 131,072 GPU particles on a curl-noise field, settling into a wordmark | open ↗ |
| DRIFT | An atmospheric 3D world of monoliths + volumetric fog you fly through | open ↗ |
| ATLAS | A photoreal camera flight (dunes → canyon → coast → summit) — real AI video, scrubbed by scroll | open ↗ |
| ABYSS | A photoreal ocean dive (surface → reef → twilight → bioluminescence → abyss) — video + a scroll-driven camera dolly | open ↗ |
FLUX / STATIC / SWARM / DRIFT are real-time WebGL; ATLAS and ABYSS are the
video-scrub tier (see reference/scroll-flight.md) — photoreal footage with a
scroll-driven camera dolly through it. The landing page itself is a seventh —
built by the same discipline it sells.
There are no benchmark numbers anywhere in this repo. auteur is a design discipline, not a system with a throughput figure. The one quantitative claim — the linter result — you can reproduce in one command (below).
auteur is a Claude Code skill: a SKILL.md plus reference recipes and a few
runnable scripts. Drop it into your skills folder.
git clone https://github.com/agiwhitelist/auteur ~/.claude/skills/auteur
Then, in Claude Code:
"build me a cinematic landing with auteur"
Claude runs the pipeline — commit-sheet → assets → build → gate — and hands you the site.
A director's pipeline, enforced in order:
slopscan — a zero-dependency linter that fails the build on concrete
slop, not vibes:
node scripts/slopscan.mjs docs # the landing
node scripts/slopscan.mjs docs/showcase/flux
# → Summary: 0 fails, 0 warns, 0 suppressed
It catches the 250–290° purple→blue AI gradient, transition: all,
addEventListener('scroll') for animation, autoplay audio, video with no
poster, WebGL with no prefers-reduced-motion branch, Inter/Space-Grotesk
defaults, em-dash-slop copy, and more. Runs in CI on every shipped page — so the
"0 slop" claim above can't silently rot.
motionqa — a Playwright pass that drives the page on a throttled CPU and
fails on dropped frames, long tasks, autoplay sound, or console errors. Sites
target 60fps; the gate is what enforces it.
node scripts/motionqa.mjs docs/showcase/swarm --headed
SKILL.md the skill Claude Code loads
reference/*.md the recipes: direct, scroll-cinema, scroll-flight, motion, assets, taste, verify, build
scripts/slopscan.mjs the anti-slop linter (zero deps)
scripts/motionqa.mjs the Playwright motion + a11y gate
scripts/shoot.mjs responsive screenshot capture
templates/ commit-sheet, storyboard, cinema-QA, design templates
+ scroll-flight-engine.js — drop-in photoreal scroll-scrubbed-video engine
docs/ the landing + the four live showcase sites (GitHub Pages)
slopscan (zero dependencies).motionqa / shoot (npx playwright install chromium).agy, Blender). The skill routes to what's present and
degrades gracefully to hand-authored assets when they aren't.Every site auteur ships: prefers-reduced-motion → a rich still, never blank;
all copy readable with JavaScript off; no full-frame strobe; responsive at
390 / 768 / 1440 with no horizontal overflow. These are enforced, not aspired.
The photoreal scroll-scrubbed-video engine (templates/scroll-flight-engine.js)
and its technique are adapted from scroll-world
by cyw (MIT) — a sibling Claude Code skill focused on AI-video camera flights.
auteur pairs it with its own asset generation and slopscan / motionqa gates.
MIT © agiwhitelist — see LICENSE. Vendored components retain their own MIT notices (see file headers).
auteur is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by agiwhitelist. The Claude Code skill that directs a website like a film. Commit-sheet, generated assets, build, and an executable anti-slop linter that gates every ship. It has 64 GitHub stars.
auteur's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/agiwhitelist/auteur" and add it to your Claude Code skills directory (see the Installation section above). auteur ships a SKILL.md manifest, so compatible agents can discover and load it automatically.
auteur is primarily written in JavaScript. It is open-source under agiwhitelist on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh auteur against similar tools.
No comments yet. Be the first to share your thoughts!