Skip to content
Development
Skill

/stitch-mcp-apply-design-system

Applies a Stitch Design System to existing screens — updates their colors, fonts, and roundness to match the design system's theme. Requires an assetId from list or create operations.

From plugin
stitch-kit
4536 skills1 agent2 hooks
Install
$ npx -y skills add gabelul/stitch-kit --skill stitch-mcp-apply-design-system --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/stitch-mcp-apply-design-system

Context preview

The summary Claude sees to decide when to auto-load this skill.

Applies a Stitch Design System to existing screens — updates their colors, fonts, and roundness to match the design system's theme. Requires an assetId from list or create operations.

SKILL.md

stitch-mcp-apply-design-system.SKILL.md
name: stitch-mcp-apply-design-system
description: Applies a Stitch Design System to existing screens — updates their colors, fonts, and roundness to match the design system's theme. Requires an assetId from list or create operations.
allowed-tools:
  - "stitch*:*"

Stitch MCP — Apply Design System

Applies a previously created Stitch Design System to one or more screens. This updates the screen's visual theme (colors, font, roundness) to match the design system, ensuring visual consistency across a project.

Critical prerequisite

**Only use this skill when the user explicitly mentions "Stitch".**

You must have: 1. A `projectId` (numeric) 2. One or more `screenId` values (numeric) 3. An `assetId` from a design system (from `list_design_systems` or `create_design_system`)

When to use

  • After creating a design system and wanting to apply it to screens
  • User says "make all screens match this theme" or "apply the design system"
  • The orchestrator's Step 5b stores an assetId and offers to apply it
  • Ensuring visual consistency across a multi-screen project

Call the MCP tool

{
  "name": "apply_design_system",
  "arguments": {
    "projectId": "3780309359108792857",
    "selectedScreenInstances": [
      {
        "id": "a1b2c3d4e5f6",
        "sourceScreen": "projects/3780309359108792857/screens/98b50e2ddc9943efb387052637738f61"
      }
    ],
    "assetId": "15996705518239280238"
  }
}

Parameter reference

`projectId` — numeric ID only, no prefix

✅ "3780309359108792857"
❌ "projects/3780309359108792857"

`selectedScreenInstances` — array of objects, not screen IDs

This is the one that catches people. It takes screen **instances**, each a `{id, sourceScreen}` pair — not a list of screen ids.

✅ [{ "id": "a1b2c3d4e5f6",
      "sourceScreen": "projects/3780.../screens/98b5..." }]

❌ ["88805abc123def456"]                    ← bare screen ids
❌ [{ "id": "98b50e2ddc99...", ... }]        ← source screen id in the id slot

Get both values from `get_project` → `screenInstances`. The `id` is the **instance** id; `sourceScreen` is the full `projects/{p}/screens/{s}` path of the screen behind it. They are different values, and swapping them fails.

Same shape as `create_design_system_from_design_md`, which takes a single instance rather than an array.

`assetId` — bare numeric, no prefix

✅ "15996705518239280238"
❌ "assets/15996705518239280238"

Get it from:

  • `stitch-mcp-list-design-systems` → take the `name` field (`assets/15996...`) and **strip the `assets/` prefix**
  • `stitch-mcp-create-design-system` → same, strip the prefix from the returned `name`

> `apply_design_system` wants it bare, but `generate_screen_from_text`'s `designSystem` param wants it **prefixed** (`assets/15996...`). Same identifier, two formats, depending on the tool.

Output

Returns updated screen data reflecting the applied design system.

After applying

1. Re-fetch affected screens: `stitch-mcp-get-screen` for each screenId 2. Show updated screenshots to the user 3. Offer:

  • "Edit the updated screens?" → `stitch-mcp-edit-screens`
  • "Convert to code?" → framework conversion
  • "Apply to more screens?" → another `apply_design_system` call
Read more
Ships withstitch-kit

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.

Get the whole plugin

Other skills on stitch-kit.