Web studio
A nine-stage art-directed Claude Code workflow: commit direction, generate original media, review mechanics independently, deploy, and leave receipts.
npx -y skills add youkistudios/web-studio --skill web-studioAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 19 days oldThe repository was created 19 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 0 stars0 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
One art-directed design studio in a box — an art-director agent commits direction, Claude builds, an image CLI renders media, a second model gates cost and reviews mechanically, then deploy + receipt. A 9-stage pipeline that turns a brief into a deployed, on-brand, non-slop website. Use when the user wants a new marketing/product/launch website built end-to-end, not for small edits to an existing site.
SKILL.md
10.7 KB, ~2.6k tokens by cl100k_base, as published. Nobody here has run it
web-studio
Orchestration only — this skill does not itself design or write code. It asks
the questions in order, dispatches each stage to the right tool, and enforces
the gates. The creative judgment lives in the the-designer agent; the build
lives in Claude; validation lives in a second model.
Setup check (once per environment — confirm, don't assume)
- The Designer: confirm
the-designeris a registered subagent (new files in~/.claude/agents/register at session start, not mid-session). - Second model (stages 4/6 — optional): if the OpenAI Codex CLI is
installed, verify with
codex exec --skip-git-repo-check "reply OK" < /dev/null. Any other model CLI works if it can take a prompt and return text synchronously. If none is available: run those checks yourself, mechanically, and say so in the receipt — don't skip them, don't pretend a second model ran. - Image generation (stage 3 — optional): any CLI/MCP that can generate an image from a text prompt. If it offers a cost-estimate command, always estimate before creating. If none is available, the site ships with CSS/SVG art direction instead of generated media — note it in the receipt.
- Fonts: check the project's font choices against your font guide's license notes before shipping. Never ship a personal-use-only font on a commercial site.
- Studio Memory (see docs/MEMORY.md): ensure
~/.web-studio/exists with TASTE.md, PATTERNS.md, FAILURES.md, JOB-LOG.md; create empty files on first run and note the cold start in the run log. Never block on memory — but never skip the read/write contract either. - The Library: ensure
~/.web-studio/library/<project-slug>/exists for this project (brand/,images/,video/,source/,MANIFEST.md) — the canonical home for every asset this run makes or receives. Supplied assets (logos, fonts, references) are copied intobrand//source/with a MANIFEST.md provenance line before anything else uses them.
The questionnaire (ask one at a time, in order — do not batch)
- Mode — best-quality (frontier model everywhere, no cost ceiling —
the default) or tiered? Tiered means: the frontier model keeps the
director and judge seats (stages 1, 2, 7), a cheaper model does the
mechanical build (stage 5) with
DESIGN.md+ the signed direction as its complete brief, and the second model gates/reviews (stages 4, 6). Community benchmarks of this split report ~96% of all-frontier quality at roughly half the cost — the catch is discipline: the build model makes zero design decisions not already written inDESIGN.md. - Site type — product launch, brand/portfolio, dashboard, editorial/story-scroll, other?
- The one-line success test — "When someone leaves this page, what's the single most important thing they should feel or do?" This is the pass/fail bar stage 7 scores against — not decoration.
- Design direction — open-ended ("bold and vibrant") or "let the Designer pick."
- Brand input mode — one of three: (a) pure imagination — no assets; the Designer invents the system. (b) extract from a live reference — the user names a live site whose standard they want matched: open it in a browser and measure it (computed palette, real font stacks, spacing rhythm) rather than describing it from memory; the extraction feeds stage 2's DESIGN.md. Match the standard, don't clone the site. (c) reference contract — the user has screenshots/URLs/taste notes: before any direction is committed, sort every reference into Keep / Change / Do-not-copy and record the sorting as a short contract in the project. References contribute structure and standards; identity stays original. In every mode, supplied fonts get a license check before use.
- The product description — free text, the actual brief.
- Concepts — 1 (recommended: get the first prompt right rather than paying for parallel iterations) or up to 3 for comparison.
- Media/audio — generated media defaults to no audio (the single biggest render-cost lever). Confirm.
- Receipt destination — on the site, in chat, or both (default both).
The 9-stage run
Log every stage transition to runs/<run_id>.jsonl (schema in
runs/README.md). A run with no log file didn't happen.
- Spar — first, initialize the project-scoped gate:
node ~/.claude/hooks/direction-gate.js --init <project_dir>— from this moment, all Write/Edit into the project directory is machine-blocked. Then invokethe-designerwith the questionnaire answers as the brief. It commits a one-sentence Direction Declaration and signs:node ~/.claude/hooks/direction-gate.js --sign <project_dir> "<direction>"(project-scoped — no session ids involved, so subagents can sign). Halt if unsigned — nothing downstream runs on an uncommitted direction. Persist the output asDIRECTION-BRIEF.mdin the project. - Brand shot — same agent writes the project's
DESIGN.md(templates/DESIGN-md-template.md — the official Google design.md spec shape: YAML token front matter + prose rationale) plus a complete art-direction brief for each media asset: subject, material, light, mood, crop, color story (hex-anchored), explicitly text-free. A bare noun prompt is never dispatched. Because the template is spec-shaped, any conforming community design.md drops in as an alternative input (see the template header) — but The Designer still signs a direction against it; a borrowed system never bypasses the gate. Input modes (b) and (c) from question 5 feed this stage. - Render — estimate cost first if the tool supports it; then generate.
Audio off unless the questionnaire said otherwise. Log actual spend.
Save canonical-first: the full-quality output lands in
~/.web-studio/library/<project>/images/(orvideo/) with a MANIFEST.md line (prompt, model, credits, date) — the site folder gets a web-optimized derivative, never the only copy. Check the shelf before spending: if the library already holds a usable asset for this brief (earlier run, earlier concept), reuse it — never re-generate what exists. If render succeeds and a later stage fails, never silently re-render — report spend and ask before spending more. - Gate — second model audits the render plan + running spend. Prompt it
to reply in exactly:
FLAGS: <none|list> | BUDGET_OK: <yes|no> | NOTE: <one line>. Zero design opinions — discard any aesthetic suggestion. - Build — the site is built per
DESIGN.md: its palette verbatim, its type pairing, its signature moves, its taste rules. Self-hosted fonts, semantic HTML, responsive by default,prefers-reduced-motionrespected. In tiered mode (question 1), the cheaper model builds here fromDESIGN.mdalone — if it needs a design decision the file doesn't answer, that's a stage-2 gap: route the question to The Designer, don't let the build model improvise. Commit a checkpoint. - Review — three passes, in order — measure before you judge:
(a) programmatic checks — serve the site over HTTP (never
file://— stale-snapshot risk) and runscripts/visual-checks.jsin the page console at mobile (375px) and desktop (1280px) widths: viewport overflow, whole-page horizontal scroll, broken images, sub-40px tap targets. Collect console errors via your tool. Findings feed the review; they don't replace it. (b) second model checks links, receipt math, brief consistency — plus the programmatic findings — same no-design-opinions rule; (c) actually look at the rendered page at desktop AND mobile widths. Fix what's broken, re-check from (a), commit a checkpoint. - Verify — mechanical pre-flight first, judgment second. The Designer
loads the Studio Memory at stage 1 and writes back here: on PASS ≥7.5,
pattern →
~/.web-studio/PATTERNS.md, case study →~/.web-studio/JOB-LOG.md(plus the project's own job log) — paths stated in the output or the write-back didn't happen. Mechanics: run a checkable sweep before invoking The Designer — default-palette tells (the stock purple/indigo-gradient family on dark, unmodified template blues), centered-stack layouts where the direction called for asymmetry, CTA contrast below WCAG AA, more than one competing CTA intent per viewport, motion breaking the DESIGN.md motion policy (non-transform/opacity animation, entries over 300ms, missing reduced-motion fallback). Checkable failures never spend judgment time. Thenthe-designerin QA mode: craft rubric, its named anti-patterns, a polish pass, PASS/FLAG with a numeric score. On PASS ≥7.5/10, append the case study to the project's job log and state the file path in the output — a verify step with no named log path didn't happen. Below 7.5 or hard FLAG: report the specific flags, don't silently patch and re-ship. - Deploy — ship it (any host; if your image tool has its own site hosting, that works too). Localhost is not done. Custom domain is a question, not an assumption.
- Receipt — write
COST-RECEIPT.md(templates/COST-RECEIPT-template.md): models used, actual credits/tokens spent per the run log (never an estimate), audio decision + why, deploy URL, total. Deliver per the questionnaire's answer.
Iteration rule
If the user rejects the output ("bland", "not it"), that's a stage 5–7 loop,
not a restart: the Direction Declaration and DESIGN.md survive unless the
user rejects the direction itself. Ask which it is if unclear. Log the
rejection to ~/.web-studio/TASTE.md immediately — one calibration line
(what was rejected, in what register, what to start with next time), plus a
FAILURES.md entry when the rejected move is specific. Rejections are the
highest-value taste data the studio ever receives; a rejection without a
taste line will be repeated on the next build.
Non-goals
- Small edits to an existing site — invoke
the-designerdirectly, skip the 9-question intake. - This skill never makes a design decision itself. Every aesthetic call routes to the Designer.
- Never ship a font whose license you haven't checked.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most context ai engineering skills give in ~2.6k tokens
Counted across 1,193 of the 1,976 authors here whose files we hold, read 2026-08-07
- Dispatch a fresh implementer subagent per taskin 48 of 1193, across 19 files
- Dispatch a final code reviewer after all tasksin 33 of 1193, across 8 files
- Provide full task text to the subagentin 30 of 1193, across 9 files
- Review spec compliance before code qualityin 27 of 1193, across 10 files
- Make the hook script executablein 26 of 1193, across 8 files
- Re-snapshot after navigation or DOM changesin 25 of 1193, across 19 files
- Read files before editing themin 22 of 1193, across 11 files
- Answer subagent questions before proceedingin 22 of 1193, across 7 files
- Mark task complete in TodoWrite after approvalin 22 of 1193, across 6 files
- Merge hook into existing settingsin 21 of 1193, across 3 files
- Ask if installation is global or projectin 20 of 1193, across 2 files
- Copy the hook script to target locationin 20 of 1193, across 2 files
Said here and by no other author read
- estimate generation cost before rendering
- save generated assets to the library
- check the shelf before spending
- route design decisions to the designer
- serve the site over http for review
- run mechanical pre-flight sweeps
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.