Agent Native

design-md

This skill helps you create a DESIGN.md file, a markdown document that captures a brand's visual identity using design tokens and prose so AI agents can build…

by moesuitoCommunityNot reviewed

Community author

Agents
Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode, claude.ai and API
License
Apache-2.0 (permissive)
Pin
aeddb0dpinned Oct 9, 2026
Context cost
about 3,600 tokenswhen the skill loads
GitHub stars
3on moesuito/claude-skill-design-md
Scripts
None found

What it does

“Author a DESIGN.md file — a single markdown document that captures a brand's visual identity in tokens + prose so AI agents can build pixel-consistent UI from it. Use when the user has a website, brand guide, style guide, mood board, or existing product and wants to distill it into a DESIGN.md (a la getdesign.md / Google Stitch). Triggers - "create a DESIGN.md", "extract design system", "DESIGN.md from this site", "capture this brand", "make design tokens for an AI agent", "Stitch DESIGN.md", "awesome-design-md style".”
The author's description, from SKILL.md

Generated summary from the skill's own text

This skill helps you create a DESIGN.md file, a markdown document that captures a brand's visual identity using design tokens and prose so AI agents can build pixel-consistent UI from it. You extract colors, typography, spacing, and components from a website, brand guide, or product, then author a single reference file that sits alongside project documentation and teaches agents how the brand should look.

When to use it

  • Convert a website or brand guide into machine-readable design tokens
  • Onboard an AI agent to your project's existing visual identity
  • Distill a mood board or style guide into one markdown file
  • Create a design system reference for agents to build consistent UI

When not to

  • Writing CSS, Tailwind configs, or JSON design-token files
  • Creating a Figma plugin, component library, or Storybook setup
  • Producing a visual mood board or PDF instead of markdown

Install

These commands install from the publisher's repository and need no account.

skills CLI

npx skills add moesuito/claude-skill-design-md --skill design-md

Installs from the repository's default branch, which may have changed since the commit we checked.

GitHub CLI 2.90 or later

gh skill install moesuito/claude-skill-design-md design-md@aeddb0d588f8ded1cc4d431c3532dbb76cb12678

Installs the commit we checked (aeddb0d).

Copy by hand

Download the folder at aeddb0d and put it in .claude/skills/design-md for Claude Code and in .agents/skills/design-md for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.

Skill folder on GitHub at aeddb0d

Copy for your agent

A prompt for any coding agent. It installs this skill from GitHub at the pinned commit, copies the files as they are, and runs nothing unless you ask.

Prompt

Install the agent skill "design-md" by moesuito.

Source, pinned to commit aeddb0d588f8ded1cc4d431c3532dbb76cb12678:
https://github.com/moesuito/claude-skill-design-md/tree/aeddb0d588f8ded1cc4d431c3532dbb76cb12678

1. Download that folder at exactly this commit. Do not use the default branch.
2. Copy every file unchanged, keeping the folder structure, into .claude/skills/design-md/ for Claude Code and .agents/skills/design-md/ for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. Create the folders if they do not exist.
3. Do not edit the files, and do not run any script in the folder unless I ask you to.
4. When you are done, list the files you copied and where you put them.

Listing and checks: https://www.agentnative.dev/skills/moesuito/design-md

SKILL.md at the pin

---
name: design-md
description: Author a DESIGN.md file — a single markdown document that captures a brand's visual identity in tokens + prose so AI agents can build pixel-consistent UI from it. Use when the user has a website, brand guide, style guide, mood board, or existing product and wants to distill it into a DESIGN.md (a la getdesign.md / Google Stitch). Triggers - "create a DESIGN.md", "extract design system", "DESIGN.md from this site", "capture this brand", "make design tokens for an AI agent", "Stitch DESIGN.md", "awesome-design-md style".
---

# DESIGN.md Author

Distill a visual identity into a single markdown file that an AI coding agent can read and turn into pixel-consistent UI. The artifact is `DESIGN.md`, the format pioneered by Google Stitch and curated in `awesome-design-md`. It sits beside `AGENTS.md` — `AGENTS.md` says how to build, `DESIGN.md` says how it should look.

## When to use

Invoke this skill when the user wants to:
- Capture a website's visual language into one file (e.g. "make a DESIGN.md for stripe.com")
- Turn a brand guide / style guide / mood board into AI-readable design tokens
- Onboard an AI agent to a project's existing visual identity
- Build a "design.md" the way `awesome-design-md` does it

Do NOT use this skill for:
- Writing a CSS file, Tailwind config, or design-tokens JSON — DESIGN.md is markdown-first, prose + tokens, optimized for LLM reading.
- A mood board or moodboard PDF — that's an input, not an output.
- A figma plugin, code component library, or storybook setup.

## Inputs you need before authoring

Before writing a single line, gather (ask the user concisely if missing):

1. **Identity source** — a URL, a brand book, screenshots, an existing product, or a mood-board description. The skill is only as accurate as its input. If the user has only a vibe ("I want it to feel like Linear meets Notion"), say so and treat the output as inspirational, not extracted.
2. **Surface scope** — marketing site? product UI? mobile app? blog? Default is "marketing surface" the way the awesome-design-md repo treats it.
3. **Light or dark** — many brands ship one or both. Pick the canonical canvas; document the other under Known Gaps if not extracted.
4. **Format choice** — frontmatter (newer, token-first, YAML + prose) vs numbered (older, prose-first, 9 sections). See "Format selection" below. If unspecified, default to **frontmatter**.

If the user gives you a URL with no other constraints, browse it (or ask them to grant access), inspect the live site for hex values, font families, radii, and spacing, then proceed.

## Format selection

Two formats coexist in `awesome-design-md`. Both are valid; pick based on the user's preference and the level of structured tokenization they want.

### Frontmatter format (default — 60% of the corpus)
- YAML frontmatter declares tokens: `colors`, `typography`, `rounded`, `spacing`, `components`.
- Components reference tokens via `{token.refs}` interpolation (e.g. `backgroundColor: "{colors.primary}"`).
- Prose sections below the frontmatter explain the why and how.
- Use when the user wants tokens an LLM can pick up without parsing prose, or when components have many states.
- Spec & full skeleton — see `references/frontmatter-format.md` and `templates/frontmatter.md`.

### Numbered format (older — 40% of the corpus)
- No YAML. Pure markdown with 9 numbered sections, hex values inline.
- Use when the brand has fewer formal tokens, or when prose is more useful than a token graph (heavy editorial / photography-driven brands).
- Spec & full skeleton — see `references/numbered-format.md` and `templates/numbered.md`.

If you're unsure, **default to frontmatter** — it's what newer sites in the corpus use and it gives the agent more to bind to.

## The authoring process

Run these phases in order. Don't skip ahead.

### Phase 1 — Extract raw values

From the source identity, pull:

- **Hex values for**: page canvas, ink/text (heading, body, muted, disabled), brand primary, primary hover/active/focus, surface ladders (1–4 lifts), hairline borders, semantic (success, warning, error), accent decorations (gradients, shadows).
- **Typography**: display family + body family + mono family (with public fallbacks if any are proprietary). For each role: size (px), weight, line-height, letter-spacing.
- **Border radius scale**: smallest (xs, ~4px) → button (md, ~8px) → cards (lg, ~12px) → big tiles (xl, ~16px) → pill (9999px).
- **Spacing scale**: usually a 4px or 8px base, then scale tokens xxs/xs/sm/md/lg/xl/xxl + a section-padding token (typically 64–96px).
- **Components**: buttons (primary, secondary, ghost, inverse, disabled), cards (feature, pricing, testimonial, product-mockup), inputs, navigation, footer, badges/pills, tabs.
- **Shadow / elevation system**: how depth is conveyed (real shadow? surface lift? hairline border? color-block?).
- **Photography & illustration treatment**: dominant or absent? full-bleed? framed in cards? line-art? product UI?

Record every value next to its source observation ("on /pricing, the featured tier card uses..."). If a value cannot be observed, mark it as a Known Gap rather than guessing.

### Phase 2 — Name tokens semantically

Tokens use **role names**, not literal names. The same hex can wear different role names in different brands. Examples:

- `colors.canvas` not `colors.white` — canvas is the role; `#ffffff` is the value.
- `colors.ink` not `colors.gray-900` — ink is the role.
- `colors.primary` for the single signature accent (the one chromatic color a brand defends).
- `colors.surface-1` … `colors.surface-4` for a step-ladder of card backgrounds (use only as many steps as the brand actually uses).
- `colors.hairline` and `colors.hairline-strong` for 1px divider tones.
- `colors.on-primary`, `colors.on-dark` — text colors guaranteed legible on a given surface.
- Semantic: `colors.success`, `colors.warning`, `colors.error`, `colors.info`.

Typography token names follow `display-xl/lg/md/sm`, `headline`, `title-lg/md/sm`, `subhead`, `body-lg/md/sm`, `caption`, `eyebrow`, `button`, `nav-link`, `code`/`mono`. Drop tokens the brand doesn't use; don't pad.

Spacing: `xxs/xs/sm/md/lg/xl/xxl/section`. Border radius: `xs/sm/md/lg/xl/xxl/pill/full`.

### Phase 3 — Pick the canonical canvas + brand voltage

Every DESIGN.md needs to answer two questions in its first paragraph:

1. **What is the canvas?** — the page-level background that anchors the entire system. (Linear: `#010102`. Stripe: `#ffffff`. Claude: cream `#faf9f5`. Vercel: pure white.)
2. **Where is the brand voltage?** — the one chromatic accent, where it goes, and how scarce it is. (Linear: lavender on brand mark + primary CTA + focus only. Stripe: purple on CTA + links. Claude: coral on CTA + full-bleed callout cards.)

If you can't answer both in one sentence each, you haven't extracted enough yet — go back to Phase 1.

### Phase 4 — Write the prose

This is where the file earns its keep. Tokens alone are not enough; an LLM needs the **opinionated voice** that explains how the brand differs from its category. See `references/writing-voice.md` for the full guide. Shortest version:

- **Be specific, not generic.** "Warm coral with slight muted hue" not "orange-ish". "Lavender-blue with negative tracking" not "purple".
- **Compare to peers.** "Where most AI brands use cool blue and slate, Claude uses warm cream and coral." This signals what NOT to default to.
- **Document scarcity rules.** If an accent is used only on the brand mark + primary CTA + focus ring, say exactly that. Otherwise the agent will paint everything that color.
- **Include anti-patterns.** A `Don't` list is half the document's value. "Don't use lavender as a section background. Don't pill-round CTAs. Don't introduce a second chromatic accent."
- **Reference tokens, not raw hex.** In the frontmatter format, write `{colors.primary}` not `#5e6ad2` in the prose. The frontmatter is the source of truth; prose mirrors it.
- **Document what's NOT visible.** Add a Known Gaps section. Light mode missing? Form errors not extracted? Custom proprietary font? Say so.
- **Provide font substitutes.** If the brand uses a proprietary face, name an open-source equivalent (Inter, Geist Sans, JetBrains Mono, EB Garamond, etc.).

### Phase 5 — Assemble & lint

Write the file in the chosen format using the templates. Then sanity-check:

- Does every prose mention of a hex have a matching token in YAML? (frontmatter format)
- Does every component reference real tokens?
- Are state variants (`-hover`, `-active`, `-focused`, `-disabled`, `-pressed`) present where the brand uses them?
- Is the type hierarchy complete from `display-xl` down to `caption`?
- Is the responsive section concrete (named breakpoints + what changes), not "responsive design considered"?
- Is there an `Iteration Guide` (frontmatter) or `Agent Prompt Guide` (numbered) at the end with copy-pasteable agent prompts?
- Do you have at least one `Don't`?

