agentsclimarketplace

Atelier

Skill luminary19/atelier/skills/atelier

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

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 entry point, router & orchestrator. START HERE when you're not sure which Atelier skill to reach for, want the suite to take a project from where it is to where it should be, or want to set up / read this project's design memory. With no argument it probes project state, decides which skills the situation needs, then RUNS them end-to-end by invoking each skill explicitly with the Skill tool (full `atelier-*` name) — pausing only for a skill's own creative input (tone, audience, the 8-direction pick), never for step-by-step permission. `/atelier <verb> [target]` dispatches to a specific atelier-* skill; `/atelier init` writes the project's ATELIER.md design memory; `/atelier help` shows the full stage-organized menu. Use when the user says "use Atelier", "set up Atelier", "what should I do next on this design", "build this for me", "which atelier skill do I use", or invokes /atelier directly. For a concrete single task the specific atelier-* skill still triggers on its own; this is the hub for when intent is broad, unknown, or "just make this good." Part of the Atelier suite.

SKILL.md

17.4 KB, as published. Nobody here has run it

Atelier — Entry Point, Router & Orchestrator

The front door to the Atelier suite. The suite is 15 focused skills (plus the atelier-data reference library the others call); this hub keeps you from having to remember which one to invoke. It does four things: orchestrate — detect which skills the current repo/situation needs, then actually run them end-to-end by invoking each one with the Skill tool (full atelier-* name) — plus dispatch a verb to a specific skill, init the project's design memory (ATELIER.md), and show the menu.

Suite map (what this routes to). Planning: atelier-direction (aesthetic) + atelier-ux (IA/flows). Foundation: atelier-foundations (OKLCH tokens) → atelier-typography + atelier-layout. Build: atelier-motion / atelier-scroll / atelier-webgl / atelier-dataviz / atelier-components, with atelier-copy for UX writing. Ship: atelier-harden (resilience) → atelier-perf-a11y gate → atelier-review (adversarial). Existing sites: atelier-redesign (audit-first front door). Reference data: atelier-data (a lookup library siblings call; not user-facing). Full sequence: references/pipeline.md.

Agent team (isolated-context orchestration). For a full, from-scratch end-to-end build, hand broad "build me a website" intent to the atelier-director agent (Agent(atelier-director)) — it runs this same pipeline across atelier-design-leadatelier-build-engineeratelier-ship-reviewer in its own context. When no direction is locked yet, route to Skill(atelier-direction) first (the 8-direction moodboard pick); it reconstructs the chosen pane into a reference image and hands off to the director itself. This skill keeps scoped / in-place orchestration, single-skill dispatch, and init.

Project memory: this skill owns ATELIER.md — the per-project design memory every other skill reads at the start of its work. Template + schema: references/project-memory.md.


Setup — read project state first

Run the signal probe once (pure-Python stdlib, no network beyond localhost port checks):

python "$CLAUDE_CONFIG_DIR/skills/atelier/scripts/signals.py"

It reports: whether ATELIER.md exists, the detected stack, git-changed web files, and whether a dev server is running. It recommends nothing — you reason over the facts. Add --json if you want to parse it; pass --root <dir> to point at a specific project. If Python or git is unavailable, skip it and reason from what you can see in the workspace; never block on the probe.

Routing rules

  1. No argument (often with a build prompt) → the user wants the suite to move the project forward ("build this", "just make this good"). For a full, from-scratch end-to-end WEBSITE build, branch on whether ATELIER.md already holds a locked Creative direction:

    • No locked direction yet → run Skill(atelier-direction) first so the user picks from the 8-direction moodboard. On the pick, atelier-direction reconstructs the chosen pane into an image-faithful reference (chosen-reference.png) and hands off to Agent(atelier-director) itself. Safety-net: if it instead returns a DIRECTION LOCKED → launch atelier-director handoff (a skill context couldn't spawn the agent), you launch Agent(atelier-director) with that brief + the reference. If the director already ran, do not double-launch.
    • Direction already locked (a filled Creative direction in ATELIER.md) → hand straight to Agent(atelier-director), passing the recorded chosen-reference.png + tokens; it skips its own direction phase.

    Either way the director owns the image-first design-then-code pipeline across the specialist team (design-lead → build-engineer → ship-reviewer) in an isolated context. Use THIS skill's inline orchestration for scoped / in-place work on an existing project: read the signals, decide the pipeline the situation needs (logic below), and run it via the orchestration loop by invoking each skill with the Skill tool — don't hand back a list, and don't just name skills in prose. For such a scoped run, init inline, then the matching skills in order. Pause only for a skill's own creative questions — never for permission to advance a stage. Scale it: a one-surface fix is a single-skill run, not the whole pipeline.

  2. First word is a verb in the dispatch table → invoke that skill via the Skill tool by its exact atelier-* name (pass anything after the verb as its target), and let it run — don't just narrate it.

  3. First word is init → run the memory-setup flow below.

  4. First word is help → print the stage menu.

  5. Verb doesn't match but intent maps to one skill (e.g. "fix the spacing" → layout, "the copy is vague" → copy) → invoke that skill via the Skill tool by its exact name and let it run. If two fit, ask once which.

Dispatch table (verb → skill)

Verb(s)Routes toFor
full from-scratch website build (broad "build me a website")Agent(atelier-director) (agent)End-to-end image-first build via the specialist team
direction, aesthetic, look, vibeatelier-directionDecide the look/world/concept (new work)
ux, ia, flow, structure, sitemapatelier-uxInformation architecture, flows, screen-states
foundations, tokens, color, theme, darkatelier-foundationsOKLCH token system, dark mode
type, typography, fontsatelier-typographyFont choice/pairing, scale, detailing
layout, grid, spacing, whitespaceatelier-layoutComposition, grid, rhythm, responsive
motion, animate, transitionatelier-motionMicro-interactions, states, feel
scroll, parallax, pinatelier-scrollScroll choreography, page transitions
webgl, 3d, shaderatelier-webgl3D / generative / shader work — for authored 3D geometry (models, look-dev, baked assets) it delegates to the forge suite
forge, blender, model, mesh, geometry, glb, look-dev, hdriforge (Forge suite)Authored 3D production pipeline: mesh/parametric/procedural modeling, UV, PBR look-dev, rig/anim/sim, headless render, GLB/USD export → web handoff
components, build, scaffoldatelier-componentsScaffold + build the component layer
comp, mockup, image, rendercodex-imagegen-taste (sibling)Premium one-image-per-section website / hero / landing comps — calls /codex-imagegen; the moodboard stays bare
dataviz, charts, graphatelier-datavizCharts, dashboards data layer
copy, clarify, microcopy, errorsatelier-copyUX writing: labels, errors, empty-state copy
harden, resilience, i18n, edgeatelier-hardenProduction resilience: overflow/i18n/error/edge
review, audit, red-team, ship-checkatelier-reviewAdversarial pre-ship review
perf, a11y, gate, lighthouseatelier-perf-a11yPerf + accessibility quality gate
redesign, improve, modernizeatelier-redesignAudit + upgrade an existing site/app
bolderatelier-redesignreferences/tonal-dials.md (§Bolder)Amplify a too-safe/bland design
quieteratelier-redesignreferences/tonal-dials.md (§Quieter)Calm a too-loud/busy design
distillatelier-redesignreferences/tonal-dials.md (§Distill)Strip to essence; remove what doesn't earn its place

Orchestration logic — which skills the situation needs (reason over signals; there is no score)

  • memory.hasAtelierMd false and there's real code/intent → /atelier init first (capture register + policies so every other skill stays on-brief), or /atelier redesign if it's an existing site you're improving.
  • memory.hasAtelierMd false and the user wants something brand-new → /atelier direction (+ ux).
  • git.changedWebFiles cluster on one surface → scope /atelier review <those files> or the matching fix verb (spacing → layout, vague copy → copy, flat palette → foundations).
  • devServer.running true → live verification in atelier-review step 4 is available; mention it.
  • Build looks finished (components exist, no obvious gaps) → /atelier harden then the atelier-perf-a11y gate, and /atelier review for substantial work.
  • Nothing built yet → the planning pair: /atelier direction + /atelier ux.
  • User wants a premium image / mockup / hero / full landing comp (a design-reference image, not code) → codex-imagegen-taste (calls /codex-imagegen under the hood, one image per section). The quick 8-direction moodboard stays on bare /codex-imagegen in atelier-direction — never route it here.

These bullets compose the plan — the ordered set of skills you run, not a list handed back. Pick the shortest pipeline that actually moves this project forward; finalize the build/ship half only once direction has set the world + interactivity.

The orchestration loop (how it actually runs)

You have full tool access — including the Skill tool, which is the ONLY way you actually run a downstream skill.

Running a skill = calling the Skill tool with its exact name. Nothing else counts. Writing "next: direction" or "now apply foundations" in prose runs NOTHING — that narration is the exact bug this loop exists to kill. To run a stage you MUST call the Skill tool with the full skill name, e.g. skill: "atelier-direction" (shorthand below: Skill(atelier-direction)), then Skill(atelier-ux), Skill(atelier-foundations), and so on — always the full atelier-* name, never a bare word. init is the one exception: it's a mode of THIS skill, so run its flow inline; there is no atelier-init skill.

Run the pipeline as one continuous flow:

  1. Invoke → carry forward. Run each stage by calling the Skill tool with its exact name; let it execute its FULL flow — its own AskUserQuestion rounds, its /codex-imagegen moodboard, its build steps. Its output (ATELIER.md edits, Direction Doc, tokens, components…) feeds the next stage. Never paraphrase, summarize, or skip a skill's interactive steps in place of actually invoking it.
  2. ATELIER.md is the shared, living brief. init writes it; atelier-direction writes its Creative direction section; atelier-foundations writes Tokens. Each stage reads it first.
  3. Let each skill ask its own questions — multiple rounds across stages are expected and fine. atelier-direction's 8-direction offer + moodboard, a foundations either/or, and so on: surface every one in full; never collapse, batch away, or skip them. The only thing you never pause for is permission to advance a stage.
  4. Direction sets the build list. After Skill(atelier-direction), the world + interactivity it locked decide which build/ship skills are warranted (it names them in its hand-off). Invoke each of those next, by name, in order — no "proceed?" gate between stages.
  5. Stop conditions. Stop when the pipeline is done, a skill hits a real blocker (missing dependency, failing build), or the user steers. Then report what ran and what's left.

Worked example — /atelier + "build an interactive creative site for an artist" in an empty repo: signals show no ATELIER.md + new repo → run init inline (interview → writes ATELIER.md) → Skill(atelier-direction) (Design Read → 8-direction list + /codex-imagegen moodboard → on the pick, writes the Creative direction section into ATELIER.md) → Skill(atelier-ux) → then, per direction's hand-off for an interactive award-grade site: Skill(atelier-foundations)Skill(atelier-typography)Skill(atelier-layout)Skill(atelier-components)Skill(atelier-motion)Skill(atelier-scroll) → (Skill(atelier-webgl) if a 3D moment was chosen) → Skill(atelier-copy)Skill(atelier-harden)Skill(atelier-perf-a11y)Skill(atelier-review). Each runs end-to-end; you only stop for a skill's own creative questions.

init — write the project's design memory

/atelier init creates ATELIER.md at the project root: the persistent brief every skill reads. Full template, schema, and the universal-vs-taste split are in references/project-memory.md — load it, then:

  1. Probe + read. Run signals.py; if ATELIER.md already exists, read it and offer to update (don't silently overwrite). If code exists, skim one representative file (CSS/tokens/a component) so the doc reflects reality.
  2. Interview (scaled to the project). Use AskUserQuestion for the load-bearing choices — register (brand vs product) first, then interactivity level, motion-library policy, and glassmorphism policy. Infer users/purpose/personality/anti-references from the brief and confirm; don't interrogate.
  3. Write ATELIER.md from the template. Leave the Tokens section as a stub linked to atelier-foundations (it fills/links it once the token system exists). Echo anti-references into the Do/Don't block.
  4. Continue, don't hand back — invoke the next skill, don't name it. When init runs as part of an orchestration, flow straight on: after writing ATELIER.md, immediately call Skill(atelier-direction) (then Skill(atelier-ux)) and keep going down the pipeline. Actually call the Skill tool — saying "now direction" does nothing. ATELIER.md is the brief each stage reads, so direction builds the aesthetic on top of the register/policies you just set (no need to re-ask those), runs its full 8-direction flow, then writes its decisions back into the file. (If the user invoked /atelier init on its own, just confirm the file and name the next step.)

init is the first move on any substantial project; everything downstream reads what it writes.

help — the stage menu

PLAN      /atelier direction   ·  /atelier ux
FOUND     /atelier foundations ·  /atelier type   ·  /atelier layout
BUILD     /atelier motion · scroll · webgl · dataviz · components · copy
SHIP      /atelier harden  →  /atelier perf  (gate)  →  /atelier review  (adversarial)
EXISTING  /atelier redesign   ·  tonal: /atelier bolder | quieter | distill
SET UP    /atelier init        (writes ATELIER.md — do this first)

Operating principles

  • Decide and run — don't just recommend. Probe state, choose the skills the situation needs, then execute the pipeline end-to-end with full tool access. There is no "proceed?" gate between stages; the only pauses are for a skill's own creative questions.
  • Run = call the Skill tool. Naming a skill in prose ("next: direction") runs nothing. Every stage is an explicit Skill(atelier-<name>) invocation by full name — zero ambiguity, no narration in its place.
  • init first on substantial work. A persisted ATELIER.md is what keeps every later skill on-brief across sessions — it's the suite's memory; direction and foundations write back into it as they go.
  • Dispatch, don't duplicate. This hub routes and runs; the real craft lives in the 15 focused skills. Don't re-explain a skill's method here — load it and follow it.
  • Scale to the task. A one-line tweak is a single-skill run, not the whole pipeline — and doesn't need init. Match the pipeline length to what the project actually needs.

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.