Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot official · Google

stitch::code-to-design — Claude Code skill for Stitch

Moves an existing frontend into Stitch by extracting standalone HTML and a design system, then uploading both to a project. Useful when bringing pages or components into Stitch for further work.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add google-labs-code/stitch-skills --skill stitch::code-to-design -a claude-code
npx skills add google-labs-code/stitch-skills --skill code-to-design -a claude-code
Open on GitHub

What stitch::code-to-design does

The skill runs a three-part workflow: extract standalone HTML, analyze project files to create .stitch/DESIGN.md, then upload both results to Stitch. Supported source examples include React, Next.js, Angular, and Vue.

You need a running local dev server or a built directory with index.html and assets, plus the Stitch projectId and an API key. Without a server or built output, there is no page to extract. Browser review of the extracted file is optional and does not block the next step.

HTML and the design system are uploaded separately. The HTML upload uses the page route as its title, such as /dashboard. The workflow delegates extraction, design analysis, and uploads to other Stitch skills, so those skills need to be available in your environment.

What it helps with

  • move an existing frontend page into Stitch
  • extract standalone HTML from a build or local dev server
  • create DESIGN.md from project components and styles
  • upload HTML and a design system to a Stitch project

Example prompts for the agent

  • Move the `/dashboard` page from this React project into Stitch.
  • Extract standalone HTML from the running app and upload it to my Stitch project.
  • Analyze the components and styles, create `.stitch/DESIGN.md`, and upload the design system to Stitch.

How to install stitch::code-to-design

1Skills CLI (Vercel)

npx skills add google-labs-code/stitch-skills --skill stitch::code-to-design -a claude-code
npx skills add google-labs-code/stitch-skills --skill code-to-design -a claude-code

2Manually: put the files in place

~/.claude/skills/code-to-design/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/code-to-design/

From the same set15

The whole set →
design-md official google-labs-code Extracts screens and styles from Google Stitch via MCP to synthesize a semantic design system into a DESIGN.md file. Claude Code CX Codex Cursor +1 64,700installs enhance-prompt official google-labs-code Turns rough UI concepts into detailed, structured prompts for Google Stitch. Pulls tokens from DESIGN.md and formats colors, sections, and component keywords. Claude Code CX Codex Cursor +1 58,300installs stitch-loop official google-labs-code Guides agents through iterative website creation with Stitch MCP. The agent reads the baton file, generates UI, integrates the page, and prepares tasks for the next run. Claude Code CX Codex Cursor +1 56,300installs shadcn-ui official google-labs-code Helps discover, add, and customize shadcn/ui components in React projects. Useful when building interfaces with Tailwind CSS. Claude Code CX Codex Cursor +1 53,400installs stitch::react-components official google-labs-code Turns Stitch designs into modular Vite and React components. Can also sync existing components with updated Stitch designs. Claude Code CX Codex Cursor +1 50,400installs remotion official google-labs-code Turns Stitch project screens into a Remotion walkthrough with transitions, zoom effects, and text overlays. Useful for presenting an interface screen by screen. Claude Code CX Codex Cursor +1 41,300installs taste-design official google-labs-code Generates agent-ready DESIGN.md files for Google Stitch screens. It sets strict rules for typography, palettes, and spring motion to avoid generic UI tropes. Claude Code CX Codex Cursor +1 20,100installs stitch::generate-design official google-labs-code Turns a text prompt or an image into a finished UI screen through Stitch MCP, then edits it with targeted prompts. Claude Code CX Codex Cursor +1 10,700installs

Similar

react-performance affaan-m A performance optimization skill for React 18/19 and Next.js. It helps coding agents spot network waterfalls, trim client bundle sizes, and tune Server Components during code review. Claude Code CX Codex Cursor +1 4,800installs remotion-video-creation affaan-m This skill gives coding agents Remotion guidance for React video work, from animation and audio to captions, charts, and transitions. Use it while building or editing a Remotion project. Claude Code CX Codex Cursor +1 4,800installs react-patterns affaan-m A skill for Claude and other AI editors that steers the agent toward idiomatic React 18/19: hooks discipline, server/client boundaries, forms, data fetching. Claude Code CX Codex Cursor +1 4,800installs baseline-ui ibelick Cleans up AI-generated UI code by fixing layout issues, typography, spacing, and animations. Useful for a fast frontend polish pass before merging. Claude Code CX Codex Cursor +1 24,100installs chrome-devtools official github Controls a live Chrome browser through Chrome DevTools MCP for page actions, debugging, and performance traces. Use it when an agent needs to inspect a web interface. GitHub Copilot 15,258installs build-mcp-app official Anthropic Learn to add interactive forms, pickers and visual widgets to an MCP server. Use it when text or JSON alone is not enough for the task. Claude Code 6,458installs frontend-design official anthropics This skill guides intentional visual design for new interfaces and redesigns. Use it when a generic generated UI is not enough. Claude Code Claude.ai 1,025,790installs design-taste-frontend Leonxlnx This skill directs the design of public pages and work screens, then checks the result in a browser through screenshots. Use it when an interface feels generic or unfinished. Claude Code CX Codex Cursor +1 673,100installs

