Apache-2.0 · Open Source

Your coding agent
becomes a design engine

Open Design is the open-source alternative to Claude Design. Local-first, BYOK at every layer — 19 composable skills and 71 brand-grade design systems, driven by the agent already on your laptop.

19

Composable Skills

71

Design Systems

7

Agent Runtimes

5

Visual Directions

Six ideas that make this different

Not another wrapper. A skill-driven design workflow that runs on your machine, deploys to Vercel, and stays yours.

🔌

Your agent, not ours

The daemon scans your PATH for Claude Code, Codex, Cursor, Gemini CLI, OpenCode, or Qwen. Whichever it finds becomes the design engine. No lock-in.

📁

Skills are files

Following Claude Code's SKILL.md convention — drop a folder into skills/, restart the daemon, it appears in the picker. No plugin API, no build step.

🎨

71 design systems

Portable Markdown, not theme JSON. Linear, Stripe, Vercel, Airbnb, Tesla, Notion, Apple, and 64 more — switch system, next render uses the new tokens.

Question form first

Every fresh brief begins with a discovery form — surface, audience, tone, brand context. 30 seconds of radios beats 30 minutes of redirects.

💻

Real filesystem

The daemon spawns the CLI in your project folder. The agent gets real Read, Write, Bash, WebFetch against a real on-disk environment. Not a sandbox.

🧱

Composable prompt stack

Discovery directives, identity charter, active DESIGN.md, active SKILL.md, metadata, side files — every layer is a file you can edit.

From brief to artifact in four steps

Type a prompt. The system handles the rest — no config, no boilerplate.

01

Discovery form

The agent emits a question form — surface, audience, tone, brand context, scale. Locks the brief before writing a single pixel.

02

Direction pick

No brand? Choose from 5 curated visual directions — Editorial, Modern Minimal, Tech Utility, Brutalist, or Soft Warm. One click, deterministic palette.

03

Live generation

A TodoWrite plan streams into the UI. The agent reads skill assets, runs a 5-dimensional critique, and emits a production artifact.

04

Preview & export

The artifact renders in a sandboxed iframe. Download as HTML, PDF, PPTX, or ZIP. Edit in place via the file workspace.

Works with the tools you already use

Auto-detected from PATH on daemon boot. No configuration required — if it's installed, it works.

Claude Code
Codex CLI
Cursor Agent
Gemini CLI
OpenCode
Qwen Code
Anthropic API (BYOK)

Adding a new CLI is one entry in daemon/agents.js. Streaming format is either claude-stream-json or plain.

19 composable skills, ready to go

Each skill is a folder — SKILL.md + assets + references. Drop one in, restart, it appears in the picker.

Design Surfaces

prototype

web-prototype

Single-page HTML — landings, marketing, hero pages

prototype

saas-landing

Hero, features, pricing, CTA marketing layout

prototype

dashboard

Admin and analytics with sidebar + data-dense layout

prototype

pricing-page

Standalone pricing and comparison tables

prototype

mobile-app

iPhone 15 Pro / Pixel framed app screens

prototype

docs-page

Three-column documentation layout

prototype

blog-post

Editorial long-form articles

deck

guizang-ppt

Magazine-style web PPT with WebGL hero backgrounds

deck

simple-deck

Minimal horizontal-swipe deck

Document & Work Product

template

pm-spec

PM specification doc with TOC + decision log

template

weekly-update

Team weekly with progress, blockers, next steps

template

meeting-notes

Meeting decision log

template

eng-runbook

Incident runbook

template

finance-report

Executive finance summary

template

invoice

Single-page invoice

template

kanban-board

Board snapshot

template

team-okrs

OKR scoresheet

template

hr-onboarding

Role onboarding plan

prototype

mobile-onboarding

Multi-screen mobile onboarding flow

71 brand-grade design systems

Portable Markdown, not theme JSON. Each is a 9-section DESIGN.md — color, typography, spacing, layout, components, motion, voice, brand, anti-patterns.

Linear
Stripe
Vercel
Airbnb
Tesla
Notion
Anthropic
Apple
Spotify
Supabase
Figma
Cursor
Raycast
NVIDIA
Ferrari
Linear
Stripe
Vercel
Airbnb
Tesla
Notion
Anthropic
Apple
Spotify
Supabase
Figma
Cursor
Raycast
NVIDIA
Ferrari

AI & LLM

Claude, Cohere, Mistral, MiniMax, Together, Replicate, RunwayML, ElevenLabs, Ollama, x.AI

Developer Tools

Cursor, Vercel, Linear, Framer, Expo, ClickHouse, MongoDB, Supabase, HashiCorp, PostHog, Sentry, Warp

Productivity

Notion, Figma, Miro, Airtable, Superhuman, Intercom, Zapier, Cal, Clay, Raycast

Fintech

Stripe, Coinbase, Binance, Kraken, Mastercard, Revolut, Wise

E-Commerce & Consumer

Shopify, Airbnb, Uber, Nike, Starbucks, Pinterest

Automotive

Tesla, BMW, Ferrari, Lamborghini, Bugatti, Renault

Simple, composable, local-first

A Vite + React SPA talks to a local Express daemon, which spawns your CLI agent in a real project folder.

┌─────────────────────────── browser ──────────────────────────────┐
│                                                                  │
│    Vite + React SPA  (chat · file workspace · iframe preview)    │
│                                                                  │
└───────────────┬────────────────────────────────────┬─────────────┘
                │ /api/* (proxied in dev)             │ direct (BYOK)
                ▼                                     ▼
    ┌──────────────────────┐              ┌──────────────────────┐
    │    Local daemon       │              │   Anthropic SDK      │
    │    (Express + SQLite) │              │   (browser fallback) │
    │                       │              └──────────────────────┘
    │    /api/agents        │
    │    /api/skills        │
    │    /api/design-systems│
    │    /api/chat (SSE)    │
    └──────────┬────────────┘
               │ spawn(cli, [...], { cwd: .od/projects/<id> })
               ▼
    ┌──────────────────────────────────────────────────────────────┐
    │  claude · codex · cursor · gemini · opencode · qwen          │
    │  reads SKILL.md + DESIGN.md, writes artifacts to disk        │
    └──────────────────────────────────────────────────────────────┘

Frontend

Vite 5 + React 18 + TypeScript. Sandboxed iframe preview via srcdoc. Streaming artifact parser.

Daemon

Node 18+ · Express · SSE streaming · better-sqlite3 for projects, conversations, messages, and tabs.

Agent Transport

child_process.spawn with claude-stream-json parser for Claude Code, line-buffered stdout for others.

Three commands. That's it.

Clone, install, run. The daemon auto-detects your agent CLI, loads all skills and design systems, and creates the runtime folder.

# Clone the repo
git clone https://github.com/nexu-io/open-design.git
cd open-design

# Install dependencies
pnpm install

# Start the daemon + dev server
pnpm dev:all

# Open http://localhost:5173

Auto-detection

Scans PATH for installed agent CLIs and picks the best one automatically. No config file to write.

Zero init

No od init step. The daemon creates .od/ with SQLite DB, project folders, and artifact storage on first boot.

BYOK fallback

No agent CLI installed? Paste an Anthropic API key in the welcome dialog and use the browser-side SDK path.

Deployable

Runs locally with pnpm dev, deploys to Vercel, or runs as a single-process prod server with npm start.

How Open Design compares

Feature comparison with Claude Design and Open CoDesign — the two closest alternatives.

Feature Claude Design Open CoDesign Open Design
License Closed MIT Apache-2.0
Form factor Web (claude.ai) Electron desktop Web + local daemon
Deploy to Vercel
Agent runtime Bundled (Opus) Bundled (pi-ai) Your existing CLI
Skills Proprietary 12 custom modules 19 file-based SKILL.md
Design systems Proprietary Roadmap 71 shipped
Init question form ✓ Hard rule, turn 1
Direction picker ✓ 5 directions
5-dim self-critique ✓ Pre-emit gate
Export formats Limited HTML/PDF/PPTX/ZIP/MD HTML/PDF/PPTX/ZIP/MD
Minimum billing Pro / Max / Team BYOK BYOK

Anti-AI-slop by design

Built-in guardrails that prevent the generic, forgettable output typical of AI design tools.

Question form first

Turn 1 is always a discovery form — no thinking, no tools, no narration. The user locks decisions at radio speed.

Brand-spec extraction

When the user attaches a screenshot or URL, the agent runs a 5-step protocol before writing CSS. Never guesses brand colors from memory.

5-dimensional critique

Before emitting, the agent scores its output across philosophy, hierarchy, execution, specificity, and restraint. Anything under 3/5 is fixed.

P0/P1/P2 checklists

Every skill ships a checklist with hard P0 gates. The agent must pass P0 before emitting the artifact.

Slop blacklist

Purple gradients, generic emoji icons, rounded-card-with-left-border, hand-drawn SVG humans, Inter as display — explicitly forbidden.

Honest placeholders

When the agent doesn't have a real number, it writes — or a labelled grey block. Not "10× faster".

The highest-leverage contributions are usually one folder

Issues, PRs, new skills, and new design systems are all welcome.

📂

Add a skill

Drop a folder into skills/ following the SKILL.md convention. One folder, one Markdown file.

🎨

Add a design system

Drop a DESIGN.md into design-systems/<brand>/ using the 9-section schema.

🔌

Wire a new agent

One entry in daemon/agents.js — bin name, argv builder, streaming format.

Full walkthrough, bar-for-merging, and code style → CONTRIBUTING.md

Design with the agent
on your laptop

Clone, install, run. Open source, local-first, no lock-in.

View on GitHub → Quickstart Guide