/create-design-md
Create or update a DESIGN.md from an existing product repository or public website. Use when asked to document an interface's design language, reconstruct its visual system, extract design tokens and guidance from current evidence, or give coding agents persistent UI context. Do
$ npx -y skills add ibelick/ui-skills --skill create-design-md --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/create-design-md
Context preview
The summary Claude sees to decide when to auto-load this skill.
Create or update a DESIGN.md from an existing product repository or public website. Use when asked to document an interface's design language, reconstruct its visual system, extract design tokens and guidance from current evidence, or give coding agents persistent UI context. Do
SKILL.md
create-design-md.SKILL.mdname: create-design-md
description: Create or update a DESIGN.md from an existing product repository or public website. Use when asked to document an interface's design language, reconstruct its visual system, extract design tokens and guidance from current evidence, or give coding agents persistent UI context. Do not modify product source or promote accidental implementation patterns into design decisions.
Create DESIGN.md
Create a `DESIGN.md` for one product or coherent website. Record the design language that governs it, not every value that happens to exist.
Boundaries
- Modify only `DESIGN.md`. Do not change product source, dependencies, configuration, or generated files.
- Use the DESIGN.md format contract below. Do not invent a competing schema.
- Do not copy every discovered token or component into the document.
- Do not convert repetition, local styling, or visual preference into product intent.
1. Choose the mode
Repository mode
Use when a local product repository is available. Create or update `DESIGN.md` at the root of the selected product.
If the repository contains multiple deployable products, select the one named by the user. If the request does not identify one and ownership is ambiguous, ask before writing.
Repository evidence may establish normative values, token names, component ownership, and documented rationale.
URL mode
Use when the user provides a public URL without its source repository. Create a reconstructed `DESIGN.md` draft in the current workspace.
URL mode requires rendered browser access. Inspect the DOM, computed styles, and publicly loaded stylesheets at desktop and mobile widths. Screenshots may support interpretation but cannot establish exact values by themselves.
Inspect the supplied page and shared chrome. For a site-wide request, sample up to three same-origin pages that represent distinct templates.
URL evidence may establish only observable visual patterns and computed values. It cannot establish internal token names, component ownership, undocumented rationale, or whether a pattern is intentionally canonical.
If rendered inspection is unavailable, ask for screenshots or source files. Do not create a DESIGN.md from copy, metadata, or HTML structure alone.
Choose repository mode whenever source is available. A supplied URL may verify rendered presentation but does not replace repository evidence.
Shared evidence pipeline
The modes differ only in how they collect evidence. They must use the same record and output pipeline:
role → value → source → scope → recurrence → confidence
1. Collect evidence using the selected mode. 2. Record the source, scope, and recurrence for each candidate. 3. Normalize candidates into the DESIGN.md schema. 4. Omit candidates that are uncertain, local without a contract, or not implementation-relevant. 5. Validate frontmatter shape and export compatibility. 6. Write Markdown only after the normalized frontmatter passes.
Never let repository or URL evidence introduce a second token schema. The same flat token names, mapping-shaped typography, omission rules, and export gates apply to both modes.
The generated document is private until validation passes. Never return, display, or summarize a DESIGN.md draft before lint and export succeed. If validation reports an invalid shape or missing export category, rewrite the frontmatter and rerun; if the category cannot be repaired, remove it and report it as omitted.
2. Trace the evidence
In repository mode, inspect in this order:
1. Existing `DESIGN.md` and explicit repository guidance 2. Tokens, themes, variables, and global styles 3. Shared primitives and their variants 4. Representative routes and rendered consumers 5. Surface-local implementations
A source participates only when the selected product imports, references, inherits, or renders it. Exclude proposals, migrations, examples, generated outputs, legacy implementations, and similarly named packages unless the selected product uses them.
In URL mode, sample representative elements for:
- colors and surface roles
- typography roles
- spacing and layout
- borders, radii, and elevation
- navigation, buttons, inputs, cards, and repeated content structures
- desktop and mobile presentation
Prefer computed values and loaded CSS declarations over visual estimation.
Before drafting URL-mode prose or YAML, build a private evidence ledger for each sampled page and viewport. For each candidate, record: page, viewport, element role, computed property/value, and the matching loaded-CSS declaration or custom property when available. Inspect the public stylesheets loaded by the page, including custom properties and media-query rules; a stylesheet value is usable only when it is connected to a rendered element or recurs across the sampled pages.
Promote a URL value into DESIGN.md when either (a) the rendered computed value and a loaded declaration/custom property agree, or (b) the same computed value recurs for the same role across the required samples. If neither condition holds, omit the value. You may preserve an exposed custom-property name only when its declaration and rendered use are directly observable; do not invent semantic aliases from a raw value.
For every URL-mode claim, require all three proofs before writing it:
1. Observation: the pattern or value is visible or computed on the rendered page. 2. Basis: it is measured, or recurs across the required sampled pages/viewports. 3. Consequence: it changes a concrete implementation choice in DESIGN.md.
If any proof is missing, omit the claim. Do not turn a visual impression into a token, a single occurrence into a site-wide rule, or a guessed value into YAML. Exact values require computed styles or loaded CSS; otherwise describe the role without a value or omit it.
3. Decide what belongs
In repository mode, find explicit product intent or a design reference before describing product character. In
Read more
name: create-design-md description: Create or update a DESIGN.md from an existing product repository or public website. Use when asked to document an interface's design language, reconstruct its visual system, extract design tokens and guidance from current evidence, or give coding agents persistent UI context. Do not modify product source or promote accidental implementation patterns into design decisions.
Create DESIGN.md
Create a `DESIGN.md` for one product or coherent website. Record the design language that governs it, not every value that happens to exist.
Boundaries
- Modify only `DESIGN.md`. Do not change product source, dependencies, configuration, or generated files.
- Use the DESIGN.md format contract below. Do not invent a competing schema.
- Do not copy every discovered token or component into the document.
- Do not convert repetition, local styling, or visual preference into product intent.
1. Choose the mode
Repository mode
Use when a local product repository is available. Create or update `DESIGN.md` at the root of the selected product.
If the repository contains multiple deployable products, select the one named by the user. If the request does not identify one and ownership is ambiguous, ask before writing.
Repository evidence may establish normative values, token names, component ownership, and documented rationale.
URL mode
Use when the user provides a public URL without its source repository. Create a reconstructed `DESIGN.md` draft in the current workspace.
URL mode requires rendered browser access. Inspect the DOM, computed styles, and publicly loaded stylesheets at desktop and mobile widths. Screenshots may support interpretation but cannot establish exact values by themselves.
Inspect the supplied page and shared chrome. For a site-wide request, sample up to three same-origin pages that represent distinct templates.
URL evidence may establish only observable visual patterns and computed values. It cannot establish internal token names, component ownership, undocumented rationale, or whether a pattern is intentionally canonical.
If rendered inspection is unavailable, ask for screenshots or source files. Do not create a DESIGN.md from copy, metadata, or HTML structure alone.
Choose repository mode whenever source is available. A supplied URL may verify rendered presentation but does not replace repository evidence.
Shared evidence pipeline
The modes differ only in how they collect evidence. They must use the same record and output pipeline:
role → value → source → scope → recurrence → confidence
1. Collect evidence using the selected mode. 2. Record the source, scope, and recurrence for each candidate. 3. Normalize candidates into the DESIGN.md schema. 4. Omit candidates that are uncertain, local without a contract, or not implementation-relevant. 5. Validate frontmatter shape and export compatibility. 6. Write Markdown only after the normalized frontmatter passes.
Never let repository or URL evidence introduce a second token schema. The same flat token names, mapping-shaped typography, omission rules, and export gates apply to both modes.
The generated document is private until validation passes. Never return, display, or summarize a DESIGN.md draft before lint and export succeed. If validation reports an invalid shape or missing export category, rewrite the frontmatter and rerun; if the category cannot be repaired, remove it and report it as omitted.
2. Trace the evidence
In repository mode, inspect in this order:
1. Existing `DESIGN.md` and explicit repository guidance 2. Tokens, themes, variables, and global styles 3. Shared primitives and their variants 4. Representative routes and rendered consumers 5. Surface-local implementations
A source participates only when the selected product imports, references, inherits, or renders it. Exclude proposals, migrations, examples, generated outputs, legacy implementations, and similarly named packages unless the selected product uses them.
In URL mode, sample representative elements for:
- colors and surface roles
- typography roles
- spacing and layout
- borders, radii, and elevation
- navigation, buttons, inputs, cards, and repeated content structures
- desktop and mobile presentation
Prefer computed values and loaded CSS declarations over visual estimation.
Before drafting URL-mode prose or YAML, build a private evidence ledger for each sampled page and viewport. For each candidate, record: page, viewport, element role, computed property/value, and the matching loaded-CSS declaration or custom property when available. Inspect the public stylesheets loaded by the page, including custom properties and media-query rules; a stylesheet value is usable only when it is connected to a rendered element or recurs across the sampled pages.
Promote a URL value into DESIGN.md when either (a) the rendered computed value and a loaded declaration/custom property agree, or (b) the same computed value recurs for the same role across the required samples. If neither condition holds, omit the value. You may preserve an exposed custom-property name only when its declaration and rendered use are directly observable; do not invent semantic aliases from a raw value.
For every URL-mode claim, require all three proofs before writing it:
1. Observation: the pattern or value is visible or computed on the rendered page. 2. Basis: it is measured, or recurs across the required sampled pages/viewports. 3. Consequence: it changes a concrete implementation choice in DESIGN.md.
If any proof is missing, omit the claim. Do not turn a visual impression into a token, a single occurrence into a site-wide rule, or a guessed value into YAML. Exact values require computed styles or loaded CSS; otherwise describe the role without a value or omit it.
3. Decide what belongs
In repository mode, find explicit product intent or a design reference before describing product character. In
Skills for Design Engineers More on ui-skills.com Run npx ui-skills start to route your agent through the right UI skill set for the task.
Repo: ibelick/ui-skills
Other skills on ui-skills.
- /baseline-ui
Quickly deslop UI code by fixing spacing, hierarchy, typography, and small layout issues. Use when the interface needs a fast cleanup or polish pass.
Open skill - /fixing-accessibility
Audit and fix HTML accessibility issues including ARIA labels, keyboard navigation, focus management, color contrast, and form errors. Use when adding interactive controls, forms, dialogs, or reviewing WCAG compliance.
Open skill - /fixing-metadata
Audit and fix HTML metadata including page titles, meta descriptions, canonical URLs, Open Graph tags, Twitter cards, favicons, JSON-LD structured data, and robots directives. Use when adding SEO metadata, fixing social share previews, reviewing Open Graph tags, setting up
Open skill - /fixing-motion-performance
Audit and fix animation performance issues including layout thrashing, compositor properties, scroll-linked motion, and blur effects. Use when animations stutter, transitions jank, or reviewing CSS/JS animation performance.
Open skill - /improve-ui
Audit an existing product surface against its own design evidence, identify verified UI problems, and write self-contained implementation plans for another agent. Strictly read-only on product source. Use when asked to review, refine, improve, or clean up an interface without
Open skill - /ui-skills-root
Use before UI-related work to select the smallest useful UI Skills context through the ui-skills CLI.
Open skill

