Stitch Taste Design System
google-labs-code/stitch-skills
Generates a DESIGN.md design-language file for Google Stitch that encodes color, typography, layout, component behavior and motion rules to avoid generic AI-looking UI.
Use the Stitch SDK to generate, edit, and iterate on UI screens from text prompts, manage projects, and retrieve screen HTML/images.
$ npx skills add google-labs-code/stitch-sdk --skill stitch-sdk-usage -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install google-labs-code/stitch-sdk stitch-sdk-usage --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/google-labs-code/stitch-sdk.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/stitch-sdk-usage .claude/skills/stitch-sdk-usage && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "stitch-sdk-usage" agent skill from https://github.com/google-labs-code/stitch-sdk/tree/main/.agents/skills/stitch-sdk-usage into .claude/skills/stitch-sdk-usage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "stitch-sdk-usage", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/google-labs-code/stitch-sdk/tree/main/.agents/skills/stitch-sdk-usageType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add google-labs-code/stitch-sdk --skill stitch-sdk-usage -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install google-labs-code/stitch-sdk stitch-sdk-usage --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google-labs-code/stitch-sdk.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/stitch-sdk-usage .agents/skills/stitch-sdk-usage && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "stitch-sdk-usage" agent skill from https://github.com/google-labs-code/stitch-sdk/tree/main/.agents/skills/stitch-sdk-usage into .agents/skills/stitch-sdk-usage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "stitch-sdk-usage", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add google-labs-code/stitch-sdk --skill stitch-sdk-usage -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install google-labs-code/stitch-sdk stitch-sdk-usage --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google-labs-code/stitch-sdk.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/stitch-sdk-usage .cursor/skills/stitch-sdk-usage && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "stitch-sdk-usage" agent skill from https://github.com/google-labs-code/stitch-sdk/tree/main/.agents/skills/stitch-sdk-usage into .cursor/skills/stitch-sdk-usage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "stitch-sdk-usage", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/google-labs-code/stitch-sdk.git --path .agents/skills/stitch-sdk-usage--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add google-labs-code/stitch-sdk --skill stitch-sdk-usage -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install google-labs-code/stitch-sdk stitch-sdk-usage --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google-labs-code/stitch-sdk.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/stitch-sdk-usage .gemini/skills/stitch-sdk-usage && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "stitch-sdk-usage" agent skill from https://github.com/google-labs-code/stitch-sdk/tree/main/.agents/skills/stitch-sdk-usage into .gemini/skills/stitch-sdk-usage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "stitch-sdk-usage", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install google-labs-code/stitch-sdk stitch-sdk-usageInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add google-labs-code/stitch-sdk --skill stitch-sdk-usage -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/google-labs-code/stitch-sdk.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/stitch-sdk-usage .github/skills/stitch-sdk-usage && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "stitch-sdk-usage" agent skill from https://github.com/google-labs-code/stitch-sdk/tree/main/.agents/skills/stitch-sdk-usage into .github/skills/stitch-sdk-usage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "stitch-sdk-usage", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add google-labs-code/stitch-sdk --skill stitch-sdk-usage -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install google-labs-code/stitch-sdk stitch-sdk-usage --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google-labs-code/stitch-sdk.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/stitch-sdk-usage .opencode/skills/stitch-sdk-usage && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "stitch-sdk-usage" agent skill from https://github.com/google-labs-code/stitch-sdk/tree/main/.agents/skills/stitch-sdk-usage into .opencode/skills/stitch-sdk-usage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "stitch-sdk-usage", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
stitch-sdk-usageUse the Stitch SDK to generate, edit, and iterate on UI screens from text prompts, manage projects, and retrieve screen HTML/images.
Stitch SDK Usage is an agent skill from google-labs-code/stitch-sdk, published by the product's own GitHub organization. Use the Stitch SDK to generate, edit, and iterate on UI screens from text prompts, manage projects, and retrieve screen HTML/images. Use when the user wants to consume the SDK in their application.
Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Frontend & Design. It works with Google Stitch. The repository describes itself as: Generate UI screens from text prompts and extract their HTML and screenshots programmatically. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit e3f8ece. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npmFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
stitch.googleapis.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
STITCH_API_KEYSTITCH_ACCESS_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Stitch SDK Usage loads about 2.8k tokens when it runs. Until then it costs about 54 tokens; SKILL.md has 493 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from google-labs-code/stitch-sdk at commit e3f8ece, republished under its Apache-2.0 licence (© google-labs-code). 493 words, ~2,847 tokens.
.claude/skills/stitch-sdk-usage/SKILL.md (or your agent's skills folder).The Stitch SDK provides a TypeScript interface for Google Stitch, an AI-powered UI generation service.
npm install @google/stitch-sdkexport STITCH_API_KEY="your-api-key"import { stitch } from "@google/stitch-sdk";
const project = await stitch.createProject({ title: "My App" });
const generation = await project.generate("A settings page with dark theme");
const screen = generation.first; // all screens: generation.screens
const html = await screen.getHtml(); // the HTML content
const png = await screen.getImage(); // screenshot bytes (Uint8Array)The stitch singleton reads STITCH_API_KEY from the environment and connects on first use — no setup code required.
import { stitch } from "@google/stitch-sdk";
// List all projects
const projects = await stitch.projects();
// Reference a project by ID (no network call)
const project = stitch.project("4044680601076201931");
// Create a new project
const newProject = await stitch.createProject({ title: "My App" });// Create a design system for a project
const ds = await project.createDesignSystem({ displayName: "My Theme" });
// List design systems
const systems = await project.listDesignSystems();
// Reference by ID (no network call)
const dsRef = project.designSystem("existing-asset-id");
// Update a design system
const updated = await ds.update({ displayName: "Updated Theme" });
// Apply to screens (requires SelectedScreenInstance objects from project.data.screenInstances)
// Returns a Generation — all updated screens are in .screens
const applied = await ds.apply([
{ id: "instance-id", sourceScreen: "projects/123/screens/456" },
]);
applied.screens;Upload an existing image file (PNG, JPG, JPEG, WEBP) to create a screen directly from a mockup or asset.
import { stitch } from "@google/stitch-sdk";
const project = stitch.project("your-project-id");
// Upload a local image file
const [screen] = await project.upload("./mockup.png", {
title: "Home Screen",
});
console.log(screen.id);
const html = await screen.getHtml(); // HTML content
const png = await screen.getImage(); // screenshot bytes (Uint8Array)The method reads the file from disk and posts it directly to the Stitch REST API — no output token constraints apply (unlike agent-driven MCP calls).
Supported formats: .png, .jpg, .jpeg, .webp
Options:
| Option | Type | Default | Description |
|---|---|---|---|
title | string | — | Display title for the created screen |
createScreenInstances | boolean | true | Whether to add the screen to the canvas |
Throws StitchError with codes: NOT_FOUND (file not found), UNKNOWN_ERROR (unsupported format or upload failure), AUTH_FAILED (invalid API key).
// Generate screens from a prompt. Stitch can return MANY screens per
// generation — a Generation carries all of them plus the raw response.
const generation = await project.generate(
"Login page with email and password fields",
);
generation.screens; // every generated Screen
generation.first; // convenience: the first screen
generation.raw; // full typed tool response
// Optional settings go in a trailing options object
const mobile = await project.generate("A settings page", {
deviceType: "MOBILE",
});
// Edit an existing screen (also returns a Generation)
const edited = await generation.first.edit(
"Make the background dark and add a subtitle",
);
// Generate variants of a screen
const variants = await generation.first.variants(
"Try different color schemes",
{
variantCount: 2,
creativeRange: "EXPLORE",
aspects: ["COLOR_SCHEME", "LAYOUT"],
},
);
variants.screens; // all variant Screens// CONTENT (fetched for you)
const html = await screen.getHtml(); // HTML string
const png = await screen.getImage(); // Uint8Array
// Or just the signed download URLs
const htmlUrl = await screen.getHtmlUrl();
const imageUrl = await screen.getImageUrl();URL accessors use cached data from the generation response when available and write fetched responses back to the cache. A missing artifact throws StitchError with code NOT_FOUND (never a silent empty string).
For agents and orchestration scripts that forward JSON payloads to MCP tools:
import { stitch } from "@google/stitch-sdk";
// Find available tools
const { tools } = await stitch.listTools();
for (const tool of tools) {
console.log(`${tool.name}: ${tool.description}`);
}
// Call a tool with a JSON payload
const result = await stitch.callTool("generate_screen_from_text", {
projectId: "123",
prompt: "A login page",
});
await stitch.close();All SDK methods throw StitchError on failure. Use try/catch:
import { stitch, StitchError } from "@google/stitch-sdk";
try {
const project = stitch.project("bad-id");
await project.screens();
} catch (e) {
if (e instanceof StitchError) {
console.log(e.code); // "AUTH_FAILED", "NOT_FOUND", etc.
console.log(e.message); // Human-readable description
console.log(e.recoverable); // Whether retrying might succeed
}
}Error codes: AUTH_FAILED, NOT_FOUND, PERMISSION_DENIED, RATE_LIMITED, NETWORK_ERROR, VALIDATION_ERROR, CLARIFICATION_REQUIRED, UNKNOWN_ERROR
CLARIFICATION_REQUIRED is recoverable: generate()/edit()/variants() got a question instead of screens. Read e.clarification.question / e.clarification.suggestions and call the same method again with an answering prompt.
| Method | Returns | Description |
|---|---|---|
createProject(options?) | Promise<Project> | Create a new project (options.title) |
projects() | Promise<Project[]> | List all projects |
project(id) | Project | Reference a project by ID (no network call) |
| Method | Returns | Description |
|---|---|---|
generate(prompt, options?) | Promise<Generation<Screen>> | Generate screens — .screens, .first, .raw (options.deviceType, options.modelId) |
screens() | Promise<Screen[]> | List all screens in the project |
getScreen(screenId) | Promise<Screen> | Retrieve a specific screen by ID |
upload(filePath, opts?) | Promise<Screen[]> | Upload an image/HTML file and create screen(s) from it |
createDesignSystem(designSystem) | Promise<DesignSystem> | Create a design system for this project |
listDesignSystems() | Promise<DesignSystem[]> | List all design systems |
designSystem(id) | DesignSystem | Reference by ID (no API call) |
deviceType: "MOBILE" | "DESKTOP" | "TABLET" | "AGNOSTIC"
upload supported formats: .png .jpg .jpeg .webp .html
| Method | Returns | Description |
|---|---|---|
update(designSystem) | Promise<DesignSystem> | Update the design system's theme |
apply(selectedScreenInstances) | Promise<Generation<Screen>> | Apply this design system to screens (.screens) |
| Method | Returns | Description |
|---|---|---|
getHtml() | Promise<string> | Fetch the screen's HTML content |
getImage() | Promise<Uint8Array> | Fetch the screenshot bytes |
getHtmlUrl() / getImageUrl() | Promise<string> | Signed download URLs (cache-aware) |
edit(prompt, options?) | Promise<Generation<Screen>> | Edit the screen using a text prompt |
variants(prompt, variantOptions, options?) | Promise<Generation<Screen>> | Generate variants of the screen |
modelId: "GEMINI_3_8_FLASH" | "GEMINI_3_5_FLASH_LITE" (optional, defaults to backend default)
| Method | Returns | Description |
|---|---|---|
callTool(name, args) | Promise<T> | Call any MCP tool by name |
listTools() | Promise<Tools> | Discover available tools |
connect() | Promise<void> | Establish MCP connection (auto-called by callTool) |
close() | Promise<void> | Close the connection |
import { Stitch, StitchToolClient } from "@google/stitch-sdk";
const client = new StitchToolClient({
apiKey: "your-api-key",
baseUrl: "https://stitch.googleapis.com/mcp",
timeout: 300_000,
});
const sdk = new Stitch(client);
const projects = await sdk.projects();| Option | Env Variable | Description |
|---|---|---|
apiKey | STITCH_API_KEY | API key for authentication |
accessToken | STITCH_ACCESS_TOKEN | OAuth access token |
projectId | GOOGLE_CLOUD_PROJECT | GCP project ID (required with OAuth) |
baseUrl | — | MCP server URL (default: https://stitch.googleapis.com/mcp) |
timeout | — | Request timeout in ms (default: 300000) |
© google-labs-code, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/stitch-sdk-usage of google-labs-code/stitch-sdk.
Open the folder on GitHubat commit e3f8ece
Stitch SDK Usage next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Stitch SDK Usage this skillgoogle-labs-code/stitch-sdk | 1.8k | — | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| Stitch Taste Design Systemgoogle-labs-code/stitch-skills | 8.4k | 15 repos | ~3.1k | Automated safety check: Pass | Apache-2.0 | |
| Stitch Build Loopgoogle-labs-code/stitch-skills | 8.4k | 5 repos | ~2.6k | Automated safety check: Notes | Apache-2.0 | |
| Stitch to React and Vite Dashboardgoogle-labs-code/stitch-skills | 8.4k | — | ~914 | Automated safety check: Notes | Apache-2.0 | |
| Stitch Designdiodeme/Gold-Band | 143 | 1 repos | ~925 | Automated safety check: Pass | AGPL-3.0 | |
| Site Mdgoogle-labs-code/stitch-skills | 8.4k | — | ~783 | Automated safety check: Pass | Apache-2.0 |
google-labs-code/stitch-skills
Generates a DESIGN.md design-language file for Google Stitch that encodes color, typography, layout, component behavior and motion rules to avoid generic AI-looking UI.
google-labs-code/stitch-skills
Builds a website page by page with Stitch in an autonomous loop, passing a baton file from one iteration to the next that names the next page and prompt.
google-labs-code/stitch-skills
Turns Stitch screens into a React, Vite and TypeScript dashboard with TanStack Query data fetching, DESIGN.md tokens as CSS variables and optional read-only Web3 data.
diodeme/Gold-Band
Unified entry point for Stitch design work. An agent skill from diodeme/Gold-Band.
google-labs-code/stitch-skills
Analyze a project description or site requirements and synthesize a project constitution into SITE.md for the Stitch Build Loop
idiotLeoLYJ/Daliu-Awesome-Skills
Vibe Coding 流水线第五步:依据 design.md(视觉准则)与 interaction.md,为每个页面在 Stitch 画布生成原型, 经 stitch-mcp 拉取 HTML 与截图存入 prototypes/,并与交互文档做双向对齐校验。
google-labs-code/stitch-sdk
Develop the Stitch SDK. An agent skill from google-labs-code/stitch-sdk.
google-labs-code/stitch-sdk
Design the domain model for the Stitch SDK. An agent skill from google-labs-code/stitch-sdk.
google-labs-code/stitch-sdk
Run the full Stitch SDK generation pipeline. An agent skill from google-labs-code/stitch-sdk.
google-labs-code/stitch-sdk
Generate or update the README for the Stitch SDK. An agent skill from google-labs-code/stitch-sdk.
google-labs-code/stitch-sdk
Enforces a disciplined Red-Green-Refactor (TDD) workflow in TypeScript/Node.js.
google-labs-code/stitch-sdk
Architecture standard for building robust, type-safe TypeScript services using the "Spec and Handler" pattern.
Works with
Categories
Use the Stitch SDK to generate, edit, and iterate on UI screens from text prompts, manage projects, and retrieve screen HTML/images. Stitch SDK Usage is an agent skill from google-labs-code/stitch-sdk, published by the product's own GitHub organization. Use the Stitch SDK to generate, edit, and iterate on UI screens from text prompts, manage projects, and retrieve screen HTML/images.
Stitch SDK Usage fits situations like: the user wants to consume the SDK in their application.
Run `npx skills add google-labs-code/stitch-sdk --skill stitch-sdk-usage -a claude-code`. Or copy the skill folder (.agents/skills/stitch-sdk-usage in google-labs-code/stitch-sdk) into .claude/skills/stitch-sdk-usage in your project. Claude Code loads it when a task matches its description.
Run `npx skills add google-labs-code/stitch-sdk --skill stitch-sdk-usage -a codex`. Or copy the skill folder (.agents/skills/stitch-sdk-usage in google-labs-code/stitch-sdk) into .agents/skills/stitch-sdk-usage in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add google-labs-code/stitch-sdk --skill stitch-sdk-usage -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/stitch-sdk-usage, .gemini/skills/stitch-sdk-usage, .github/skills/stitch-sdk-usage and .opencode/skills/stitch-sdk-usage in your project.
Going by SKILL.md and its folder, Stitch SDK Usage needs the command-line tools its instructions call (npm) and credentials named STITCH_API_KEY and STITCH_ACCESS_TOKEN. Our summary lists: Node.js; A credential in STITCH_API_KEY; A credential in STITCH_ACCESS_TOKEN.
SKILL.md names 1 domain. In commands or code: stitch.googleapis.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Stitch SDK Usage is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Stitch SDK Usage: Stitch Taste Design System (google-labs-code/stitch-skills, 8.4k stars), Stitch Build Loop (google-labs-code/stitch-skills, 8.4k stars), Stitch to React and Vite Dashboard (google-labs-code/stitch-skills, 8.4k stars) and Stitch Design (diodeme/Gold-Band, 143 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
google-labs-code (a GitHub organization, an official publisher) maintains it in google-labs-code/stitch-sdk, which has 1,826 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 1, 2026.
Source: google-labs-code/stitch-sdk on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.