Get the FREE Ultimate OpenClaw Setup Guide →

stitch-design-md

npx machina-cli add skill partme-ai/stitch-skills/stitch-design-md --openclaw
Files (1)
SKILL.md
6.6 KB

Stitch DESIGN.md

Constraint: Only use this skill when the user explicitly mentions "Stitch" or when preparing design system docs for Stitch generation.

You are an expert Design Systems Lead. Your goal is to analyze Stitch project assets and synthesize a Semantic Design System into a file named DESIGN.md.

Overview

DESIGN.md is the source of truth for prompting Stitch to generate new screens that match existing design language. Stitch interprets design through visual descriptions and specific color values. This skill uses Stitch MCP to fetch project and screen data; you can call stitch-mcp-list-projects, stitch-mcp-list-screens, stitch-mcp-get-screen, stitch-mcp-get-project (or the underlying MCP tools with your client’s prefix) to retrieve metadata and download HTML/screenshots.

Prerequisites

Retrieval and Networking

Use Stitch MCP (or skills stitch-mcp-list-projects, stitch-mcp-get-project, stitch-mcp-list-screens, stitch-mcp-get-screen) in this order.

When the user provides a Stitch design URL

If the user pastes a Stitch design page link (e.g. https://stitch.withgoogle.com/projects/3492931393329678076?node-id=375b1aadc9cb45209bee8ad4f69af450):

  1. Parse the URL:
    • projectId = segment after /projects/ and before ? (e.g. 3492931393329678076)
    • screenId = query parameter node-id (e.g. 375b1aadc9cb45209bee8ad4f69af450)
  2. Fetch the screen: Call [prefix]:get_screen with the parsed projectId and screenId (no need to call list_projects or list_screens).
  3. Continue with step 5 below (asset download) and then Analysis & Synthesis.

When project/screen IDs are unknown

  1. Namespace discovery: Run list_tools to find the Stitch MCP prefix (e.g. mcp_stitch__stitch:). Use that prefix for all calls.

  2. Project lookup (if Project ID unknown):

    • Call [prefix]:list_projects with filter: "view=owned"
    • Identify the target project by title; extract Project ID from name (e.g. projects/13534454087919359824)
  3. Screen lookup (if Screen ID unknown):

    • Call [prefix]:list_screens with projectId (numeric ID only)
    • Identify target screen by title; extract Screen ID from name
  4. Metadata fetch:

    • Call [prefix]:get_screen with projectId and screenId (numeric IDs)
    • Use returned screenshot.downloadUrl, htmlCode.downloadUrl, width, height, deviceType, and project designTheme
  5. Asset download (also after URL-based get_screen):

    • Use web_fetch or equivalent to download HTML from htmlCode.downloadUrl and optionally screenshot from screenshot.downloadUrl
    • Parse HTML for Tailwind classes, custom CSS, and component patterns
  6. Project metadata:

    • Call [prefix]:get_project with project name (full path projects/{id}) to get designTheme, fonts, roundness, custom colors, layout principles

Analysis & Synthesis

1. Extract Project Identity

  • Project title and Project ID (from JSON name)

2. Define the Atmosphere

From screenshot and HTML: mood, density, aesthetic (e.g. "Airy," "Minimalist," "Utilitarian").

3. Map the Color Palette

For each key color:

  • Descriptive name (e.g. "Deep Muted Teal-Navy")
  • Hex in parentheses (e.g. "#294056")
  • Functional role (e.g. "Used for primary actions")

4. Translate Geometry & Shape

  • rounded-full → "Pill-shaped"
  • rounded-lg → "Subtly rounded corners"
  • rounded-none → "Sharp, squared-off edges"

5. Describe Depth & Elevation

Shadows and layers: "Flat," "Whisper-soft diffused shadows," "Heavy drop shadows," etc.

Output Guidelines

  • Language: Descriptive design terminology and natural language only
  • Format: Markdown following the structure below
  • Precision: Exact hex codes plus descriptive names
  • Context: Explain the "why" behind design decisions

Output Format (DESIGN.md Structure)

# Design System: [Project Title]
**Project ID:** [Insert Project ID Here]

## 1. Visual Theme & Atmosphere
(Description of mood, density, and aesthetic philosophy.)

## 2. Color Palette & Roles
(Descriptive Name + Hex + Functional Role for each color.)

## 3. Typography Rules
(Font family, weights for headers vs body, letter-spacing.)

## 4. Component Stylings
* **Buttons:** Shape, color, behavior.
* **Cards/Containers:** Corner roundness, background, shadow.
* **Inputs/Forms:** Stroke style, background.

## 5. Layout Principles
(Whitespace, margins, grid alignment.)

## 6. Design System Notes for Stitch Generation
(Language and color references to copy into Stitch prompts; see examples/DESIGN.md.)

Integration with This Repo

  • First time: Generate DESIGN.md with this skill from an existing Stitch screen.
  • Multi-page: Use stitch-ui-prompt-architect to inject DESIGN.md Section 6 into prompts; use stitch-loop for baton-based multi-page builds.
  • Framework alignment: For framework-specific constraints (Layui, Element Plus, uView, etc.), combine DESIGN.md with the corresponding stitch-ui-design-spec-* contract in the prompt.

Best Practices

  • Be descriptive: e.g. "Ocean-deep Cerulean (#0077B6)" not "blue"
  • Be functional: Explain what each element is used for
  • Be consistent: Same terminology throughout
  • Be precise: Exact values in parentheses after natural language

Common Pitfalls

  • ❌ Technical jargon without translation ("rounded-xl" → "generously rounded corners")
  • ❌ Omitting color codes or only descriptive names
  • ❌ Skipping functional roles of design elements
  • ❌ Vague atmosphere descriptions
  • ❌ Ignoring shadows or spacing patterns

Keywords

English: DESIGN.md, design system, Stitch, color palette, typography, layout.
中文关键词: DESIGN.md、设计系统、Stitch、色彩、排版、布局。

References

Source

git clone https://github.com/partme-ai/stitch-skills/blob/main/skills/stitch-design-md/SKILL.mdView on GitHub

Overview

Analyzes Stitch projects using MCP tools to fetch project and screen data, then synthesizes a semantic design system into DESIGN.md. The output delivers natural-language design tokens for colors, typography, spacing, and layout to drive consistent Stitch screen generation.

How This Skill Works

Uses MCP calls (list_projects, list_screens, get_screen, get_project) to gather metadata and assets (HTML, screenshots). Parses HTML/CSS for design tokens, color roles, typography, radii, and spacing, then outputs DESIGN.md containing human-friendly tokens and prompts. This enables Stitch to generate new screens that stay aligned across multi-page flows when used with stitch-ui-prompt-architect and stitch-loop.

When to Use It

  • Starting a new Stitch UI that must align with an existing project’s language
  • Updating multiple screens to maintain a cohesive design system across pages
  • Documenting a project's design language for onboarding designers
  • Preparing prompts for generating new screens that match the current tokens
  • Auditing an existing Stitch design for color, typography, and spacing consistency

Quick Start

  1. Step 1: Use MCP tools to identify the target Stitch project and load its screens
  2. Step 2: Call get_project and get_screen to retrieve designTheme, fonts, colors, and layout primitives, then analyze HTML/CSS as input
  3. Step 3: Generate DESIGN.md with semantic tokens and verify prompts with stitch-ui-prompt-architect and stitch-loop

Best Practices

  • Always fetch project and screen metadata before token extraction
  • Favor tokens derived from actual HTML/CSS and designTheme over guesses
  • Keep tokens human-readable and descriptive to simplify prompts
  • Document typography scales, color roles, radii, and spacing units clearly
  • Validate the DESIGN.md against a few generated screens to ensure prompts stay aligned

Example Use Cases

  • Finance dashboard aligning charts, cards, and nav with a single color system
  • E-commerce product grid and detail views sharing tokens like radii and typography
  • Mobile onboarding flow consistent with typography and spacing tokens
  • Admin analytics panel with standardized color roles and spacing grid
  • SaaS collaboration app pages conforming to a unified design language

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers