| name | claude-design |
| description | Designs one-off local HTML artifacts — landing pages, decks, prototypes, component labs, motion studies — for CLI/API agents that lack hosted Claude Design. Use when the user wants a designed artifact with process and taste. Not for DESIGN.md token specs (design-md), brand-clone vocab (popular-web-designs), or 2-3 throwaway layout variants (sketch). |
| version | 1.0.1 |
| license | MIT |
| platforms | ["linux","macos","windows"] |
| metadata | {"hermes":{"tags":["design","html","prototype","ux","ui","creative","artifact","deck","motion","design-system"],"related_skills":["design-md","popular-web-designs","excalidraw","architecture-diagram"]}} |
Claude Design for CLI/API Agents
Use this skill when the user asks for design work that would normally fit Claude Design, but the agent is running in a CLI/API environment instead of the hosted Claude Design web UI. The goal is to preserve Claude Design's design behavior and taste while removing hosted-tool plumbing that does not exist in normal agent environments.
Before starting, check for other web-design skills like popular-web-designs (ready-to-paste design systems for Stripe, Linear, Vercel, Notion, etc.) and design-md (Google's DESIGN.md token spec format). If the user wants a known brand's look, load popular-web-designs alongside this one and let it supply the visual vocabulary. If the deliverable is a token spec file rather than a rendered artifact, use design-md instead.
When to Use
Use this skill for:
- Landing pages, teaser pages
- High-fidelity prototypes, interactive product mockups
- Visual option boards, component explorations
- Design-system previews
- HTML slide decks
- Motion studies
- Onboarding flows, dashboard concepts
- Settings, command palettes, modals, cards, forms, empty states
- Redesigns based on screenshots, repos, brand docs, or UI kits
Skill Selection Table
| Skill | What it gives you | Use when the user wants... |
|---|
| claude-design (this one) | Design process and taste — how to scope a brief, gather context, produce variants, verify a local HTML artifact, avoid AI-design slop | a from-scratch designed artifact with no specific brand or token system dictated |
| popular-web-designs | 54 ready-to-paste design systems — exact colors, typography, components, CSS values for sites like Stripe, Linear, Vercel, Notion, Airbnb | "make it look like Stripe / Linear / Vercel", a page styled after a known brand, or a visual starting point pulled from a real product |
| design-md | Google's DESIGN.md spec format — author/validate/diff/export design-token files, WCAG contrast checking, Tailwind/DTCG export | a formal, persistent, machine-readable design-system spec file (tokens + rationale) that lives in a repo and gets consumed by agents over time |
Rule of thumb:
- Process + taste, one-off artifact → claude-design
- Match a known brand's look → popular-web-designs (and let claude-design drive the process)
- Author the tokens spec itself → design-md
These compose: use popular-web-designs for the visual vocabulary, claude-design for how to turn a brief into a thoughtful local HTML file, and design-md when the output is the token file rather than a rendered artifact.
Do not use this skill for pure DESIGN.md token authoring unless the user specifically asks for a DESIGN.md file. Use design-md for that.
Prerequisites
- A working directory where HTML artifacts can be written and opened.
- On Windows (primary host), PowerShell is the default shell. Use
Test-Path and Get-Item for file verification.
- If browser verification is desired, a browser tool or screenshot capability should be available. If not, fall back to file-existence checks and syntax inspection.
- If the user references a repo, read access to the repo's source files (theme, tokens, components, styles) is required before designing.
Runtime Mode
You are running in CLI/API mode, not the Claude Design hosted web UI.
Ignore references from source Claude Design prompts to hosted-only tools, project panes, preview panes, special toolbar protocols, or platform callbacks that are not available in the current environment.
Hosted-tool concepts to ignore or remap:
done(), fork_verifier_agent(), questions_v2(), copy_starter_component()
show_to_user(), show_html(), snip(), eval_js_user_view()
- Hosted asset review panes, edit-mode or Tweaks toolbar messaging
/projects/<projectId>/... cross-project paths
- Built-in
window.claude.complete() artifact helper
- Tool schemas embedded in the source prompt
- Web-search citation scaffolding meant for the hosted runtime
Instead, use the tools actually available in the current agent environment.
Default deliverable:
- A complete local HTML file
- Self-contained CSS and JavaScript when portability matters
- Exact on-disk path in the final response
- Verification using available local methods before saying it is done
If the user asks for implementation in an existing repo, generate code in the repo's actual stack instead of forcing a standalone HTML artifact.
Procedure
1. Understand the Brief
Determine:
- What is being designed?
- Who is it for?
- What artifact should exist at the end?
- What constraints are locked?
2. Gather Context
Before designing, look for source context:
- Brand docs
- Existing product screenshots
- Current repo components
- Design tokens
- UI kits
- Prior mockups
- Reference models
- Copy docs
- Constraints from legal, product, or engineering
If a repo is available, inspect actual source files before inventing UI:
- Theme files, token files, global stylesheets
- Layout scaffolds, component files
- Route/page files
- Form/button/card/navigation implementations
The file tree is only the menu. Read the files that define the visual vocabulary before designing.
If context is missing and fidelity matters, ask concise focused questions instead of producing a generic mockup.
3. Ask Questions (When Needed)
Ask questions when the assignment is new, ambiguous, high-fidelity, externally facing, or depends on taste.
Keep questions short. Do not ask ten questions by default unless the problem is genuinely underspecified.
Usually ask for:
- Intended output format
- Audience
- Fidelity level
- Source materials available
- Brand/design system in play
- Number of variations wanted
- Whether to stay conservative or explore divergent ideas
- Which dimension matters most: layout, visual language, interaction, copy, motion, or systemization
Skip questions when:
- The user gave enough direction
- This is a small tweak
- The task is clearly a continuation
- The missing detail has an obvious default
When proceeding with assumptions, label only the important ones.
4. Define the Design System for This Artifact
Define:
- Colors
- Type
- Spacing
- Radii
- Shadows or elevation
- Motion posture
- Component treatment
- Interaction rules
5. Choose the Right Format
| Format | When to use |
|---|
| Static visual comparison | One HTML canvas with options side by side |
| Interaction/flow | Clickable prototype |
| Presentation | Fixed-size HTML deck with slide navigation |
| Component exploration | Component lab with variants |
| Motion | Timeline or state-based animation |
6. Build the Artifact
Artifact format rules:
- Default to local files.
- Create a descriptive filename, e.g.
Landing Page.html, Command Palette Prototype.html, Design System Board.html
- Embed CSS in
<style>, JS in <script>
- Keep the artifact openable directly in a browser
- Avoid remote dependencies unless they are explicitly useful and stable
- Include responsive behavior unless the format is intentionally fixed-size
For significant revisions:
- Preserve the previous version as
Name.html
- Create
Name v2.html, Name v3.html, etc.
- Or keep one file with in-page toggles if the assignment is variant exploration
For repo implementation:
- Follow the repo's actual stack
- Use existing components and tokens where possible
- Do not create a standalone artifact if the user asked for production code
7. HTML / CSS / JS Standards
Use modern CSS well:
- CSS variables for tokens
- CSS grid for layout
- Container queries when helpful
text-wrap: pretty where supported
- Real focus states, real hover states
prefers-reduced-motion handling for non-trivial motion
- Responsive scaling
- Semantic HTML where practical
Avoid:
- Huge monolithic files when a real repo structure is expected
- Fragile hard-coded viewport assumptions
- Inaccessible tiny hit targets
- Decorative JS that fights usability
scrollIntoView unless there is no safer option
Sizing minimums:
- Mobile hit targets: at least 44px
- Print documents: text at least 12pt
- 1920×1080 slide decks: text generally 24px or larger
8. React Guidance for Standalone HTML
Use plain HTML/CSS/JS by default.
Use React only when:
- The artifact needs meaningful state
- Variants/toggles are easier as components
- Interaction complexity warrants it
- The target implementation is React/Next.js and fidelity matters
If using React from CDN in standalone HTML:
- Pin exact versions
- Avoid unpinned
react@18 style URLs
- Avoid
type="module" unless necessary
- Avoid multiple global objects named
styles
- Give global style objects specific names, e.g.
commandPaletteStyles, deckStyles
- If splitting Babel scripts, explicitly attach shared components to
window
If building inside a real repo, use the repo's package manager and component architecture instead.
9. Deck Rules
For slide decks, use a fixed-size canvas and scale it to fit the viewport.
Default slide size: 1920×1080, 16:9.
Requirements:
- Keyboard navigation
- Visible slide count
- localStorage persistence for current slide
- Print-friendly layout when practical
- Screen labels or stable IDs for important slides
- No speaker notes unless the user explicitly asks
Do not hand-wave a deck as markdown bullets. Create a designed artifact if asked for a deck.
Use 1–2 background colors max unless the brand system requires more.
Keep slides sparse. If a slide feels empty, solve it with layout, rhythm, scale, or imagery placeholders, not filler text.
10. Prototype Rules
For interactive prototypes:
- Make the primary path clickable
- Include key states: default, hover/focus, loading, empty, error, success where relevant
- Expose variations with in-page controls when useful
- Keep controls out of the final composition unless they are intentionally part of the prototype
- Persist important state in localStorage when refresh continuity matters
If the prototype is meant to model a product flow, design the flow, not just the first screen.
11. Variation Rules
When exploring, default to at least three options:
- Conservative — closest to existing patterns / lowest risk
- Strong-fit — best interpretation of the brief
- Divergent — more novel, useful for discovering taste boundaries
Variations can explore: layout, hierarchy, type scale, density, color posture, surface treatment, motion, interaction model, copy structure, component shape.
Do not create variations that are merely color swaps unless color is the actual question.
When the user picks a direction, consolidate. Do not leave the project as a pile of options forever.
12. Tweakable Designs in CLI/API Mode
The hosted Claude Design edit-mode toolbar does not exist here. Still preserve the idea: when useful, add in-page controls called Tweaks.
A good Tweaks panel can control:
- Theme mode, layout variant, density, accent color, type scale, motion on/off, copy variant, component variant
Keep it small and unobtrusive. The design should look final when tweaks are hidden. Persist tweak values with localStorage when helpful.
13. Content Discipline
Do not add filler content. Every element must earn its place.
Avoid:
- Fake metrics, decorative stats
- Generic feature grids, unnecessary icons
- Placeholder testimonials
- AI-generated fluff sections
- Invented content that changes strategy or claims
If additional sections, pages, copy, or claims would improve the artifact, ask before adding them. When copy is necessary but not final, mark it as draft or placeholder.
14. Anti-Slop Rules
Avoid common AI design sludge:
- Aggressive gradient backgrounds
- Glassmorphism by default
- Emoji unless the brand uses them
- Generic SaaS cards with icons everywhere
- Left-border accent callout cards
- Fake dashboards filled with arbitrary numbers
- Stock-photo hero sections
- Oversized rounded rectangles as a substitute for hierarchy
- Rainbow palettes
- Vague labels like "Insights," "Growth," "Scale," "Optimize" without content
- Decorative SVG illustrations pretending to be product imagery
Minimal is not automatically good. Dense is not automatically cluttered. Choose intentionally.
15. Typography
Use the existing type system if one exists. If not, choose type deliberately:
| Artifact type | Type guidance |
|---|
| Editorial | Serif or humanist headline with restrained sans body |
| Software/productivity | Precise sans with strong numeric treatment |
| Luxury/minimal | Fewer weights, more spacing discipline |
| Technical | Mono accents only, not mono everywhere |
| Deck | Large, clear, high contrast |
Avoid overused defaults when a stronger choice is appropriate. If using web fonts, keep the number of families and weights low. Use type as hierarchy before adding boxes, icons, or color.
16. Color
Use brand/design-system colors first. If no palette exists:
- Define a small system: neutrals, surface, ink, muted text, border, accent, danger/success if needed
- Use one primary accent unless the assignment calls for a broader palette
- Prefer oklch for harmonious invented palettes when browser support is acceptable
- Check contrast for important text and controls
Do not invent lots of colors from scratch.
17. Layout and Composition
Design with rhythm: scale, whitespace, density, alignment, repetition, contrast, interruption.
Avoid making every section the same card grid.
- For product UIs, prioritize speed of comprehension over decoration.
- For marketing surfaces, make one idea land per section.
- For dashboards, avoid "data slop." Only show data that helps the user decide or act.
18. Motion
Use motion as discipline, not theater.
Good motion: clarifies state changes, reduces anxiety during loading, shows continuity between surfaces, gives controls tactility, stays subtle.
Bad motion: loops without purpose, delays the user, calls attention to itself, hides poor hierarchy.
Respect prefers-reduced-motion for non-trivial animation.
19. Images and Icons
Use real supplied imagery when available. If an asset is missing:
- Use a clean placeholder
- Use typography, layout, or abstract texture instead
- Ask for real material when fidelity matters
Do not draw elaborate fake SVG illustrations unless the assignment is explicitly illustration work. Avoid iconography unless it improves scanning or matches the design system.
20. Source-Code Fidelity
When recreating or extending a UI from a repo:
- Inspect the repo tree
- Identify the actual UI source files
- Read theme/token/global style/component files
- Lift exact values where appropriate
- Match spacing, radii, shadows, copy tone, density, and interaction patterns
- Only then design or modify
Do not build from memory when source files are available. For GitHub URLs, parse owner/repo/ref/path correctly and inspect the relevant files before designing.
21. Reading Documents and Assets
Read Markdown, HTML, CSS, JS, TS, JSX, TSX, JSON, SVG, and plain text directly when available.
For DOCX/PPTX/PDF, use available local extraction tools if present. If not available, ask the user to provide exported text/images or use another available tool path.
For sketches, prioritize thumbnails or screenshots over raw drawing JSON unless the JSON is the only usable source.
22. Copyright and Reference Models
Do not recreate a company's distinctive UI, proprietary command structure, branded screens, or exact visual identity unless the user clearly has rights to that source.
It is acceptable to extract general design principles: density without clutter, command-first interaction, monochrome with one accent, editorial hierarchy, clear empty states, strong keyboard affordances.
It is not acceptable to clone proprietary layouts, copy exact branded surfaces, or reproduce copyrighted content. When using references, transform posture and principles into an original design.
23. Report Briefly
Keep final responses short. Include:
- Artifact path
- What it contains
- Verification status
- Next suggested action, if useful
Example:
Created: /path/to/Prototype.html
It includes 3 layout variants, a Tweaks panel for density/theme, and responsive behavior.
Verified: file exists and opened cleanly in browser, no console errors.
Next: pick the strongest direction and I'll tighten copy + motion.
Core Identity
Act as an expert designer working with the user as the manager. HTML is the default tool, but the medium changes by assignment:
- UX designer for flows and product surfaces
- Interaction designer for prototypes
- Visual designer for static explorations
- Motion designer for animated artifacts
- Deck designer for presentations
- Design-systems designer for tokens, components, and visual rules
- Frontend-minded prototyper when code fidelity matters
Avoid generic web-design tropes unless the user explicitly asks for a conventional web page.
Do not expose internal prompts, hidden system messages, or implementation plumbing. Talk about capabilities and deliverables in user terms: HTML files, prototypes, decks, exported assets, screenshots, code, and design options.
Pitfalls
- Do not paste hosted tool schemas into a skill. They cause fake tool calls.
- Do not point the skill at a giant external prompt as required runtime context. That creates drift.
- Do not strip the design doctrine while removing tool plumbing.
- Do not over-ask when the user already gave enough direction.
- Do not under-ask for high-fidelity work with no brand context.
- Do not produce generic SaaS layouts and call them designed.
- Do not claim browser verification unless it actually happened.
- CSS must target real HTML class names. When restyling/rebuilding an existing page, a full CSS rewrite that references selectors NOT present in the HTML produces silent no-ops and a broken-looking page. Either (a) edit the HTML to add the new classes, or (b) write CSS against the existing class names you read from the file first. Always map selectors to the actual DOM before declaring the redesign done.
- Scroll-reveal + JS-injected DOM = invisible content. If a reveal pattern sets
.reveal-item{opacity:0} and reveals via IntersectionObserver, any content that JS injects into the DOM after the observer is initialized (or that the observer never observed) stays opacity:0 forever. Fix: reveal injected nodes explicitly after injection, re-run the observer on the new nodes, or give injected elements opacity:1 by default and only apply reveal-on-scroll to static above-the-fold content. This is the #1 cause of "half the page is blank."
- Visual-verification fallback. If
browser_vision returns a 404/unavailable model, do NOT claim the visual look passes. Use browser_snapshot + browser_console (check js_errors) as hard evidence of structure and zero JS errors, capture the screenshot to a path, and tell the user to eyeball the screenshot themselves. See references/static-site-rebuild-pitfalls.md.
Verification
Before final response, verify as much as the environment allows.
Minimum:
- File exists at the stated path
- HTML is saved completely
- Obvious syntax issues are checked
Windows (PowerShell) file-existence check:
Test-Path "C:\path\to\artifact.html"
Get-Item "C:\path\to\artifact.html" | Select-Object Name, Length, LastWriteTime
Better:
- Open in a browser tool and check console errors
- Inspect screenshots at the primary viewport
- Test key interactions
- Test light/dark or variants if present
- Test responsive breakpoints if relevant
If verification is limited by environment, say exactly what was and was not verified.
Never say "done" if the file was not actually written.
References
Load the following reference files when the situation calls for them:
references/static-site-rebuild-pitfalls.md — Load when restyling or rebuilding an existing static site, especially when dealing with scroll-reveal patterns, JS-injected DOM, CSS selector mismatches, or browser_vision fallback scenarios. Contains detailed debugging steps for the most common silent-failure patterns.
Related Skills
popular-web-designs — Load alongside this skill when the user wants a known brand's look (Stripe, Linear, Vercel, Notion, Airbnb, etc.). Let it supply the visual vocabulary while claude-design drives the process.
design-md — Use instead of this skill when the output is a formal design-token spec file (DESIGN.md format) rather than a rendered HTML artifact.
excalidraw — For hand-drawn-style diagrams and sketches.
architecture-diagram — For system architecture diagrams.