stitch-react-components
Stitch to React Components
Constraint: Only use this skill when the user explicitly mentions "Stitch" and converting Stitch screens to React (Vite/React, TypeScript).
You are a frontend engineer turning Stitch designs into clean, modular React code. Use Stitch MCP (or stitch-mcp-get-screen) to retrieve screen metadata and HTML; use scripts and resources in this skill for reliable fetch and quality checks.
Prerequisites
- Stitch MCP Server (https://stitch.withgoogle.com/docs/mcp/guide/)
- Node.js and npm (for Vite/React project and optional validation)
- Stitch project and screen IDs — two ways: (1) From a Stitch design URL: parse projectId (path) and screenId (
node-idquery). (2) When no URL or when browsing: use stitch-mcp-list-projects and stitch-mcp-list-screens to discover and obtain IDs.
Retrieval and Networking
- Discover Stitch MCP prefix: Run
list_toolsto find the prefix (e.g.mcp_stitch__stitch:). - Fetch screen metadata: Call
[prefix]:get_screenwithprojectIdandscreenId(numeric IDs) to get design JSON,htmlCode.downloadUrl,screenshot.downloadUrl, dimensions, deviceType. - High-reliability HTML download: AI fetch tools can fail on Google Cloud Storage URLs. Use Bash to run the skill script:
This usesbash scripts/fetch-stitch.sh "<htmlCode.downloadUrl>" "temp/source.html"curl -Lfor redirects and TLS. Ensure the URL is quoted. - Visual reference: Use
screenshot.downloadUrlto confirm layout and details.
Architectural Rules
- Modular components: Split the design into separate files; avoid one giant file.
- Logic isolation: Put event handlers and business logic in
src/hooks/. - Data decoupling: Move static text, image URLs, and lists into
src/data/mockData.ts. - Type safety: Every component must have a
ReadonlyTypeScript interface[ComponentName]Props. - Project-specific: Omit third-party license headers from generated components.
- Style mapping: Extract
tailwind.configfrom HTML<head>; sync withresources/style-guide.jsonif present; use theme-mapped Tailwind classes instead of raw hex.
Execution Steps
- Environment: If the project has no
node_modules, runnpm installso validation (if used) works. - Data layer: Create
src/data/mockData.tsfrom the design content. - Component drafting: Use
resources/component-template.tsxas base; replace allStitchComponentwith the real component name. - Wiring: Update the app entry (e.g.
App.tsx) to render the new components. - Quality check: Run
npm run validate <file_path>if the project has a validate script; verify againstresources/architecture-checklist.md; runnpm run devto confirm visually.
Integration with This Repo
- Get screen: Use stitch-mcp-get-screen (or MCP
get_screen) with projectId and screenId. Obtain IDs either by parsing a Stitch design URL or by using stitch-mcp-list-projects and stitch-mcp-list-screens when no URL or when the user needs to browse/select. - Design system: If the project has DESIGN.md (from stitch-design-md), align colors and typography with that semantic system when mapping to Tailwind. When converting Stitch HTML to React, use references/tailwind-to-react.md for theme-mapped Tailwind (tokens → tailwind.config); keep Tailwind classes in output, map Stitch tokens to project theme.
Troubleshooting
- Fetch errors: Quote the URL in the bash command to avoid shell issues; ensure
scripts/fetch-stitch.shis executable. - Validation errors: Fix missing Props interfaces and hardcoded styles per the AST report; follow
references/architecture-checklist.md.
Keywords
English: Stitch, React, Vite, components, validation, mockData, Tailwind.
中文关键词: Stitch、React、组件、校验、Tailwind。
References
- Examples: examples/usage.md
- Style Mapping: references/tailwind-to-react.md — Theme-mapped Tailwind when converting Stitch HTML; keep Tailwind classes, sync Stitch tokens to tailwind.config.
- Resources:
- Scripts: scripts/fetch-stitch.sh
- Stitch API / MCP
More from partme-ai/full-stack-skills
electron
Build cross-platform desktop applications with Electron, covering main/renderer process architecture, IPC communication, BrowserWindow management, menus, tray icons, packaging, and security best practices. Use when the user asks about Electron, needs to create desktop applications, implement Electron features, or build cross-platform desktop apps.
51uniapp-project
Provides per-component and per-API examples with cross-platform compatibility details for uni-app, covering built-in components, uni-ui components, and APIs (network, storage, device, UI, navigation, media). Use when the user needs official uni-app components or APIs, wants per-component examples with doc links, or needs platform compatibility checks.
40ascii-cli-logo-banner
Entry point for ASCII CLI banners that routes to the Python built-in font skill or figlet.js/FIGfont skill. Use when the user wants a startup banner, ASCII logo, terminal welcome screen, or CLI branding for a service.
38ascii-terminal-animation-pack
Plan and generate terminal ASCII animations/screensaver-style output (FPS, refresh rules, loop policy, low-flicker guidance), with a static poster frame and an optional local demo script.
34ascii-image-to-ascii
“Convert an image into ASCII art (readable + detail variants, width/charset controls, optional ANSI), for terminal previews and plain-text image substitutes.”
34ant-design-vue
Provides comprehensive guidance for Ant Design Vue (AntDV) component library for Vue 3. Covers installation, usage, API reference, templates, and all component categories. Use when building enterprise-class UI with Vue 3 and Ant Design.
33