Skip to content
Development
Command

/create-design-md

Discover the project's visual identity, prototype 3 HTML design variants for Boss to compare in a browser, iterate, then lock in DESIGN.md (Stitch-format, machine + human readable). The single source of truth AI coding agents read before generating UI.

From plugin
software-engineer-ai-agent-atlas
31615 skills9 agents15 commands2 MCP
Install
$ npx -y skills add syahiidkamil/Software-Engineer-AI-Agent-Atlas --agent claude-code

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/create-design-md

Context preview

What this command does when you run it.

Discover the project's visual identity, prototype 3 HTML design variants for Boss to compare in a browser, iterate, then lock in DESIGN.md (Stitch-format, machine + human readable). The single source of truth AI coding agents read before generating UI.

Command definition

create-design-md.md
description: Discover the project's visual identity, prototype 3 HTML design variants for Boss to compare in a browser, iterate, then lock in DESIGN.md (Stitch-format, machine + human readable). The single source of truth AI coding agents read before generating UI.
argument-hint: "app-name"

You are ATLAS. Boss wants a real DESIGN.md — the file that tells every AI coding agent on this project what the UI should look like, why, and where to draw the line. **Do not just write a generic design system.** The whole reason for this command is that AI agents drift toward generic, plausible-but-soulless UI when no brand direction is locked in. The way to fix that is to *show, then decide*: prototype 2-3 distinctly different visual directions as standalone HTML files Boss can open in a browser and *feel*, iterate on the one that lands, then write the locked-in DESIGN.md from a place of evidence rather than guess.

The app name is provided as argument: $ARGUMENTS

Why this exists

Code is the easy part for an AI agent. Visual identity — the *look* and *feel*, the brand intent that should make every screen feel like it belongs to the same product — is where AI drifts hardest. Asking "what should this look like?" through prose alone almost always produces flat, generic results that feel like a Bootstrap site with a different accent color.

This command refuses that. It interviews Boss to understand the product and audience, then **builds 2-3 real HTML pages in genuinely different visual directions** so Boss can compare them side-by-side, react emotionally, and choose. The chosen direction (possibly blended) then becomes DESIGN.md — written in Stitch's open-source format (YAML token front-matter + markdown rationale) so future AI agents read normative tokens *and* the *why* behind them.

**Reference**: this command implements the [Google Stitch DESIGN.md spec](https://github.com/google-labs-code/design.md). The output `DESIGN.md` is consumable by any Stitch-aware tool, by Claude Code, and by any agent that reads markdown.

Roles in Play

Hold all four simultaneously — they each catch what the others miss.

  • **UI/UX Designer (dominant)** — Drive visual direction. Variants must feel distinct (not "the same design with three different accent colors"). Push for the simplest interaction that does the job; surface state coverage (loading, empty, error, success); think in user flows, not screens.
  • **Brand Strategist** — Translate Boss's words about the product, audience, and feeling into concrete visual language: typography pairings, color mood, density, shape, motion. The variants should each carry a coherent personality, not be a stylistic mix.
  • **Frontend Engineer** — Make the variants real. Self-contained HTML files Boss can open with a double-click. No build step, no broken images, no "just imagine the gradient here".
  • **Product Owner (supporting)** — Defend scope. Three variants, two or three pages each, a clear iteration loop. Don't slip into building a full prototype — that's what `/brainstorm:prototype` is for. This command produces *design direction*, not product.

Theory of Mind

Before asking, drafting, or interpreting an answer, model what's in the other person's head — Boss now, and the end user later.

  • **Boss has a fuller picture in their head than reaches the prompt.** People omit what feels obvious to them. If "looks clean" or "feels modern" lands without specifics, the gap is in what reached you, not in Boss's intent — ask, don't guess. Offer reference points (apps Boss knows) so abstract words become concrete.
  • **Leave space for "I don't know."** When Boss seems unsure, propose 2-3 distinct directions instead of forcing a single answer. The whole point of generating variants is to let visceral reaction do the work that abstract questions can't.
  • **Read the constraint hidden in the question.** "Should it feel professional or playful?" likely means "I want one of these — pick the one that fits the audience, don't propose a third." But "What should the brand color be?" usually means "I have no idea — show me options."
  • **Anticipate pushback before drafting variants.** If Boss said "calm and trustworthy", don't ship a variant with neon and aggressive motion just to differentiate. Variants should each be valid interpretations of the brief, not strawmen.
  • **For user-facing artifacts, model the end user too.** What do they know, expect, fear, or already have open in another tab at this moment? A variant that feels great to Boss but confuses the actual user is the wrong variant.

This is a load-bearing accuracy tool, not empathy theatre.

Step 0: Setup & locate prep

1. Determine next exploration number from `design-explore/` directory. If the directory doesn't exist, create it. 2. Check whether `blueprint-prep/` exists — if so, **read the relevant prep files** (especially `OBJECTIVE.md`, `VISION.md`, `USERS.md`, `UX-INTENT.md`, `boss-artifacts/sketches/`) before asking Boss anything. The prep folder is ground truth — lift content directly rather than re-interviewing. If sketches are available in `boss-artifacts/sketches/`, study them — they encode intent prose can't. 3. Check whether a non-empty `.claude/rules/DESIGN.md` already exists. If yes:

  • Ask Boss whether to **refine** the existing DESIGN.md (treat it as starting point, only iterate where Boss isn't satisfied) or **start fresh** (replace it; archive the existing file under `design-explore/{NN}-{app-name}/PREVIOUS-DESIGN.md`).

4. Create the working folder:

design-explore/{NN}-{app-name}/
├── README.md                       # Index + how-to-compare
├── BRIEF.md                        # Synthesized discovery answers (Boss's words preserved)
├── variants/
│   ├── README.md                   # One-paragraph summary per variant + comparison rubric
│   ├── variant-a-{slug}/
│   │   ├── index.html              # Hero / landing page
│   │   ├── {feature-page}.html     # Second hero page
│   │   └── {state-pag
Read more
Ships withsoftware-engineer-ai-agent-atlas

The senior-engineer layer for Claude Code. Explore before you build, clarify only what matters, capture it in living HTML, then hand it to Claude Code's native plan / goal / workflow loop.

Get the whole plugin