Desk Studio

Your own design studio.

A full design studio inside the coding agent you already use. One command, free, nothing leaves your machine but the model calls you already make.

/plugin install desk --marketplace adityareddy-dev/deskstudio

Open source, MIT. No account, no sign-up.Read the code

One command typed in a terminal, then every piece the studio has signed off, then the line: your own design studio, at your desk

Made by the studio.

17 pieces for four made-up brands, one real site and the studio's own, each signed off by the Creative Director against the eight-axis rubric. The score and the cost under each one are from the run that made it.

Roughs, pick, polish, proof, sign-off.

Every visual job runs the way a studio runs. This is the launch card above, as it happened.

Roughs

The UI Designer makes three directions at the senior model from the brief, the brand and the standard for the piece.

rough 1rough 2rough 3

Pick

The Art Director looks at the renders, picks one and writes the notes.

Rough 2: headline reads first at both sizes, only amber is the small lamp, fixes are type sizes not layout

Polish

The builder desk revises with the notes and the screenshot. Rounds are cheap, so this is where the iteration goes.

Round 1: 8.4. Round 2: 8.5. Round 3: 8.9.

Proof

Contrast on the rendered pixels, overflow, safe zones, palette, type scale, copy present. No model in the loop. A failure goes back to the builder with the screenshot. It runs on every polished file.

Sign-off

The Creative Director scores eight axes. Pass is every axis at 8 or above and the average at 8.5 or above.

Average 8.9, 3 of 8 rounds.

the signed-off launch card
hierarchy9typography9spacing9colour9composition9originality8brand9copy9
Three roughs on the board, the Art Director picks one and the ring draws round it
A rough becomes the signed-off render as the scorecard fills

42 desks.

Each desk is a written brief: what it owns, how it decides, its checklist and what it hands to the next desk. The Design Manager staffs them per job. The three roughs run side by side and the rest in turn.

The floor: forty-two desks, a lamp lighting when a desk starts

Directors 3

the pick, the notes, the sign-off. Default seat anthropic/opus.

  • Creative Directordirection and sign-off against the rubric
  • Art Directorthe pick, the notes, the pen on escalation
  • Brand Strategistpositioning, the claim, voice, architecture, brand audits

Seniors 17

the roughs, research, type, tokens, copy. Default seat anthropic/sonnet.

  • Typographerpairing, scale, measure, leading, weights, optical details
  • Design System Leadtokens, DESIGN.md, exports, consistency audits
  • Accessibility SpecialistWCAG 2.2 AA beyond the automated checks, with code fixes
  • Copy Editorcorrectness, consistency, clarity, the last read
  • UX Researcheraudience, jobs, pains, evidence, research questions and plans
  • Product Designerscope, the core flow, trade-offs, first version versus later
  • UX Designerflows, wireframes, information architecture, interaction rules, edge cases
  • Interaction Designerstates, gestures, transitions, feedback, clickable prototypes
  • Presentation Designerslide systems and decks at 1920x1080
  • Dashboard Architectdashboard information architecture, layout, density, states
  • Landing Page Designerabove the fold, section order, pricing, conversion details
  • Social Media Strategistthe plan, the calendar, launch sequences, platform rules, measurement
  • Growth/Analytics Specialistthe metric, tracking plans, variant plans, honest reads, reports
  • Compliance Designerconsent, privacy, email footers, accessibility obligations, regulated flows
  • Conversational Designerdialogue, chat and voice flows, message types, guardrails
  • Spatial Designerheadset and AR layout in metres and degrees, comfort, input fallbacks
  • AI Prompt Engineerprompt packs, cross-tool variants, critiques, consistency strategies

Builders 21

every polish round, the making. Default seat anthropic/haiku.

  • UI Designerlayout, type, colour and composition in one self-contained file
  • Social Media Designercards, stories, carousels, thumbnails, series consistency
  • Social Media Copywriteron-card copy, captions per platform, carousel copy, alt text
  • Email Designer600px table email that renders everywhere, dark mode, the bulletproof CTA
  • Email Copywritersubject, preheader, body with one ask, sequences, transactional copy
  • Motion Designermotion systems, micro-interactions, transitions, deterministic clips
  • Illustration Directorillustration style, spots, hero art, diagrams, systems
  • Icon Designericon grid, stroke, optical corrections, the set, the SVG contract
  • Image Editorselection, crops and focal points, treatment, scrims, exports
  • Data Viz Designerchart choice, honest axes, direct labels, colourblind palettes, inline SVG
  • Design Engineerproduction HTML and CSS, components in the project's framework, states, performance
  • Framework Specialistidiomatic components in React, Vue, Svelte, Next.js or Astro
  • Editorial Designergrids, page systems, long-form hierarchy, figures, print PDFs
  • Print Designertrim, bleed, safe area, ink, resolution, the print PDF and preflight
  • Storyboard Artistbeat sheets, frames as HTML, eye path, caption timing, the hook frame
  • Video Editorpacing, captions, platform specs, loops, QC, exports
  • Video/Content Producerscripts with timings, series plans, the hook, the ask
  • Content Designerheadlines, sublines, buttons, labels, empty states, errors
  • AI Image Directorshot lists, direction, candidate selection, moodboards, fit
  • AI Video Directorshot-by-shot direction, tool choice per shot, consistency, selection
  • AI Audio & Voice Producervoiceover briefs, stings, UI sounds, music beds, loudness, rights

The Design Manager runs in your session on whatever model you run, and the other 41 desks run as subagents.

The cost line filling by tier as each desk reports

Cheap models make. Strong models judge.

Roughs come from the senior seat, every polish round from the builder seat, and the pick, the notes and the sign-off from the director seat. The floor shows what each desk cost at list price.

TierDefaultDoes
directoranthropic/opusthe pick, the notes, the sign-off
senioranthropic/sonnetthe roughs, research, type, tokens, copy
builderanthropic/haikuevery polish round, the making

One launch card, $1.34 at list price.

$0$2

Director $0.81, senior $0.43, builder $0.10. 61% went to judgment, 39% to making. 10 desk runs, 3 polish rounds, signed off at 8.9.

Models per seat.

The runner reaches each provider through the CLI you already have signed in, on the plan you already pay for. API keys are the fallback. One provider is fine, and tiers can mix. Jobs have completed through the Anthropic, OpenAI and Google CLIs. Google uses Antigravity CLI.

ProviderCLISeats
Anthropicclaudedirector opus, senior sonnet, builder haiku
OpenAIcodexdirector large, senior mini, builder nano
Googleagydirector flash-high, senior flash, builder flash-low
{
  "models": {
    "director": "anthropic/opus",
    "senior": "anthropic/sonnet",
    "builder": "openai/nano"
  }
}

Set once in .desk/project.json, or from the floor for one job.

You run the floor.

A local page, nothing leaves your machine. Every control is a write to a file the Manager reads before its next step.

  • Pause at the next step, continue, stop.
  • Move a tier or one desk to another model, for this job or as the default.
  • Write a desk a note. It goes into its next prompt.
  • Pick a rough yourself, over the Art Director.
  • Approve a sign-off under the bar, or send it back with notes.
Clicking a rough on the review board, which then shows as picked by you

One real job, run from the floor: paused after the roughs, the pick made by hand, the builder seat moved from Haiku to Sonnet, and a note written to the UI Designer. It came back signed off at 8.5 in 2 rounds, $2.39 at list price.

The builder seat moved to another model while the job holds
A note typed to the UI Designer, then the next round
Proof flags a subline that is too dark, and the fixed file passes

Proof on real pixels.

Every polished file is rendered in Chrome at each size and checked on the pixels before the Creative Director scores it.

  • Text contrast against the pixels behind it
  • Overflow and clipping
  • Safe zones per platform
  • Colours inside the brand palette
  • Type on the brand scale
  • Every line of copy present
  • Carousels consistent across slides
  • Reading time and flashes in motion

From the quill card job: proof failed twice before passing. Round 1 failed on the type scale, a 248px headline off the brand scale, capped at 232px. Round 3 failed because the X card's headline sat inside the left safe zone, and round 4 fixed it. Signed off at 8.9.

Other agents.

AgentWhat you get
Claude CodeEverything: the 41 desks as native subagents with the repo's tools, the Manager in your session, the loop, proof, the floor, video.
Codex, Cursor, Gemini CLI, Copilot, Windsurf, OpenCodenpx deskstudio add writes a rules block the agent reads, and the agent runs jobs through desk-run: the same desks, loop, proof and floor, with desks returning files rather than editing the repo. The installer is tested for each of these agents, and jobs have completed through the Claude, Codex and Antigravity CLIs.

Install.

Claude Code, one line.

/plugin install desk --marketplace adityareddy-dev/deskstudio

On a Claude Code older than 2.1.275: /plugin marketplace add adityareddy-dev/deskstudio, then /plugin install desk@deskstudio.

Then ask for something.

/desk:design a launch card for LinkedIn

Codex, Cursor, Gemini CLI, Copilot, Windsurf or OpenCode: one line in the project.

npx deskstudio add

It writes .desk/, copies the desks to .agents/skills/desk/ and puts one marked block in the agent's instruction file. Every agent by default, one with --agent codex. Run it again any time, it only touches what sits between its markers.

AgentWhere the block goes
CodexAGENTS.md
OpenCodeAGENTS.md
Gemini CLIGEMINI.md
Copilot.github/copilot-instructions.md
Cursor.cursor/rules/desk.mdc
Windsurf.windsurf/rules/desk.md

Then ask the agent in plain words, it reads the block and runs the studio.

design a launch card for LinkedIn

Or run it yourself: npx desk-run design "a launch card for LinkedIn". The desks call models through the CLI you are already signed in to (claude, codex or gemini) or a key (ANTHROPIC_API_KEY, OPENAI_API_KEY, GEMINI_API_KEY). npx desk-run doctor shows which path it will take. Files land in .desk/out/<job>/ either way.