Web prototype
π¨ The open-source Claude Design alternative. π₯οΈ Local-first desktop app. πΌοΈ Your coding agent becomes the design engine: prototypes, landing pages, dashboards, slides, images & video β real files, HTML/PDF/PPTX/MP4 export. π€ Claude Code / Codex / Cursor / Gemini / OpenCode / Qwen & 20+ CLIs via BYOK.
npx -y skills add nexu-io/open-design --skill web-prototypeAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
General-purpose desktop web prototype. Single self-contained HTML file built by copying the seed `assets/template.html` and pasting section layouts from `references/layouts.md`. Default for any landing / marketing / docs / SaaS page when no more specific skill matches.
SKILL.md
4.4 KB, as published. Nobody here has run it
Web Prototype Skill
Produce a single, self-contained HTML prototype using the bundled seed and layout library β not by writing CSS from scratch. The seed already encodes good defaults (typography, spacing, accent budget). Your job is to compose it.
Resource map
web-prototype/
βββ SKILL.md β you're reading this
βββ assets/
β βββ template.html β seed: tokens + class system + chrome (READ FIRST)
βββ references/
βββ layouts.md β 8 paste-ready section skeletons
βββ checklist.md β P0/P1/P2 self-review
Workflow
Step 0 β Pre-flight (do this once before writing anything)
- Read
assets/template.htmlend-to-end β at minimum through the<style>block. The class inventory at the top ofreferences/layouts.mdlists every class that must be defined there; if one is missing, add it to<style>rather than re-defining it inline on every section. - Read
references/layouts.mdso you know which section skeletons exist. Don't write a section type that isn't covered β pick the closest layout and adapt. - Read the active DESIGN.md (already injected into your system prompt). Map its colors to the six
:rootvariables in the seed; don't introduce new tokens.
Step 1 β Prepare index.html from the seed
Use assets/template.html as the seed for the canonical project file, normally index.html.
Replace the six :root variables with the active design system's tokens. Replace the page <title> and the topnav brand.
Step 2 β Plan the section list
Pick layouts before writing copy. Default rhythms (from layouts.md):
| Page kind | Default rhythm |
|---|---|
| Landing | 1 hero β 3 features β 4 stats or 5 quote β custom split β 6 cta |
| Marketing / editorial | 1 hero-center β 7 log list β 6 cta |
| Pricing | 1 hero-center β 8 comparison table β 6 cta |
| Docs index | 1 hero-center β 7 log list (sections of docs) β 6 cta |
State the chosen list in one sentence to the user before writing β they can redirect cheaply now and not after 200 lines of HTML.
Step 3 β Paste and fill
For each chosen layout, copy the <section> block from layouts.md into <main id="content"> of the project HTML. Replace bracketed [REPLACE] strings with real, specific copy from the user's brief. No filler β if a slot is empty, the section is the wrong choice; pick a different layout.
Step 4 β Self-check
Run through references/checklist.md top to bottom. Every P0 item must pass before you move on. P1 items should pass; P2 are bonus.
Step 5 β Write the project file
Write the completed HTML to the canonical project file, normally index.html. Then send one short ordinary assistant summary naming the file and describing what's there. Do not output the full HTML source in chat.
Hard rules (the seed protects most of these β don't fight it)
- Single accent, used at most twice per screen. Eyebrow + primary CTA is the default budget.
- Display font is serif (Iowan Old Style / Charter / Georgia in the seed). Sans for body. Mono for numerics, captions, eyebrows.
- Image placeholders, not external URLs. Use the
.ph-imgclass β never link to a stock photo CDN. - Mobile reflow already works via the seed's media query at 920px. Don't break it by adding fixed widths.
data-od-idon every<section>so comment mode can target it.
Output contract
Filesystem runs use project files as the source of truth:
index.html
Open Design derives the preview from the written project file. Do not also emit a source-code <artifact> block for the same generation turn.
One short summary after writing the file. Nothing after.