Place the file at the project root.

### Phase 6 — Generate the showcase HTML

Every DESIGN.md ships with a parallel `design-showcase.html` — a single-file, double-clickable visual rendering of the brand's tokens. The user opens it directly with a browser to *see* the system without running a server, parsing markdown, or installing tooling.

**Always do this immediately after Phase 5.** The showcase is part of the deliverable, not an optional extra.

1. Read `templates/showcase.html` — a complete working scaffold with neutral placeholder content (a generic "BRAND NAME" with a cyan-blue voltage on a near-black canvas). It renders end-to-end so you can verify structure; your job is to substitute every BRAND-SPECIFIC marker for the new brand.
2. Read `references/showcase-format.md` — the substitution spec. It documents which `:root` variables map to which frontmatter tokens, which sections are universal vs conditional (e.g. section 06 product UI is only for software/tools brands), and how to handle edge cases (light-canvas brands, brands with no logo, brands with > 8 colors).
3. Adapt the template — search for the `BRAND-SPECIFIC` HTML comments and substitute every marked spot:
   - `:root` CSS variables → 1:1 mapping with the brand's frontmatter `colors:`, `rounded:`, `spacing:` tokens
   - Google Fonts URL → rebuilt for the brand's display + body + mono families (with weights from the typography section)
   - Logo SVG → inline SVG of the brand's mark (or wordmark-only if no logo provided)
   - Hero copy, section descriptions, card content, testimonials → all rewritten for the brand
   - Color swatches → one per token in `colors:`, auto-grouped (Brand voltage / Surface / Text / Borders+Semantic)
   - Typography rows → one per role in `typography:`
   - Section 06 (product UI primitives) → adapt to brand category or remove entirely
   - Do's & Don'ts → pulled directly from the DESIGN.md prose
4. Save as `design-showcase.html` in the same folder as the DESIGN.md.

The generated HTML must:
- Render correctly when opened with a double-click — no `fetch()`, no local server required, no missing fonts.
- Show every color and typography role from the DESIGN.md.
- Be unmistakably the new brand at a glance — zero template placeholder content bleeding through.

Tell the user both files landed (`DESIGN.md` + `design-showcase.html`) and how to use each: DESIGN.md for AI agents to build UI, the HTML to visualize the system. Mention they can also drag the `DESIGN.md` onto a generic viewer (`design-md-viewer.html` if available, or one served from the user's tooling) — but the brand-specific `design-showcase.html` is the canonical visual artifact.

## Voice principles (the non-negotiables)

These show up in every well-written DESIGN.md in the corpus. If a draft is missing them, it reads as generic AI output and the agent will produce generic AI UI.

1. **One canvas, one voltage.** State both in the first paragraph.
2. **Type hierarchy is a complete table**, not bullet points. Size + weight + line-height + letter-spacing per row.
3. **Scarcity rules for accents** — list every place the primary appears, and only those places.
4. **Surface ladder is explicit** — if the brand has 1, 2, 3, or 4 surface lifts, name each and say what lives on each.
5. **Cards are named** — `feature-card`, `pricing-card`, `testimonial-card`, `product-mockup-card-dark`, `cta-banner`. Each gets its own component entry.
6. **Photography & illustration treatment is documented** — even if the answer is "no decorative imagery". Tesla's restraint is as important to capture as Pinterest's masonry.
7. **Known Gaps closes the file** — light mode, animations, form errors, proprietary fonts, sub-product surfaces.

## Quality bar

A finished DESIGN.md should let an agent that has never seen the brand:
- Pick the right canvas color on the first try.
- Pick the right primary CTA color on the first try.
- Use the right font weight at display sizes (e.g. Stripe is 300, not 700).
- Apply the correct border radius (Linear is 8px; Stripe is 4–8px; Notion uses pills).
- Avoid the brand's anti-patterns (no second accent, no pill CTAs where forbidden, no neutral gray shadows where the brand uses tinted shadows).

If you can't simulate "build a hero in this brand's voice" from your draft alone (without the source), the draft is incomplete.

## What to look at when stuck

The corpus at `D:\Antigravity\design-md\design-md\` (when present) is the reference. Particularly strong examples to mimic:

- **Frontmatter, dark, restrained accent**: `linear.app/DESIGN.md`
- **Frontmatter, warm editorial canvas**: `claude/DESIGN.md`
- **Frontmatter, photography-first**: `apple/DESIGN.md`, `nike/DESIGN.md`
- **Numbered, fintech precision**: `stripe/DESIGN.md`
- **Numbered, monochrome engineering**: `vercel/DESIGN.md`
- **Numbered, radical subtraction**: `tesla/DESIGN.md`

Read one in your chosen format end-to-end before writing — the voice is contagious in the right way.

## File map

- `references/frontmatter-format.md` — full spec for the YAML+prose format, section-by-section.
- `references/numbered-format.md` — full spec for the 9-section pure-prose format.
- `references/writing-voice.md` — how to write the prose so it actually steers an agent.
- `references/showcase-format.md` — substitution spec for the showcase HTML template (Phase 6).
- `templates/frontmatter.md` — fillable skeleton for the frontmatter format.
- `templates/numbered.md` — fillable skeleton for the numbered format.
- `templates/showcase.html` — generic working scaffold for the showcase HTML; adapted in Phase 6 by replacing every BRAND-SPECIFIC marker.

Read the format spec for whichever format you chose, fill the matching template, then in Phase 6 read `references/showcase-format.md` and adapt `templates/showcase.html` for the same brand.

From moesuito/claude-skill-design-md at aeddb0d, shown as plain text under its license: Apache-2.0 (permissive). The license text is in LICENSE.

View SKILL.md on GitHub at aeddb0d

Files

10 files, 174 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.

Skill folder on GitHub at aeddb0d
  • next-bundle-optimizer

    Audits Next.js applications to identify and reduce browser bundle size and initial-load work by analyzing routes, dependencies and client outputs.

    by VercelOfficial publisher

    Claude Code, Codex, Cursor +4 · about 2.3K tokens · pinned 6 days ago

  • next-cache-components-optimizer

    Optimize Next.js routes to display meaningful UI instantly on initial load or client navigation by encoding the optimization goal as a failing…

    by VercelOfficial publisher

    Claude Code, Codex, Cursor +4 · about 5.6K tokens · pinned 6 days ago

  • next-partial-prefetching-adoption

    Enables Partial Prefetching in Next.js 16.3+ apps and guides adoption through auditing Link prefetch behavior, preserving UI in tests or manually, and…

    by VercelOfficial publisher

    Claude Code, Codex, Cursor +4 · about 6.7K tokens · pinned 6 days ago

  • remotion-interactivity

    This skill teaches how to structure Remotion code so the Studio IDE recognizes and makes it interactive.

    by RemotionOfficial publisher

    Claude Code, Codex, Cursor +3 · about 2.4K tokens · pinned 6 days ago

  • remotion-interactivity

    This skill teaches how to structure Remotion video components to unlock Studio interactivity features like click selection, drag-and-drop, resizing, rotation…

    by RemotionOfficial publisher

    Claude Code, Codex, Cursor +3 · about 4.8K tokens · pinned 6 days ago

  • remotion-maps

    This skill enables creating map-based animations with Remotion using four different mapping libraries: Mapbox, MapLibre, MapTiler, or CesiumJS.

    by RemotionOfficial publisher

    Contains scripts

    Claude Code, Codex, Cursor +3 · about 240 tokens · pinned 6 days ago

The skills listed here are third-party software, collected from public GitHub repositories as a catalog of recent skills and provided as is. Agent Native does not write or control them and is not responsible for any harm, loss or damage caused by installing or using them. Labels and checks describe what we saw at one commit and are not a guarantee. Read a skill's files before you run it. Terms of use