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
4736 skills1 agent2 hooks

Claude Code

$ npx -y skills add gabelul/stitch-kit --skill stitch-mcp-generate-screen-from-text --agent claude-code

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

4736 skills1 agent
Get the whole plugin

Stars on GitHub

Momentum

stars in total
47
Star history of gabelul/stitch-kit on GitHub, a chart by star-history.com

Other skills on stitch-kit.

stitch-a11y

stitch-a11y

Audits Stitch-generated components for WCAG 2.1 AA accessibility issues and applies fixes — semantic HTML, ARIA attributes,…

@gabelul@gabelulInstall Skill
stitch-animate

stitch-animate

Adds a purposeful animation layer to Stitch-generated components — CSS transitions, Framer Motion (React/Next.js), or Svelte…

@gabelul@gabelulInstall Skill
stitch-design-md

stitch-design-md

Analyzes a Stitch project's screens and synthesizes a natural-language DESIGN.md — visual atmosphere, color palette with hex…

@gabelul@gabelulInstall Skill
stitch-design-system

stitch-design-system

Extracts a Stitch design and generates production code artifacts — CSS custom properties with dark mode tokens, a Tailwind v4…

@gabelul@gabelulInstall Skill
stitch-html-components

stitch-html-components

Converts a Stitch screen, a local HTML file, or a URL into clean, platform-agnostic HTML5 + CSS — semantic markup, CSS custom…

@gabelul@gabelulInstall Skill
stitch-ideate

stitch-ideate

Conversational design ideation agent that researches trends, explores visual directions, and refines ideas through adaptive…

@gabelul@gabelulInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills12d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react3d252k
@facebook@facebookInstall Skill

Questions about stitch-mcp-generate-screen-from-text.

Which coding agents can use stitch-mcp-generate-screen-from-text?
stitch-mcp-generate-screen-from-text installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.