Questions about stitch::code-to-design

How do I install stitch::code-to-design in Claude Code?

Run npx skills add google-labs-code/stitch-skills --skill stitch::code-to-design -a claude-code. An alternative is npx skills add google-labs-code/stitch-skills --skill code-to-design -a claude-code.

What does stitch::code-to-design do?

It extracts standalone HTML from an existing frontend, creates .stitch/DESIGN.md from the project source, and uploads both to Stitch.

What do I need before moving a project to Stitch?

Have a running local dev server or a built directory containing index.html and assets, the Stitch projectId, and an API key. The workflow also relies on other Stitch skills for extraction and uploads.

Source text

SKILL.md · Apache-2.0
---
name: stitch::code-to-design
description: >-
  Convert frontend code (Vite, React, Angular, Vue, etc.) to a Stitch Design by chaining
  static HTML extraction, design system extraction, and file upload. **ALWAYS** use this skill when the user's intent is to move existing web apps or React/Angular/Vue components into Stitch (e.g., requests to "save", "migrate", or "upload"). You must use this skill even for simple "save" operations, as it is the only way to ensure the design system is extracted and assets are properly linked.
allowed-tools:
  - "stitch*:*"
  - "Bash"
  - "Read"
  - "Write"
  - "web_fetch"
---

# Code to Design

Transform your existing frontend code (React + Vite, Next.js, Angular, Vue, etc.) into a Stitch Design so you can iterate and improve it using Stitch.

This skill orchestrates three other skills in sequence:
1. `extract-static-html`: Extract a single self-contained HTML file from your build output or running dev server (e.g., Vite dev server or Angular CLI `ng serve`).
2. `extract-design-md`: Analyze the source code (including Angular `angular.json`, external `.html` templates, theme files, and components) to create a design system (DESIGN.md).
3. `upload-to-stitch`: Upload that HTML file and the design system to your Stitch project.

## Workflow

Follow these steps to convert your existing code.

### Prerequisites

- A running local dev server (e.g. `npm run dev`, `ng serve`) OR a built web application directory containing `index.html` and assets.
- Target Stitch `projectId` (use `list_projects` if unknown).

### Steps

#### 1. Extract Self-Contained HTML

Delegate to the `extract-static-html` skill to generate a standalone HTML file.
Read [skills/extract-static-html/SKILL.md](../extract-static-html/SKILL.md) for detailed instructions and script usage.

Expected output: A single file like `/path/to/extracted/standalone.html`.

#### 2. Verify HTML (Optional — User-Driven)

After extraction, inform the user of the output file path so they can manually
verify in a browser if desired. **Do not block on verification** — proceed
directly to Step 3.

If the user reports issues after reviewing, fix them before continuing.

#### 3. Extract Design System (File)

Delegate to the `extract-design-md` skill to analyze the project's source files
(components, stylesheets, theme configs) and produce a design system. Read
[skills/extract-design-md/SKILL.md](../extract-design-md/SKILL.md) for the
full analysis workflow.

Write `.stitch/DESIGN.md` following the `extract-design-md` skill's output
structure.

#### 4. Upload DESIGN.md and Create Design System in Stitch

Delegate to the `manage-design-system` skill to upload the `DESIGN.md` and
create the design system in Stitch. Read
[skills/manage-design-system/SKILL.md](../manage-design-system/SKILL.md) for
the full workflow (upload script usage, `create_design_system_from_design_md`
call, and required schemas). Pass
`--generated-by 'stitch::code-to-design'` when uploading.

#### 5. Upload HTML to Stitch

Use the same `upload-to-stitch` skill's script to upload the extracted HTML file.
Read [skills/upload-to-stitch/SKILL.md](../upload-to-stitch/SKILL.md) for detailed instructions and script usage.

You will need:
- The path to the standalone HTML file generated in Step 1.
- Your Stitch API Key (same key used in Step 4).
- The target `projectId`.
- The `--generated-by` argument set to `'stitch::extract-static-html'`.
- The `--title` argument set to the **route path** of the page (e.g., `'/dashboard'`, `'/settings/profile'`, `'/inbox'`) so that the screen name/title in Stitch clearly identifies its route in the application.

© google-labs-code · Apache-2.0 · google-labs-code/stitch-skills

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor