跳到正文
cccskills
免费在 GitHub 公开

stitch::react-components

Turn Stitch designs into reusable React components for Vite projects, or update existing components to match revised designs. Organize interface elements, logic, and data separately while aligning styles and connecting navigation between pages.

中文简介正在准备中。当前显示英语简介。

原文查看原文说明

Converts Stitch designs into modular Vite and React components, or syncs/updates existing React components to align with the latest Stitch designs, using system-level networking and AST-based validation.

查看安装方法

适用场景

  • Build React screens from Stitch designs
  • Update existing screens after design changes
  • Split repeated interface elements into reusable components
  • Connect navigation and add dark mode styles

包含的文件(11)

  • SKILL.md8.6 KB
  • examples/gold-standard-card.tsx1.9 KB
  • package-lock.json7.0 KB
  • package.json355 B
  • README.md1.3 KB
  • resources/architecture-checklist.md613 B
  • resources/component-template.tsx1.0 KB
  • resources/stitch-api-reference.md1.2 KB
  • resources/style-guide.json496 B
  • scripts/fetch-stitch.sh1009 B
  • scripts/validate.js2.7 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Stitch to React Components

You are a frontend engineer focused on transforming designs into clean React code or syncing/updating existing React components to align with the latest Stitch designs. You follow a modular approach and use automated tools to ensure code quality.

CRITICAL: Every step in this skill is MANDATORY. Do NOT skip any step or take shortcuts. Each section contains a GATE that must be satisfied before proceeding.

Phase 1: Retrieval and networking

GATE: Phase 1 is complete ONLY when all screens have been downloaded via scripts/fetch-stitch.sh AND visually audited. Reading local files directly without going through this phase is PROHIBITED.

  1. Namespace discovery: Run list_tools to find the Stitch MCP prefix. Use this prefix (e.g., stitch:) for all subsequent calls.
  2. Metadata fetch: Call [prefix]:get_screen for EVERY screen in the project to retrieve the design JSON with download URLs. Do NOT skip any screen.
  3. Check for existing designs: Before downloading, check if .stitch/designs/{page}.html and .stitch/designs/{page}.png already exist:
    • If files exist: Ask the user whether to refresh the designs from the Stitch project using the MCP, or reuse the existing local files. You MUST ask — do not assume. Only re-download if the user confirms.
    • If files do not exist: Proceed to step 4.
  4. High-reliability download: Internal AI fetch tools can fail on Google Cloud Storage domains. You MUST use the provided script.
    • HTML: bash scripts/fetch-stitch.sh "[htmlCode.downloadUrl]" ".stitch/designs/{page}.html"
    • Screenshot: Append =w{width} to the screenshot URL first, where {width} is the width value from the screen metadata (Google CDN serves low-res thumbnails by default). Then run: bash scripts/fetch-stitch.sh "[screenshot.downloadUrl]=w{width}" ".stitch/designs/{page}.png"
    • This script handles the necessary redirects and security handshakes.
  5. Visual audit: Review the downloaded screenshot (.stitch/designs/{page}.png) to confirm design intent and layout details. You MUST view each screenshot — do not proceed based on assumptions about the design.
  6. Project metadata tracking: Retrieve project configuration using [prefix]:get_project and save it to .stitch/metadata.json (inside the app folder, and mirrored in the workspace root). Ensure it has:
    • projectId, title, deviceType
    • A Last Sync Time field matching the current sync ISO execution time
    • A screens map detailing each screen's ID, label, sourceScreen reference, dimensions, and canvasPosition.

Anti-patterns for Phase 1

  • ❌ Reading .stitch/designs/*.html directly without calling MCP get_screen first.
  • ❌ Skipping the fetch-stitch.sh download script.
  • ❌ Not asking the user when existing files are found.
  • ❌ Skipping the visual audit of .png screenshots.
  • ❌ Failing to generate or update .stitch/metadata.json and its Last Sync Time field upon syncing.

Phase 2: Style extraction

GATE: Phase 2 is complete ONLY when resources/style-guide.json has been updated with tokens extracted from the current project's HTML <head>. Tokens from a previous project are NOT acceptable.

  1. Extract tailwind.config: Open each downloaded HTML file and locate the tailwind.config object in the <head> <script> block. Extract:
    • All color tokens
    • Font families
    • Spacing values
    • Border radius values
    • Font size/typography tokens
  2. Sync resources/style-guide.json: Overwrite the file with the extracted tokens from THIS project. The style guide MUST match the Stitch project being converted.
  3. Verify sync: Confirm the primary color, font families, and spacing in the updated style-guide.json match what you extracted.

Anti-patterns for Phase 2

  • ❌ Using style-guide.json as-is without verifying it matches the current project.
  • ❌ Using hardcoded hex values in components instead of theme-mapped classes.

Phase 3: Architectural rules

GATE: Every component MUST satisfy ALL of the following rules. Violations will cause npm run validate to fail.

  • Modular components: Break the design into independent files. Each reusable UI pattern (cards, badges, pagination, search bars) MUST be extracted into its own component in src/components/. Monolithic page files that contain everything are PROHIBITED.
  • Logic isolation: Move event handlers and business logic into custom hooks in src/hooks/. Examples: pagination logic → usePagination, filtering → useFilter.
  • Data decoupling: Move ALL static text, image URLs, and lists into src/data/mockData.ts. No hardcoded content in components.
  • Type safety: EVERY component file (including pages) MUST include a Readonly TypeScript interface named [ComponentName]Props. The validator checks for this — files without a Props interface will FAIL validation.
  • Project specific: Focus on the target project's needs and constraints. Leave Google license headers out of the generated React components.
  • Navigation wiring: Stitch screens are standalone pages with href="#" placeholder links. When building a multi-page React app:
    • Replace ALL href="#" anchors with React Router <Link> components pointing to the correct routes.
    • Always make the app logo/title in the TopAppBar a <Link to="/"> so users can navigate home from any page. This is critical because Stitch bottom nav bars use md:hidden and are invisible on desktop — without a clickable logo, desktop users have no way to return to the home page.
    • Wire the bottom nav items and sidebar nav items to their corresponding routes using <Link> with active-state highlighting based on useLocation().
  • Style mapping: Use theme-mapped Tailwind classes from the synced style-guide.json. No arbitrary hex codes.
  • Dark mode: Apply dark: variants to ALL color classes throughout every component.

Anti-patterns for Phase 3

  • ❌ Putting all UI in a single monolithic page file.
  • ❌ Inline event handlers or business logic without hooks.
  • ❌ Hardcoding text, URLs, or data in component files.
  • ❌ Components without a [Name]Props interface.
  • ❌ Using hex color values instead of theme tokens.
  • ❌ Leaving href="#" links unconverted.

Phase 4: Execution steps

GATE: Phase 4 verification, audits, and validation checks are optional. You MUST ask the user's permission to proceed with validation scripts, running local dev servers, or automated browser testing.

  1. Environment setup: If node_modules is missing, run npm install to enable the validation tools.
  2. Data layer: Create src/data/mockData.ts based on the design content.
  3. Component drafting: Use resources/component-template.tsx as a base. Find and replace ALL instances of StitchComponent with the actual name of the component you are creating.
  4. Application wiring: Update the project entry point (like App.tsx) to render the new components.
  5. Quality check (Optional - Ask User first):
    • Run npm run validate <file_path> for EVERY .tsx file in src/components/ and src/pages/ to report component validity.
    • Run tsc --noEmit to verify TypeScript compile status.
    • Check output against resources/architecture-checklist.md.
    • Obtain permission before starting the dev server with npm run dev or initiating visual browser audits to verify the live result.

Anti-patterns for Phase 4

  • ❌ Commencing dev server start or browser audits without user consent.
  • ❌ Declaring task "done" without verifying code compiles.

Troubleshooting

  • Fetch errors: Ensure the URL is quoted in the bash command to prevent shell errors.
  • Validation errors: Review the AST report and fix any missing interfaces or hardcoded styles. The most common failure is a missing Props interface — every component (including pages) needs one.
  • Dead navigation links: Stitch HTML uses href="#" placeholders everywhere. Every <a href="#"> must be converted to a <Link to="/route"> with a real route. Verify all nav items are clickable and lead to the correct page.
  • Stale style-guide.json: If colors or fonts look wrong, the style-guide.json likely has tokens from a different project. Re-extract from the current HTML <head>.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

design-md

免费

Analyze existing Stitch screens and document their colors, typography, components, and layout in DESIGN.md. The resulting design reference combines plain visual descriptions with precise color values to guide requests for new screens.

中文简介正在准备中。当前显示英语简介。

  • Document design rules from an existing screen
  • Prepare a design reference for new screen prompts
  • Record color codes and their functional roles
google-labs-code/stitch-skills85452026年8月18日 更新

Turn a rough interface idea into a structured prompt for Stitch, with clear page sections, colors, and component details. When available, existing design rules are included to guide consistent screens or focused edits.

中文简介正在准备中。当前显示英语简介。

  • Turn a rough screen idea into a clear prompt
  • Revise a prompt that produced an unsuitable design
  • Include existing design rules in a screen request
google-labs-code/stitch-skills85452026年8月18日 更新

Turn Stitch designs into React and Vite dashboards with reusable components and asynchronous data fetching. It applies shared design settings from DESIGN.md, includes accessibility checks, and supports optional blockchain data reads.

中文简介正在准备中。当前显示英语简介。

  • Build a React dashboard from a Stitch screen
  • Apply shared design settings from DESIGN.md
  • Add data fetching and loading states
google-labs-code/stitch-skills85452026年8月18日 更新

remotion

免费

Create walkthrough videos from Stitch app screens using Remotion. Arrange screenshots in sequence, add fades, slides, zoom effects, and explanatory text, then preview the timing and render a video such as an MP4.

中文简介正在准备中。当前显示英语简介。

  • Create an app introduction from Stitch screens
  • Explain a user journey through a sequence of screens
  • Highlight interface features with zoom and labels
google-labs-code/stitch-skills85452026年8月18日 更新

shadcn-ui

免费

Find, install, and customize shadcn/ui components for React applications. The skill guides project setup, theme changes, forms, dialogs, and dashboard layouts, with checks for keyboard access, screen reader support, and responsive behavior.

中文简介正在准备中。当前显示英语简介。

  • Add UI components to an existing React project
  • Customize themes and component variants
  • Build forms and dashboard layouts
google-labs-code/stitch-skills85452026年8月18日 更新

site-md

免费

Turn site requirements or existing content into a SITE.md project guide for the Stitch Build Loop. It records the site's purpose, visual direction, navigation, file structure, and prioritized tasks to guide successive development rounds.

中文简介正在准备中。当前显示英语简介。

  • Organize a site brief before development
  • Record site purpose and visual direction
  • List completed and planned pages
google-labs-code/stitch-skills85452026年8月18日 更新

查看 google-labs-code 的全部技能

报告此技能的问题