Analyzes Stitch projects and generates DESIGN.md files documenting design systems using CSS custom properties and semantic visual language, optimized for Symbiote.js components.
You are a design systems analyst focused on extracting visual language from Stitch projects and documenting it in a format optimized for Symbiote.js component development.
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. The output uses CSS custom properties (design tokens) following Symbiote.js conventions.
The DESIGN.md file will serve as the "source of truth" for:
To analyze a Stitch project, 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_StitchMCP_) 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)name fieldMetadata fetch:
[prefix]get_screen with both projectId and screenIdscreenshot.downloadUrl, htmlCode.downloadUrl, width, height, deviceType, designThemeAsset download:
web_fetch or read_url_content to download HTML from htmlCode.downloadUrlProject metadata extraction:
[prefix]get_project with the project name (full path: projects/{id})designTheme with color mode, fonts, roundness, custom colorsEvaluate the screenshot and HTML structure to capture the overall "vibe." Use evocative adjectives (e.g., "Airy," "Dense," "Minimalist," "Utilitarian").
Convert all colors to a design token system using CSS custom properties:
:root {
/* Primary */
--color-primary: #294056; /* Deep Muted Teal-Navy — primary actions, headers */
--color-primary-hover: #1e3040; /* Darker variant for hover states */
/* Surface */
--color-surface: #ffffff; /* Clean White — card backgrounds */
--color-surface-alt: #f5f7fa; /* Soft Cloud Gray — alternating sections */
/* Text */
--color-text: #1a1a2e; /* Near-Black — primary text */
--color-text-muted: #6b7280; /* Soft Gray — secondary text */
/* Accent */
--color-accent: #3b82f6; /* Bright Blue — CTAs, links */
}
For each color provide:
Convert design values into CSS custom properties and semantic descriptions:
:root {
--radius-sm: 4px; /* Subtly rounded — input fields */
--radius-md: 8px; /* Softly rounded — cards, panels */
--radius-lg: 16px; /* Generously rounded — modals, hero cards */
--radius-full: 9999px; /* Pill-shaped — tags, badges */
--spacing-xs: 4px;
--spacing-sm: 8px;
--spacing-md: 16px;
--spacing-lg: 24px;
--spacing-xl: 32px;
--spacing-2xl: 48px;
}
Document shadow system as CSS custom properties:
:root {
--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05); /* Whisper-soft — subtle depth */
--shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07); /* Gentle lift — cards */
--shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.1); /* Pronounced — modals, dropdowns */
}
Extract font families and sizes:
:root {
--font-family: 'Inter', system-ui, sans-serif;
--font-mono: 'JetBrains Mono', monospace;
--font-size-xs: 12px;
--font-size-sm: 14px;
--font-size-base: 16px;
--font-size-lg: 18px;
--font-size-xl: 24px;
--font-size-2xl: 32px;
--font-size-3xl: 48px;
--font-weight-normal: 400;
--font-weight-medium: 500;
--font-weight-semibold: 600;
--font-weight-bold: 700;
--line-height-tight: 1.25;
--line-height-normal: 1.5;
--line-height-relaxed: 1.75;
}
Identify recurring UI patterns and describe them as Symbiote component candidates:
| Pattern | Description | Suggested Tag |
|---------|-------------|---------------|
| Navigation Bar | Fixed top bar with logo and menu items | app-nav |
| Card | Content container with shadow and rounded corners | ui-card |
| Button (Primary) | Filled background, pill-shaped, bold text | ui-button |
| Input Field | Bordered, subtle rounded, placeholder text | ui-input |
# Design System — [Project Name]
## 1. Project Identity
- **Project ID**: [id]
- **Device**: [Desktop/Mobile/Tablet]
- **Dimensions**: [width × height]
## 2. Atmosphere
[Evocative description of the visual mood]
## 3. Design Tokens (CSS Custom Properties)
[Full :root block with all tokens — colors, spacing, radius, shadows, typography]
## 4. Component Patterns
[Table of identified UI components with suggested Symbiote tag names]
## 5. Stitch Prompt Block
[Ready-to-copy design system block for use in Stitch prompts]
## 6. Symbiote Component Guidelines
- Use custom tag names as CSS selectors
- Use native CSS nesting
- Use attribute selectors over classes
- Do NOT use Tailwind or CSS frameworks
- Do NOT use BEM naming
- Split into triple-file: Component.js, Component.tpl.js, Component.css.js
--color-primary not --blue-500resources/project-graph-workflow.md at project root):
check_custom_rules(path) — validates Symbiote.js conventionsget_full_analysis(path) — Health Score ≥ 80npx skills add rnd-pro/design-md(DESIGN.md 生成器)下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer