stitch-a11y
Audits Stitch-generated components for WCAG 2.1 AA accessibility issues and applies fixes — semantic HTML, ARIA attributes, keyboard navigation, focus…
Retrieves full details of a specific Stitch screen — HTML download URL, screenshot URL, dimensions. This is the final step in design retrieval before code conversion.
$ npx -y skills add gabelul/stitch-kit --skill stitch-mcp-get-screen --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/stitch-mcp-get-screenContext preview
The summary Claude sees to decide when to auto-load this skill.
Retrieves full details of a specific Stitch screen — HTML download URL, screenshot URL, dimensions. This is the final step in design retrieval before code conversion.
name: stitch-mcp-get-screen description: Retrieves full details of a specific Stitch screen — HTML download URL, screenshot URL, dimensions. This is the final step in design retrieval before code conversion. allowed-tools: - "stitch*:*" - "Bash" - "Read" - "Write"
Retrieves the full output of a Stitch-generated screen: the HTML source code URL and the screenshot image URL. This is the gateway between Stitch design and framework conversion.
**Only use this skill when the user explicitly mentions "Stitch".**
**If you already have both `projectId` AND `screenId`, call this directly** — do not call `get_project` first.
The user may provide the screen reference in different formats:
| Input format | → projectId | → screenId | |---|---|---| | `projects/123/screens/456` | `123` | `456` | | `https://stitch.withgoogle.com/projects/123?node-id=456` | `123` | `456` | | Separate numeric IDs already known | Use as-is | Use as-is |
`get_screen` is mid-migration: `name` is the current identifier and takes the **full resource path**, while `projectId` and `screenId` are marked deprecated but are still required. Send all three.
{
"name": "get_screen",
"arguments": {
"name": "projects/3780309359108792857/screens/88805abc123def456",
"projectId": "3780309359108792857",
"screenId": "88805abc123def456"
}
}The prefix rule differs per field, which is the whole reason this wrapper exists:
✅ name: "projects/3780309359108792857/screens/88805abc123def456" ❌ name: "88805abc123def456" ✅ projectId: "3780309359108792857" ❌ projectId: "projects/3780309359108792857" ✅ screenId: "88805abc123def456" ❌ screenId: "screens/88805abc123def456"
> `name` is the full path; the other two are bare. Omitting `name` fails — it's required despite the deprecated pair still being mandatory too.
{
"name": "projects/3780309359108792857/screens/88805abc123def456",
"htmlCode": {
"downloadUrl": "https://storage.googleapis.com/stitch-output/..."
},
"screenshot": {
"downloadUrl": "https://storage.googleapis.com/stitch-screenshots/..."
},
"figmaExport": {
"downloadUrl": "https://storage.googleapis.com/stitch-figma/..."
},
"width": 390,
"height": 844,
"deviceType": "MOBILE"
}AI fetch tools frequently fail on Google Cloud Storage URLs. Use the bash script:
bash scripts/fetch-stitch.sh "[htmlCode.downloadUrl]" "temp/source.html"
Always quote the URL to handle special characters.
After retrieving the screen, check what the user wants to do with it.
Check the `deviceType` in the response first — it shapes which options to suggest:
| `deviceType` | Sensible defaults to suggest | |---|---| | `DESKTOP` | Next.js, Svelte, HTML | | `MOBILE` | Next.js (PWA), Svelte, HTML, React Native, SwiftUI | | `AGNOSTIC` | Any |
Then route based on user intent:
| User intent | → Load skill | |---|---| | "Convert to Next.js", "React app", "App Router" | `stitch-nextjs-components` | | "Convert to Svelte", "SvelteKit" | `stitch-svelte-components` | | "Convert to HTML", "PWA", "Capacitor", "Ionic", "web app" | `stitch-html-components` | | "React Native", "Expo", "iOS and Android", "cross-platform" | `stitch-react-native-components` | | "SwiftUI", "Xcode", "native iOS", "iOS only" | `stitch-swiftui-components` | | "Extract design system", "get the colors/fonts" | `stitch-design-system` | | "Just show me the screenshot" | Present `screenshot.downloadUrl` | | No framework mentioned, desktop design | Ask: Next.js, Svelte, or HTML? | | No framework mentioned, mobile design | Ask: React Native, SwiftUI, or HTML (Capacitor)? |
Your coding agent writes decent code and designs terrible UI. stitch-kit fixes the second half — it wires agents into Google Stitch (text prompts → genuinely beautiful screens) and teaches them to drive it properly.
Repo: gabelul/stitch-kit
Audits Stitch-generated components for WCAG 2.1 AA accessibility issues and applies fixes — semantic HTML, ARIA attributes, keyboard navigation, focus…
Adds a purposeful animation layer to Stitch-generated components — CSS transitions, Framer Motion (React/Next.js), or Svelte transitions. Always respects…
Analyzes a Stitch project's screens and synthesizes a natural-language DESIGN.md — visual atmosphere, color palette with hex values, typography rules, and…
Extracts a Stitch design and generates production code artifacts — CSS custom properties with dark mode tokens, a Tailwind v4 @theme block, and a semantic…
Converts a Stitch screen, a local HTML file, or a URL into clean, platform-agnostic HTML5 + CSS — semantic markup, CSS custom properties for theming, dark mode…
Conversational design ideation agent that researches trends, explores visual directions, and refines ideas through adaptive questioning — then produces a rich…