Skip to content
Development
Skill

/stitch-mcp-generate-screen-from-text

Generates a high-fidelity UI screen or wireframe from a text prompt using Stitch. This is the core text-to-UI generation tool — the heart of the Stitch workflow.

From plugin
stitch-kit
4536 skills1 agent2 hooks
Install
$ npx -y skills add gabelul/stitch-kit --skill stitch-mcp-generate-screen-from-text --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-generate-screen-from-text

Context preview

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

Generates a high-fidelity UI screen or wireframe from a text prompt using Stitch. This is the core text-to-UI generation tool — the heart of the Stitch workflow.

SKILL.md

stitch-mcp-generate-screen-from-text.SKILL.md
name: stitch-mcp-generate-screen-from-text
description: Generates a high-fidelity UI screen or wireframe from a text prompt using Stitch. This is the core text-to-UI generation tool — the heart of the Stitch workflow.
allowed-tools:
  - "stitch*:*"

Stitch MCP — Generate Screen from Text

Generates a UI design screen from a structured text prompt. This is the central action in any Stitch workflow — everything before it (spec generation, prompt assembly) is preparation, and everything after it (screen retrieval, code conversion) is follow-through.

Critical prerequisite

**Only use this skill when the user explicitly mentions "Stitch" or when called from an upstream skill (e.g. stitch-ideate, stitch-orchestrator).**

You must have a `projectId` before calling this. If you don't have one:

  • Create a new project via `stitch-mcp-create-project`
  • Or find an existing project via `stitch-mcp-list-projects`

When to use

  • User asks to "design", "generate", "create", or "make" a screen using Stitch
  • The orchestrator has assembled a prompt via `stitch-ui-prompt-architect`
  • User provides specific visual requirements and wants a Stitch-generated result

Call the MCP tool

{
  "name": "generate_screen_from_text",
  "arguments": {
    "projectId": "3780309359108792857",
    "prompt": "[Full structured prompt — see below]",
    "deviceType": "MOBILE",
    "modelId": "GEMINI_3_1_PRO",
    "designSystem": "assets/15996705518239280238"
  }
}

Parameter reference

`designSystem` — optional, PREFIXED asset id

✅ "assets/15996705518239280238"
❌ "15996705518239280238"

This is how you get design consistency across generated screens — pass the `name` of a design system from `stitch-mcp-create-design-system`, `stitch-mcp-create-design-system-from-design-md`, or `stitch-mcp-list-design-systems` (used as-is, with the `assets/` prefix). This is the opposite format from `apply_design_system`'s `assetId`, which wants the prefix stripped.

`projectId` — numeric ID only, no `projects/` prefix

✅ "3780309359108792857"
❌ "projects/3780309359108792857"

`prompt` — use the `[Context] [Layout] [Components]` structure

[Context & Style]
[Device] [Mode] [screen type] for [product]. [aesthetic]. [theme]. [colors]. [font].

[Layout]
[Describe the structural arrangement]

[Components]
[Specific named UI components with details]

For best results, use the `stitch-ui-prompt-architect` skill to assemble the prompt before calling this tool.

`deviceType`

| Value | Use when | |-------|---------| | `MOBILE` | Mobile app, phone-sized UI (default if uncertain) | | `DESKTOP` | Web dashboard, landing page, SaaS UI | | `TABLET` | Tablet-specific layout | | `AGNOSTIC` | Not tied to a specific device — responsive/fluid layout |

`modelId`

| 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. |

After generating

This tool returns session info but **not the actual screenshot/HTML**. To retrieve the design: 1. Call `stitch-mcp-list-screens` with `projects/[projectId]` to find the new screen 2. Call `stitch-mcp-get-screen` with the `projectId` and `screenId` to get the screenshot and HTML

Prompt quality checklist

Before calling this tool, verify the prompt:

  • [ ] Specifies device type consistently with `deviceType` parameter
  • [ ] Names specific components (not "some buttons" — "primary 'Sign In' button")
  • [ ] Includes colors (hex codes or clear color names)
  • [ ] Uses realistic content (not Lorem Ipsum)
  • [ ] Specifies light or dark mode explicitly

Batch generation from full PRDs

When the prompt is a **complete PRD document** (product overview, design system, multiple screen specifications, build guide), Stitch will generate **multiple screens in a single call** — not just one. Stitch generates up to 10 screens per call. A PRD with 8 screen specs typically produces 5-7 screens automatically.

This is the same mechanism Stitch's web Ideate uses for "generate all screens". The PRD format acts as a comprehensive prompt that Stitch decomposes internally.

**How to use batch generation:** 1. Send the full PRD text as the `prompt` parameter 2. Stitch generates up to ~10 screens per call from a multi-screen PRD 3. Two possible outcomes depending on whether the MCP response times out:

**If response returns with data:**

  • Check `output_components` for continuation suggestions (e.g. "Yes, make them all", "Generate remaining screens")
  • Automatically call `generate_screen_from_text` again with the suggestion text as the `prompt` — the user already initiated generation, no need to re-confirm
  • Repeat until no more `output_components` suggestions appear (max 3 continuation calls to prevent infinite loops)

**If response returns empty (HTTP timeout):**

  • Generation is still running server-side — do NOT retry
  • Wait 90-120 seconds, then call `list_screens` to discover what was generated
  • If empty, wait another 60 seconds and retry the list call
  • Generate any missing screens individually with focused prompts referencing the PRD's design system

Timing

Stitch generation takes 60–180 seconds for single screens and up to 5 minutes for multi-screen PRD generation. This is normal behavior, not a timeout.

  • Do NOT retry during this window
  • Do NOT assume failure if it takes > 60 seconds
  • The MCP tool may return empty for long generations — check `list_screens` afterward
  • If it fails: wait 90 seconds, check `list_screens`, retry ONCE max if nothing appeared
  • Each call creates a new generation — retries mean duplicate screens

References

  • `examples/desktop.md` — Desktop dashboard prompts (SaaS analytics, admin panel)
  • `examples/mobile.md` — Mobile app prompts (login, social feed, e-commerce)
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.