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.
Scanned 5/27/2026
Install via CLI
openskills install gabelul/stitch-kit---
name: stitch-mcp-edit-screens
description: 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.
allowed-tools:
- "stitch*:*"
- "Bash"
- "Read"
- "Write"
---
# 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-screens` to 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
```json
{
"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:
```json
{
"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:**
1. Present them to the user
2. If the user accepts: call `edit_screens` again with the suggestion as the new `prompt`
3. 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
1. Re-fetch the screen: `stitch-mcp-get-screen` with the same projectId and screenId
2. Show the updated screenshot to the user
3. Offer:
- "Continue editing?" → another `edit_screens` call
- "Generate variants of this version?" → `stitch-mcp-generate-variants`
- "Convert to code?" → framework conversion workflow
## Anti-patterns
- **Never send vague edit prompts** — "make it better" will produce unpredictable results
- **Never use `projects/ID` format** for projectId or screenId — both must be numeric
- **Never batch unrelated edits** — "change the color AND completely redo the layout" works poorly
No comments yet. Be the first to comment!