Loaded when the user asks you to produce a reusable design system or UI kit from an existing brand, codebase, or product.
Where design systems live
All design systems for a project live under ./opendesign/design-systems/<name>/. Multiple systems can coexist — for example, ./opendesign/design-systems/marketing/, ./opendesign/design-systems/product/, ./opendesign/design-systems/deck-template/. The name is required and descriptive of what the system is for (brand surface, product surface, deck template, co-brand partner). Never use design-system/ singular or generic names like main.
A folder is recognized as a design system if it contains either a SKILL.md or a tokens file (colors_and_type.css at the root, or tokens/colors_and_type.css nested). opendesign accepts either marker when detecting systems. Always write both: the SKILL.md makes the folder portable as a standalone agent skill, and the tokens file is the canonical output of this skill.
Required paths (non-negotiable)
Every generated system MUST write to these exact paths, relative to project root. opendesign auto-discovery depends on them — deviating breaks detection.
./opendesign/design-systems/<name>/SKILL.md — portable skill marker.
./opendesign/design-systems/<name>/tokens/colors_and_type.css — canonical tokens file. Nested under tokens/, not at the folder root. This is the discovery marker.
./opendesign/design-systems/<name>/README.md — human-facing index.
Do not write the tokens file to any other path (no colors.css, no styles/tokens.css, no flat colors_and_type.css at the root of the system folder). Do not omit SKILL.md. Do not rename the design-systems/ parent inside opendesign/.
What a design system folder contains
opendesign/design-systems/<name>/
README.md
tokens/
colors_and_type.css
fonts/
[font files the brand actually ships]
assets/
logos/
icons/
imagery/
brand/
voice-and-tone.md
style-notes.md
ui-kit-<product>/
components/ # JSX components, one per file
index.html # interactive showcase of core screens
sample-slides/ # only if a deck template was provided
Process
- Explore provided assets. Read the codebase, the Figma file (via its design context API when available), screenshots, decks. Prefer codebase source and Figma data over screenshots in every case.
- Write the README. State your understanding of the brand, list every source you consulted, and provide an index into the rest of the folder.
- Extract tokens. Write color and type tokens to exactly
./opendesign/design-systems/<name>/tokens/colors_and_type.css — not the folder root, not a renamed file. Also write ./opendesign/design-systems/<name>/SKILL.md so the folder is recognized and portable. Define raw variables (--fg-1, --fg-2, --bg-1, --accent-1, font families, weights, size steps) and semantic variables (--h1, --h2, --body, --caption, --surface-primary, --border-subtle, etc.). Semantic vars reference raw vars.
- Document content fundamentals. Voice, tone, casing (title case vs sentence case), punctuation rules, emoji use, numeric formatting, how the brand talks to users versus about itself.
- Document visual foundations. Color (roles, not just swatches), type (scale, pairing, usage rules), spacing (scale + when to apply), backgrounds (treatments and when each appears), motion (timings, easing, common patterns), hover and press states, borders, shadows, radii, card patterns, imagery vibe.
- Document iconography. Icon fonts, SVG sprites, raster assets, emoji policy, unicode usage. Copy the real asset files into
assets/. Never hand-draw.
- Build UI kits per product. Pixel-perfect recreations of existing components as JSX, one component per file, token-driven. Provide
index.html that assembles the core screens so the kit can be reviewed interactively.
- Build sample slides. Only if a deck template was given. Use the deck skill's conventions.
Hard rules
- Never recreate UIs from screenshots alone when the codebase is available. Codebase is source of truth; screenshots are lossy.
- Never read SVG source files. They burn context for no benefit. Copy the file into
assets/ and reference it by filename.
- Never hand-draw SVGs. Copy the real assets.
- Never invent components. UI kits recreate what exists. If a component is not in the source, leave it out or stub it with a labeled placeholder. Do not fill gaps with your own interpretation.
- Stop and ask if key resources (codebase, Figma file, brand guidelines) are inaccessible. Do not proceed on guesswork.
- Avoid visual motif defaults the industry has exhausted: bluish-purple gradients, emoji-as-feature-cards, rounded cards with a colored left-border accent strip.
Ending the task
Close with a clear ask to iterate: list the parts you were confident about, the parts you were unsure about, and the decisions you want the user to confirm before the system is considered canonical.
1---2name: create-design-system3description: Use when the user asks to produce a reusable design system or UI kit from an existing brand, codebase, or product. Writes to ./opendesign/design-systems/<name>/ so opendesign can auto-discover it in future sessions.4---56Loaded when the user asks you to produce a reusable design system or UI kit from an existing brand, codebase, or product.78## Where design systems live910All design systems for a project live under `./opendesign/design-systems/<name>/`. Multiple systems can coexist — for example, `./opendesign/design-systems/marketing/`, `./opendesign/design-systems/product/`, `./opendesign/design-systems/deck-template/`. The name is required and descriptive of what the system is for (brand surface, product surface, deck template, co-brand partner). Never use `design-system/` singular or generic names like `main`.1112A folder is recognized as a design system if it contains **either** a `SKILL.md` **or** a tokens file (`colors_and_type.css` at the root, or `tokens/colors_and_type.css` nested). `opendesign` accepts either marker when detecting systems. Always write both: the `SKILL.md` makes the folder portable as a standalone agent skill, and the tokens file is the canonical output of this skill.1314## Required paths (non-negotiable)1516Every generated system MUST write to these exact paths, relative to project root. `opendesign` auto-discovery depends on them — deviating breaks detection.1718- `./opendesign/design-systems/<name>/SKILL.md` — portable skill marker.19- `./opendesign/design-systems/<name>/tokens/colors_and_type.css` — canonical tokens file. Nested under `tokens/`, not at the folder root. This is the discovery marker.20- `./opendesign/design-systems/<name>/README.md` — human-facing index.2122Do not write the tokens file to any other path (no `colors.css`, no `styles/tokens.css`, no flat `colors_and_type.css` at the root of the system folder). Do not omit `SKILL.md`. Do not rename the `design-systems/` parent inside `opendesign/`.2324## What a design system folder contains2526```27opendesign/design-systems/<name>/28 README.md29 tokens/30 colors_and_type.css31 fonts/32 [font files the brand actually ships]33 assets/34 logos/35 icons/36 imagery/37 brand/38 voice-and-tone.md39 style-notes.md40 ui-kit-<product>/41 components/ # JSX components, one per file42 index.html # interactive showcase of core screens43 sample-slides/ # only if a deck template was provided44```4546## Process47481. **Explore provided assets.** Read the codebase, the Figma file (via its design context API when available), screenshots, decks. Prefer codebase source and Figma data over screenshots in every case.492. **Write the README.** State your understanding of the brand, list every source you consulted, and provide an index into the rest of the folder.503. **Extract tokens.** Write color and type tokens to exactly `./opendesign/design-systems/<name>/tokens/colors_and_type.css` — not the folder root, not a renamed file. Also write `./opendesign/design-systems/<name>/SKILL.md` so the folder is recognized and portable. Define raw variables (`--fg-1`, `--fg-2`, `--bg-1`, `--accent-1`, font families, weights, size steps) and semantic variables (`--h1`, `--h2`, `--body`, `--caption`, `--surface-primary`, `--border-subtle`, etc.). Semantic vars reference raw vars.514. **Document content fundamentals.** Voice, tone, casing (title case vs sentence case), punctuation rules, emoji use, numeric formatting, how the brand talks to users versus about itself.525. **Document visual foundations.** Color (roles, not just swatches), type (scale, pairing, usage rules), spacing (scale + when to apply), backgrounds (treatments and when each appears), motion (timings, easing, common patterns), hover and press states, borders, shadows, radii, card patterns, imagery vibe.536. **Document iconography.** Icon fonts, SVG sprites, raster assets, emoji policy, unicode usage. Copy the real asset files into `assets/`. Never hand-draw.547. **Build UI kits per product.** Pixel-perfect recreations of existing components as JSX, one component per file, token-driven. Provide `index.html` that assembles the core screens so the kit can be reviewed interactively.558. **Build sample slides.** Only if a deck template was given. Use the deck skill's conventions.5657## Hard rules5859- Never recreate UIs from screenshots alone when the codebase is available. Codebase is source of truth; screenshots are lossy.60- Never read SVG source files. They burn context for no benefit. Copy the file into `assets/` and reference it by filename.61- Never hand-draw SVGs. Copy the real assets.62- Never invent components. UI kits recreate what exists. If a component is not in the source, leave it out or stub it with a labeled placeholder. Do not fill gaps with your own interpretation.63- Stop and ask if key resources (codebase, Figma file, brand guidelines) are inaccessible. Do not proceed on guesswork.64- Avoid visual motif defaults the industry has exhausted: bluish-purple gradients, emoji-as-feature-cards, rounded cards with a colored left-border accent strip.6566## Ending the task6768Close with a clear ask to iterate: list the parts you were confident about, the parts you were unsure about, and the decisions you want the user to confirm before the system is considered canonical.