Skill detail
design-md
Analyze Stitch projects and synthesize a semantic design system into DESIGN.md files
Why we recommend it: Analyzes Stitch projects and synthesizes a semantic design system into DESIGN.md files, capturing atmosphere, color palette, geometry, and component patterns.
Inspect before use
Read the source instructions and check the requirements before you install this skill.
SKILL.md
The saved excerpt is a snapshot from when this skill was listed. The external source remains the complete and most current version.
---
name: design-md
description: Analyze Stitch projects and synthesize a semantic design system into DESIGN.md files
allowed-tools:
- "stitch*:*"
- "Read"
- "Write"
- "web_fetch"
---
# Stitch DESIGN.md Skill
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`.
## Overview
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.
## Prerequisites
- Access to the Stitch MCP Server
- A Stitch project with at least one designed screen
- Access to the Stitch Effective Prompting Guide: https://stitch.withgoogle.com/docs/learn/prompting/
## The Goal
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.
## Retrieval and Networking
To analyze a Stitch project, you must retrieve screen metadata and design assets using the Stitch MCP Server tools:
1. **Namespace discovery**: Run `list_tools` to find the Stitch MCP prefix. Use this prefix (e.g., `mcp_stitch:`) for all subsequent calls.
2. **Project lookup** (if Project ID is not provided):
- Call `[prefix]:list_projects` with `filter: "view=owned"` to retrieve all user projects
- Identify the target project by title or URL pattern
- Extract the Project ID from the `name` field (e.g., `projects/13534454087919359824`)
3. **Screen lookup** (if Screen ID is not provided):
- Call `[prefix]:list_screens` with the `projectId` (just the numeric ID, not the full path)
- Review screen titles to identify the target screen (e.g., "Home", "Landing Page")
- Extract the Screen ID from the screen's `name` field
4. **Metadata fetch**:
- Call `[prefix]:get_screen` with both `projectId` and `screenId` (both as numeric IDs only)
- This returns the complete screen object including:
- `screenshot.downloadUrl` - Visual reference of the design
- `htmlCode.downloadUrl` - Full HTML/CSS source code
- `width`, `height`, `deviceType` - Screen dimensions and target platform
- Project metadata including `designTheme` with color and style information
5. **Asset download**:
- Use `web_fetch` or `read_url_content` to download the HTML code from `htmlCode.downloadUrl`
- Optionally download the screenshot from `screenshot.downloadUrl` for visual reference
- Parse the HTML to extract Tailwind classes, custom CSS, and component patterns
6. **Project metadata extraction**:
- Call `[prefix]:get_project` with the project `name` (full path: `projects/{id}`) to get:
- `designTheme` object with color mode, fonts, roundness, custom colors
- Project-level design guidelines and descriptions
- Device type preferences and layout principles
## Analysis & Synthesis Instructions
### 1. Extract Project Identity (JSON)
- Locate the Project Title
- Locate the specific Project ID (e.g., from the `name` field in the JSON)
### 2. Define the Atmosphere (Image/HTML)
Evaluate the screenshot and HTML structure to capture the overall "vibe." Use evocative adjectives to describe the mood (e.g., "Airy," "Dense," "Minimalist," "Utilitarian").
### 3. Map the Color Palette (Tailwind Config/JSON)
Identify the key colors in the system. For each color, provide:
- A descriptive, natural language name that conveys its character (e.g., "Deep Muted Teal-Navy")
- The specific hex code in parentheses for precision (e.g., "#294056")
- Its specific functional role (e.g., "Used for primary actions")
### 4. Translate Geometry & Shape (CSS/Tailwind)
Convert technical `border-radius` and layout values into physical descriptions:
- Describe `rounded-full` as "PRead the full source on GitHub (opens external page)