Stitch mcp edit screens
Your coding agent designs terrible UI. stitch-kit wires it into Google Stitch MCP and teaches it the whole pipeline — ideation, screen generation, design systems, production components.
npx -y skills add gabelul/stitch-kit --skill stitch-mcp-edit-screensAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Edits existing Stitch screens with text prompts — the iteration tool. Change colors, layout, content, or style without regenerating from scratch. Supports refinement loops via output_components suggestions.
SKILL.md
4.1 KB, as published. Nobody here has run it
Stitch MCP — Edit Screens
Edits one or more existing screens using a text prompt. This is the primary iteration tool — instead of regenerating a screen from scratch (60–180s), you can refine what you already have with targeted changes.
Critical prerequisite
Only use this skill when the user explicitly mentions "Stitch".
You must have both a projectId AND at least one screenId before calling this. If you don't:
- List screens via
stitch-mcp-list-screensto find screen IDs - Parse from context:
projects/123/screens/456→ projectId:123, screenId:456
When to use
- User wants to modify an existing Stitch screen (change colors, layout, content, style)
- After generation, user says "make it darker", "change the font", "move the nav to the side"
- The orchestrator's Step 5b offers "Edit this screen"
- Any iterative refinement on a Stitch design
Call the MCP tool
{
"name": "edit_screens",
"arguments": {
"projectId": "3780309359108792857",
"selectedScreenIds": ["88805abc123def456"],
"prompt": "Change the background to dark mode (#09090B). Make the primary color indigo (#818CF8). Increase the font size of the header to 32px bold.",
"deviceType": "DESKTOP",
"modelId": "GEMINI_3_1_PRO"
}
}
Parameter reference
projectId — numeric ID only, no prefix
✅ "3780309359108792857"
❌ "projects/3780309359108792857"
selectedScreenIds — array of numeric screen IDs
✅ ["88805abc123def456"]
❌ ["projects/123/screens/88805abc123def456"]
❌ ["screens/88805abc123def456"]
Select one or more screens to edit. All selected screens receive the same edit instruction.
prompt — the edit instruction
Apply the same quality bar as generation prompts:
- Be specific: "Change background to #09090B" not "make it darker"
- Name exact components: "the header navigation" not "the top part"
- Include values: hex colors, px sizes, specific content text
- One focused change per call produces better results than many changes at once
deviceType — optional
Same enum as generate_screen_from_text: MOBILE, DESKTOP, TABLET, AGNOSTIC
modelId — optional
| Value | Use when |
|---|---|
GEMINI_3_1_PRO | Recommended — complex layouts, high fidelity |
GEMINI_3_FLASH | Fast iteration, wireframes, simple changes |
GEMINI_3_PRO | Deprecated. Still works but will be removed. Use GEMINI_3_1_PRO instead. |
Handling output_components
The response may contain output_components with suggestions:
{
"outputComponents": [
{ "text": "I've updated the background color and adjusted contrast ratios." },
{ "suggestion": "Would you also like me to update the sidebar to match the dark theme?" }
]
}
When you see suggestions:
- Present them to the user
- If the user accepts: call
edit_screensagain with the suggestion as the newprompt - This creates a natural refinement loop — keep going until the user is satisfied
Timing
Same as generation: 60–180 seconds is normal.
- Do NOT retry during this window
- Do NOT assume failure if it takes > 60 seconds
- Each call creates a new edit — retries mean duplicate edits
After editing
- Re-fetch the screen:
stitch-mcp-get-screenwith the same projectId and screenId - Show the updated screenshot to the user
- Offer:
- "Continue editing?" → another
edit_screenscall - "Generate variants of this version?" →
stitch-mcp-generate-variants - "Convert to code?" → framework conversion workflow
- "Continue editing?" → another
Anti-patterns
- Never send vague edit prompts — "make it better" will produce unpredictable results
- Never use
projects/IDformat for projectId or screenId — both must be numeric - Never batch unrelated edits — "change the color AND completely redo the layout" works poorly