Analyze Stitch projects and synthesize a semantic design system into DESIGN.md files
Add this skill
npx mdskills install google-labs-code/design-mdDetailed instructions for extracting design systems from Stitch projects into semantic documentation
1---2name: design-md3description: Analyze Stitch projects and synthesize a semantic design system into DESIGN.md files4allowed-tools:5 - "stitch*:*"6 - "Read"7 - "Write"8 - "web_fetch"9---1011# Stitch DESIGN.md Skill1213You 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`.1415## Overview1617This 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.1819## Prerequisites2021- Access to the Stitch MCP Server22- A Stitch project with at least one designed screen23- Access to the Stitch Effective Prompting Guide: https://stitch.withgoogle.com/docs/learn/prompting/2425## The Goal2627The `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.2829## Retrieval and Networking3031To analyze a Stitch project, you must retrieve screen metadata and design assets using the Stitch MCP Server tools:32331. **Namespace discovery**: Run `list_tools` to find the Stitch MCP prefix. Use this prefix (e.g., `mcp_stitch:`) for all subsequent calls.34352. **Project lookup** (if Project ID is not provided):36 - Call `[prefix]:list_projects` with `filter: "view=owned"` to retrieve all user projects37 - Identify the target project by title or URL pattern38 - Extract the Project ID from the `name` field (e.g., `projects/13534454087919359824`)39403. **Screen lookup** (if Screen ID is not provided):41 - Call `[prefix]:list_screens` with the `projectId` (just the numeric ID, not the full path)42 - Review screen titles to identify the target screen (e.g., "Home", "Landing Page")43 - Extract the Screen ID from the screen's `name` field44454. **Metadata fetch**:46 - Call `[prefix]:get_screen` with both `projectId` and `screenId` (both as numeric IDs only)47 - This returns the complete screen object including:48 - `screenshot.downloadUrl` - Visual reference of the design49 - `htmlCode.downloadUrl` - Full HTML/CSS source code50 - `width`, `height`, `deviceType` - Screen dimensions and target platform51 - Project metadata including `designTheme` with color and style information52535. **Asset download**:54 - Use `web_fetch` or `read_url_content` to download the HTML code from `htmlCode.downloadUrl`55 - Optionally download the screenshot from `screenshot.downloadUrl` for visual reference56 - Parse the HTML to extract Tailwind classes, custom CSS, and component patterns57586. **Project metadata extraction**:59 - Call `[prefix]:get_project` with the project `name` (full path: `projects/{id}`) to get:60 - `designTheme` object with color mode, fonts, roundness, custom colors61 - Project-level design guidelines and descriptions62 - Device type preferences and layout principles6364## Analysis & Synthesis Instructions6566### 1. Extract Project Identity (JSON)67- Locate the Project Title68- Locate the specific Project ID (e.g., from the `name` field in the JSON)6970### 2. Define the Atmosphere (Image/HTML)71Evaluate the screenshot and HTML structure to capture the overall "vibe." Use evocative adjectives to describe the mood (e.g., "Airy," "Dense," "Minimalist," "Utilitarian").7273### 3. Map the Color Palette (Tailwind Config/JSON)74Identify the key colors in the system. For each color, provide:75- A descriptive, natural language name that conveys its character (e.g., "Deep Muted Teal-Navy")76- The specific hex code in parentheses for precision (e.g., "#294056")77- Its specific functional role (e.g., "Used for primary actions")7879### 4. Translate Geometry & Shape (CSS/Tailwind)80Convert technical `border-radius` and layout values into physical descriptions:81- Describe `rounded-full` as "Pill-shaped"82- Describe `rounded-lg` as "Subtly rounded corners"83- Describe `rounded-none` as "Sharp, squared-off edges"8485### 5. Describe Depth & Elevation86Explain 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").8788## Output Guidelines8990- **Language:** Use descriptive design terminology and natural language exclusively91- **Format:** Generate a clean Markdown file following the structure below92- **Precision:** Include exact hex codes for colors while using descriptive names93- **Context:** Explain the "why" behind design decisions, not just the "what"9495## Output Format (DESIGN.md Structure)9697```markdown98# Design System: [Project Title]99**Project ID:** [Insert Project ID Here]100101## 1. Visual Theme & Atmosphere102(Description of the mood, density, and aesthetic philosophy.)103104## 2. Color Palette & Roles105(List colors by Descriptive Name + Hex Code + Functional Role.)106107## 3. Typography Rules108(Description of font family, weight usage for headers vs. body, and letter-spacing character.)109110## 4. Component Stylings111* **Buttons:** (Shape description, color assignment, behavior).112* **Cards/Containers:** (Corner roundness description, background color, shadow depth).113* **Inputs/Forms:** (Stroke style, background).114115## 5. Layout Principles116(Description of whitespace strategy, margins, and grid alignment.)117```118119## Usage Example120121To use this skill for the Furniture Collection project:1221231. **Retrieve project information:**124 ```125 Use the Stitch MCP Server to get the Furniture Collection project126 ```1271282. **Get the Home page screen details:**129 ```130 Retrieve the Home page screen's code, image, and screen object information131 ```1321333. **Reference best practices:**134 ```135 Review the Stitch Effective Prompting Guide at:136 https://stitch.withgoogle.com/docs/learn/prompting/137 ```1381394. **Analyze and synthesize:**140 - Extract all relevant design tokens from the screen141 - Translate technical values into descriptive language142 - Organize information according to the DESIGN.md structure1431445. **Generate the file:**145 - Create `DESIGN.md` in the project directory146 - Follow the prescribed format exactly147 - Ensure all color codes are accurate148 - Use evocative, designer-friendly language149150## Best Practices151152- **Be Descriptive:** Avoid generic terms like "blue" or "rounded." Use "Ocean-deep Cerulean (#0077B6)" or "Gently curved edges"153- **Be Functional:** Always explain what each design element is used for154- **Be Consistent:** Use the same terminology throughout the document155- **Be Visual:** Help readers visualize the design through your descriptions156- **Be Precise:** Include exact values (hex codes, pixel values) in parentheses after natural language descriptions157158## Tips for Success1591601. **Start with the big picture:** Understand the overall aesthetic before diving into details1612. **Look for patterns:** Identify consistent spacing, sizing, and styling patterns1623. **Think semantically:** Name colors by their purpose, not just their appearance1634. **Consider hierarchy:** Document how visual weight and importance are communicated1645. **Reference the guide:** Use language and patterns from the Stitch Effective Prompting Guide165166## Common Pitfalls to Avoid167168- ❌ Using technical jargon without translation (e.g., "rounded-xl" instead of "generously rounded corners")169- ❌ Omitting color codes or using only descriptive names170- ❌ Forgetting to explain functional roles of design elements171- ❌ Being too vague in atmosphere descriptions172- ❌ Ignoring subtle design details like shadows or spacing patterns173
Full transparency — inspect the skill content before installing.