ワンクリックで
design-md
Analyze Stitch projects and synthesize a semantic design system into DESIGN.md files
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Analyze Stitch projects and synthesize a semantic design system into DESIGN.md files
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Autonomous product factory — /make-a-goal in godmode. Point it at a north-star outcome and it runs the whole delivery machine unattended: brainstorm the feature landscape (Discover), put every idea through a Feasibility Court, cluster into a Roadmap of epics, then per epic Plan → adversarial review → Execute (model-paired build) → VERIFY (drive the real UI/TUI/API, not mocks) → ship a stacked PR, looping until the backlog is dry or a budget/time bound fires. One human gate (roadmap blessing), hard stop rules, always-on tabbed RAG dashboard, crash-proof resume from state files. Use when the user says 'godmode', 'run the factory', 'ship X to nirvana', 'execute this whole backlog autonomously', 'goals within goals', or wants a multi-epic programme driven end-to-end with real end-to-end verification. NOT for single features, one-off verification, or scoped builds — use /make-a-goal, browser/tmux verification skills, or a plain plan for those.
Sync user-level agent config changes back to the ainb-toolkit repo (works for Claude, Codex, Copilot)
Produce a self-contained, richly styled HTML explainer for any topic the user asks about. Picks the right template from a bundled set of 22 visual patterns (feature explainer, concept explainer, module map, PR review, ADR, options paper / trade-off analysis, system diagram, flow- chart, status report, slide deck, prototype, editor, etc.), fills it with real content, augments with inline diagrams via sister skills (/fireworks-tech-graph for architecture / flow / sequence diagrams, /graphify for knowledge graphs), applies a Claude-brand polish layer, and publishes it: by default onto the configured here.now custom domain (path mount + searchable categorised index + password lock per the config's protect rule, driven by ~/.herenow/explainers.json), or a plain here.now URL, or a GitHub gist (--gist / --gist --public). Local-only output is available with --local. Use when Stevie says "/explain-to-me", "explain-to-me X", "make me an explainer for X", "give me an HTML explainer", "render this as a webpage", "ADR for
Self-improvement through conversation analysis. Extracts learnings from corrections and success patterns, permanently encoding them into agent definitions. Philosophy - Correct once, never again.
Claude Code observability skill: analyze session traces stored in Langfuse, extract learnings from corrections, identify success patterns, and propose agent/skill improvements based on historical data. Powers self-improvement through trace analysis of Claude Code sessions.
Create well-formatted git commits for changes made during the session
| name | design-md |
| description | Analyze Stitch projects and synthesize a semantic design system into DESIGN.md files |
| allowed-tools | ["stitch*:*","Read","Write","web_fetch"] |
You are an expert Design Systems Lead. Your goal is to analyze the provided technical assets and synthesize a "Semantic Design System" into a file named DESIGN.md.
This skill helps you create DESIGN.md files that serve as the "source of truth" for prompting Stitch to generate new screens that align perfectly with existing design language. Stitch interprets design through "Visual Descriptions" supported by specific color values.
The DESIGN.md file will serve as the "source of truth" for prompting Stitch to generate new screens that align perfectly with the existing design language. Stitch interprets design through "Visual Descriptions" supported by specific color values.
To analyze a Stitch project, you must retrieve screen metadata and design assets using the Stitch MCP Server tools:
Namespace discovery: Run list_tools to find the Stitch MCP prefix. Use this prefix (e.g., mcp_stitch:) for all subsequent calls.
Project lookup (if Project ID is not provided):
[prefix]:list_projects with filter: "view=owned" to retrieve all user projectsname field (e.g., projects/13534454087919359824)Screen lookup (if Screen ID is not provided):
[prefix]:list_screens with the projectId (just the numeric ID, not the full path)name fieldMetadata fetch:
[prefix]:get_screen with both projectId and screenId (both as numeric IDs only)screenshot.downloadUrl - Visual reference of the designhtmlCode.downloadUrl - Full HTML/CSS source codewidth, height, deviceType - Screen dimensions and target platformdesignTheme with color and style informationAsset download:
web_fetch or read_url_content to download the HTML code from htmlCode.downloadUrlscreenshot.downloadUrl for visual referenceProject metadata extraction:
[prefix]:get_project with the project name (full path: projects/{id}) to get:
designTheme object with color mode, fonts, roundness, custom colorsname field in the JSON)Evaluate the screenshot and HTML structure to capture the overall "vibe." Use evocative adjectives to describe the mood (e.g., "Airy," "Dense," "Minimalist," "Utilitarian").
Identify the key colors in the system. For each color, provide:
Convert technical border-radius and layout values into physical descriptions:
rounded-full as "Pill-shaped"rounded-lg as "Subtly rounded corners"rounded-none as "Sharp, squared-off edges"Explain how the UI handles layers. Describe the presence and quality of shadows (e.g., "Flat," "Whisper-soft diffused shadows," or "Heavy, high-contrast drop shadows").
# Design System: [Project Title]
**Project ID:** [Insert Project ID Here]
## 1. Visual Theme & Atmosphere
(Description of the mood, density, and aesthetic philosophy.)
## 2. Color Palette & Roles
(List colors by Descriptive Name + Hex Code + Functional Role.)
## 3. Typography Rules
(Description of font family, weight usage for headers vs. body, and letter-spacing character.)
## 4. Component Stylings
* **Buttons:** (Shape description, color assignment, behavior).
* **Cards/Containers:** (Corner roundness description, background color, shadow depth).
* **Inputs/Forms:** (Stroke style, background).
## 5. Layout Principles
(Description of whitespace strategy, margins, and grid alignment.)
When the app ships multiple distinct UI surfaces under one brand (e.g. an editorial hub, a data-dense dashboard, a commerce locker, an AI chat) whose fonts, spacing density, or voice legitimately diverge, do NOT fork into per-surface files and do NOT flatten to a lowest-common-denominator token set. Use this layout inside one canonical DESIGN.md:
Rule of thumb: frontmatter holds defaults, Surfaces holds deltas. A token never appears in both.
Skill-as-pointer corollary: if a project also has a "visual tokens" skill (*-brand-ui/SKILL.md), rewrite it as a thin pointer to DESIGN.md the same day DESIGN.md is canonicalized. The skill keeps code-application rules (CSS-var fallback patterns, framework caveats, anti-patterns like duplicate headers) but stops duplicating tokens. Duplicate tokens drift the moment they exist.
Anti-patterns specific to multi-surface DESIGN.md:
DESIGN-pulse.md, DESIGN-perform.md, etc. — breaks Stitch / Claude Design which expect one canonical file.Field-tested while writing the SHOT Clubhouse DESIGN.md (PR #2667). All three issues failed bot review on first pass; encode here so future runs catch them at draft time.
Numeric-led keys MUST be quoted. "2xl": ... not 2xl: .... YAML 1.1 parses numeric-led tokens ambiguously; PyYAML strict and several agent parsers (Stitch's included) fail without quotes. Same risk for "3xl", "4xl", "5xl", and any spacing key that starts with a digit ("0", "1", …). Verify the whole frontmatter parses cleanly before committing:
python3 -c "import yaml,sys; yaml.safe_load(open('DESIGN.md').read().split('---')[1]); print('OK')"
Per-surface fontFamily overrides need map shape, not string. When a surface overrides typography, declare the full map: fontFamily: { heading: "...", body: "..." }. Assigning a single string collapses the whole map and downstream resolvers bind incorrectly (the heading slot ends up holding the entire stack, body becomes undefined).
Don't self-reference within an override block. {surface.pulse.foo} referenced from inside Pulse's own override block is unresolvable — the override IS the surface block, you can't path back to yourself. Use the literal inherit marker (with an explanatory comment), a literal value, or a global token ref (e.g. {typography.fontFamily.heading}) that resolves against the frontmatter root.
A drift / roadmap section in DESIGN.md without an enforcing test is theatre — divergences accumulate silently between PRs. Ship one Vitest smoke test + standalone Node script (zero-dep, regex-based) alongside the spec:
^ {2}key: "#HEX" and ^ {4}key: "#HEX").tokens/*.ts (single-line key: '#HEX', shape) and --shot-*: #HEX; from styles/global-theme.css.expectedDrift allow-list mapping each known divergence to a DRIFT.md D-number.### D<N> — section in DRIFT.md (catches stale allow-list entries when drift is resolved).Reference implementation: scripts/check-design-drift.mjs + scripts/check-design-drift.test.ts in shotclubhouse PR #2667 (commit 76fefd81c). Wire into vitest.config.ts include array so the normal test run picks it up.
DRIFT.md Resolved-entry template trick: embed the entry template as an HTML comment in the Resolved section — invisible on GitHub render, visible to file-readers (agents + humans on first move). Prevents the first author-of-a-fix from inventing the format under pressure.
When you execute the skill-as-pointer corollary above (rewriting *-brand-ui/SKILL.md as a pointer to DESIGN.md), also sweep references in the same PR:
rg <skill-name> across the repo + {{HOME_TOOL_DIR}}/skills/ + project docs/AGENTS.md, CLAUDE.md, .clan/*, .impeccable.md, project docs/, source files with // See <skill-path> comments, test files with it('rule per <skill-name>') namesWhy same PR: bot reviewers (claude-bot, gemini-code-assist) catch dangling refs in re-review and demand a follow-up commit anyway. Cheaper to sweep up-front. Field-discovered on shotclubhouse PR #2667 (8 references to a trimmed skill, all updated in one cross-ref-sweep commit).
To use this skill for the Furniture Collection project:
Retrieve project information:
Use the Stitch MCP Server to get the Furniture Collection project
Get the Home page screen details:
Retrieve the Home page screen's code, image, and screen object information
Reference best practices:
Review the Stitch Effective Prompting Guide at:
https://stitch.withgoogle.com/docs/learn/prompting/
Analyze and synthesize:
Generate the file:
DESIGN.md in the project directory