Cm design system
Ultimate Design System Intelligence. Manage, extract, replicate, and improve UI design systems. Extracts design tokens visually from existing sites (Harvester v5), manages multi-page tokens, and utilizes MCP servers like Google Stitch and Pencil.dev to generate complete, consistent design systems (Shadcn UI, Halo, Lunaris, Nitro). Use when the user asks to "extract design from a URL", "create a Shadcn design system", "analyze design tokens", "build a design system for", or "copy the UI style of".From its SKILL.md
npx -y skills add tody-agent/codymaster --skill cm-design-systemAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing 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.
SKILL.md
6.5 KB, ~1.6k tokens by cl100k_base, as published. Nobody here has run it
Goal
Establish a robust, stable, and consistent UI Design System by either extracting tokens from an existing source (Harvester mode) or scaffolding a fresh system based on premium Kits (Shadcn, Halo, Lunaris, Nitro). Output a strictly formatted DESIGN.md artifact ready for UI generation.
Instructions
-
Load Design Taste (if
.cm/design-taste.jsonexists): Before proposing tokens, calltopTaste(cwd, 'color'),topTaste(cwd, 'font'),topTaste(cwd, 'layout')fromsrc/utils/design-taste.ts. Bias selections towardapprovedentries; avoidrejected. Decay is 5 %/week so stale taste fades — trust live weights. After the user accepts or rejects a palette, callrecordTaste(cwd, { dimension, value, verdict })so future runs improve. -
Clarify Intent: Determine if the user wants to extract an existing design from a URL/Image or create a new system from a specific UI Kit.
-
Harvester Extraction (If applicable):
- Analyze the target visual source.
- Extract semantic colors (Primary, Secondary, Success, Warning, Danger), neutral ramps (50-900), typography scales, spacing tokens, and border radii.
-
Pre-built UI Kits (Default Mode):
- If the user wants a beautiful design quickly, DO NOT try to generate tokens manually.
- Instead, copy one of the pre-built design systems from
skills/cm-design-system/resources/into the project's.stitch/DESIGN.mdor continue directly incm-design-system:shadcn-default.md(Use this as the absolute DEFAULT if no style is specified)halo-modern.md(Premium dark mode, glowing accents)lunaris-advanced.md(Tech-focused, monospaced fonts)nitro-enterprise.md(High-contrast, data-dense enterprise)
-
Pencil.dev & Google Stitch MCP:
- Stitch path: Use
DESIGN.mdwith<!-- STITCH_TOKENS_START -->JSON block to feed design tokens into Google Stitch's AI generator viacm-design-system. - Pencil path: Use the Pencil MCP tools to create and manage
.pendesign files directly:
Pencil.dev Workflow:
1. open_document() → Create/open a .pen file 2. get_guidelines("web-app") → Load design rules for target platform 3. get_style_guide_tags() → Browse available style tags 4. get_style_guide(tags) → Get color palette, typography, spacing 5. set_variables() → Apply design tokens as .pen variables 6. batch_get(reusable:true)→ Read existing design system components 7. batch_design() → Insert/update components and screens 8. get_screenshot() → Verify visual outputMapping DESIGN.md tokens to .pen variables:
mcp_pencil_set_variables({ filePath: "design-system.pen", variables: { "primary": { "type": "color", "value": "#3B82F6" }, "secondary": { "type": "color", "value": "#10B981" }, "surface": { "type": "color", "value": "#FFFFFF" }, "text-primary": { "type": "color", "value": "#0F172A" }, "border-radius": { "type": "number", "value": 8 }, "spacing-sm": { "type": "number", "value": 8 }, "spacing-md": { "type": "number", "value": 16 }, "spacing-lg": { "type": "number", "value": 32 } } })- For UI component rendering against these tokens, continue through
cm-design-system. - IMPORTANT: Never use
view_fileorgrep_searchon.penfiles. Always usemcp_pencil_batch_get.
- Stitch path: Use
-
Export Custom
DESIGN.md(Extraction Mode):- If extracting from a site visually, create the
DESIGN.mddocument. - You MUST construct the exact JSON token block wrapped in
<!-- STITCH_TOKENS_START -->and<!-- STITCH_TOKENS_END -->.
- If extracting from a site visually, create the
Examples
Example 1: Extract design from a URL
Input: "Can you extract the design system from stripe.com to use in our project?" Action:
- Extract semantic colors: Primary (Blurple), surface colors, typography (Inter), rounded corners.
- Build the
DESIGN.mdincluding the Stitch STITCH_TOKENS JSON block with these tokens. - Tell the user: "Extraction complete. I've saved the tokens in
DESIGN.md. Would you like me to continue thecm-design-systemflow to generate components?"
Example 2: Scaffold a new robust design system
Input: "Create a modern dark-mode design system using Halo UI kit." Action:
- Generate a premium deep-dark color palette.
- Structure the tokens using Halo's spacing and glassmorphic shadow values.
- Output
DESIGN.mdwith STITCH_TOKENS. - Provide standard Tailwind config parameters matching the system.
Example 3: Create a design system in Pencil.dev
Input: "Create a design system for our SaaS dashboard directly in Pencil.dev." Action:
- Open or create a
.penfile:mcp_pencil_open_document({ filePathOrTemplate: "new" }). - Load design guidelines:
mcp_pencil_get_guidelines({ topic: "design-system" }). - Browse and select a style guide:
mcp_pencil_get_style_guide_tags()→mcp_pencil_get_style_guide({ tags: ["saas", "dashboard", "modern", "website", "clean"] }). - Apply design tokens via
mcp_pencil_set_variables()using the style guide's recommendations. - Create reusable components (buttons, cards, inputs) via
mcp_pencil_batch_design(). - Verify with
mcp_pencil_get_screenshot(). - Tell the user: "Design system created in
design-system.pen. Would you like me to build screens using these components?"
Constraints
- 🚫 DO NOT generate or build React/Vue UI components outside the
cm-design-systemflow. - 🚫 DO NOT skip the
<!-- STITCH_TOKENS_START -->wrapper inDESIGN.md. It is critical for Stitch MCP parsing. - 🚫 DO NOT guess accessibility constraints — ensure text-on-background contrast aligns with WCAG AA (handled via
cm-ux-masterheuristics). - 🚫 DO NOT use
view_fileorgrep_searchon.penfiles. Always use Pencil MCP tools (batch_get,batch_design, etc.). - ✅ ALWAYS define a complete neutral scale (50-900) even if the source site only uses a few grays.
What ships with it: 4 files
4.4 KB alongside SKILL.md
resources/
- halo-modern.md1.1 KB
- lunaris-advanced.md1.1 KB
- nitro-enterprise.md1.1 KB
- shadcn-default.md1.0 KB
Gives 2 of the 12 instructions most design systems skills give in ~1.6k tokens
Counted across 501 of the 520 authors here whose files we hold, read 2026-09-06
- Extract colors, typography, spacing, radii, shadows, breakpointshere, and in 20 of 501, across 10 files
- Create a self-contained dependency-free HTML preview pagein 20 of 501, across 10 files
- Keep touch targets at least 44x44pxin 20 of 501
- Score the UI across ten dimensionsin 18 of 501, across 8 files
- Animate exclusively via transform and opacityin 18 of 501, across 15 files
- Ensure WCAG AA color contrasthere, and in 18 of 501, across 13 files
- Generate DESIGN.md with rationale for each decisionin 17 of 501, across 7 files
- Ensure proper contrast and readabilityin 15 of 501, across 10 files
- Scan the codebase for existing style patternsin 15 of 501, across 6 files
- Give every interactive element a visible focus indicatorin 15 of 501, across 13 files
- Propose a design token setin 14 of 501, across 5 files
- Create a custom theme when none fitin 14 of 501, across 9 files
Said here and by no other author read
- Clarify whether the user wants extraction or creation
- Copy a pre-built kit instead of generating tokens manually
- Use shadcn-default when no style is specified
- Bias token selections toward approved taste entries
- Record taste verdicts after each palette decision
- Wrap DESIGN.md tokens in Stitch token markers
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.