SuperAPI AI Directory

stitch-mcp-apply-design-system

Design & creation

View repository

Updated 10-15 21:49

About this skill

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