Generate low-fidelity wireframes based on web3-flow.md. Supports Figma MCP (production quality) and Google Stitch MCP (free, MVP quality). Creates one wireframe per key screen identified in the flows.
Translate flows into testable screens. Low-fidelity, grayscale, no styling. The goal is to test flows, not aesthetics.
/web3-flow to create the first testable artifact/web3-wireframe auto-detect: tries Figma first, falls back to Stitch
/web3-wireframe figma force Figma MCP (production quality, prototype links)
/web3-wireframe stitch force Google Stitch MCP (free, MVP quality)
Determine which output path to use before doing anything else.
If an explicit parameter was passed:
figma → verify Figma MCP is available by calling figma_get_me or any read-only Figma tool. If unavailable:
Figma MCP not detected.
To use the Figma path, install the Figma MCP for Claude Code:
- Install the plugin from figma.com/developers/mcp
- Add your Figma access token to Claude Code settings
- Re-run
/web3-wireframe figma
stitch → verify Stitch MCP is available by calling list_projects or any read-only Stitch tool. If unavailable:
Google Stitch MCP not detected.
To use the Stitch path, add the Stitch MCP to your Claude Code settings:
{ "mcpServers": { "stitch": { "url": "https://stitch.googleapis.com/mcp", "headers": { "X-Goog-Api-Key": "YOUR_API_KEY" } } } }Get your API key at stitch.withgoogle.com. Free tier: 350 generations/month. Then re-run
/web3-wireframe stitch
If no parameter was passed (auto-detect):
figma_get_me or any read-only Figma tool. If it succeeds → use Path: Figma.list_projects or any read-only Stitch tool. If it succeeds → use Path: Stitch.No wireframe tool detected.
This skill requires either Figma MCP or Google Stitch MCP.
Option A — Figma (full quality, prototype links): Install from figma.com/developers/mcp
Option B — Google Stitch (free, 350 gen/month, MVP quality): Add to Claude Code settings:
{ "mcpServers": { "stitch": { "url": "https://stitch.googleapis.com/mcp", "headers": { "X-Goog-Api-Key": "YOUR_API_KEY" } } } }Get your key at stitch.withgoogle.com, then re-run
/web3-wireframe
Do not proceed until a tool is confirmed available.
Read web3-flow.md from the current directory.
If not found:
I need flows before generating wireframes. Run
/web3-flowfirst.
Also read web3-brief.md if it exists — it provides product name, personas, and copy used in wireframe content. If not found, note that wireframe content will use placeholders and ask the user to confirm before proceeding.
From the flow diagrams, extract every distinct screen or state that needs a wireframe. A screen is any node in the flow where the user sees a different UI.
Typical screens to identify:
Present the list to the user:
I identified [N] screens from your flows: [numbered list]
Should I generate all of them, or prioritize a subset for the first version?
Wait for the user's response. Proceed with only the screens the user confirms.
Do you have an existing Figma file you want to use? Paste the URL, or I'll create a new file named "web3ux — [Product Name] — Wireframes."
(Use the product name from web3-brief.md, or ask the user if brief is unavailable.)
If the user provides a URL, open that file. If not, create a new Figma file.
For each screen:
Wireframe principles:
web3-brief.mdweb3-flow.md with a visible annotationWeb3-specific wireframe rules:
Generate each screen as a frame in Figma. Name frames clearly: 01 - Landing (no wallet), 02 - Wallet connection, etc.
After all frames are created, add prototype links following the flow logic from web3-flow.md. Each CTA should link to the next screen in the flow.
[N] wireframes generated in Figma.
Link: [Figma file URL]
Screens created: [numbered list with frame names]
The wireframes follow the flows from
web3-flow.md. Decision points are annotated on-screen.Next step: Put these in front of users. The goal of this v0.5 is to validate flows, not aesthetics. Run
/web3-critiqueafter user testing to prioritize what to fix first.
Note: Stitch produces MVP-quality screens — fast and shareable. No prototype links, no detailed annotations. For production-quality wireframes with annotations and prototype links, use
/web3-wireframe figma.
Do you have an existing Stitch project you want to use? Paste the URL, or I'll create a new project named "web3ux — [Product Name] — Wireframes."
(Use the product name from web3-brief.md, or ask the user if brief is unavailable.)
For each screen, call generate_screen_from_text with a prompt that includes:
web3-flow.md)web3-brief.md — actual product name, labels, and copy (no lorem ipsum)Example prompt for a transaction confirmation screen:
A mobile transaction confirmation screen for [Product Name].
Header: wallet address [0xABC...] connected to Ethereum Mainnet.
Body: action summary — "Stake 0.5 ETH". Gas fee: 0.002 ETH shown above the CTA.
Primary CTA: "Confirm" button. Secondary: "Cancel" link.
Grayscale, no styling. Clean and minimal.
For each generated screen, call get_screen_image and confirm visually that:
web3-flow.mdIf a screen looks wrong, regenerate it with a more specific prompt.
[N] screens generated in Stitch.
Project: [Stitch project URL]
Screens created: [numbered list]
Exportable code for each screen is available via
get_screen_codeif you want to use it as a starting point.Limitations of this output: No interactive prototype links — flow navigation should be validated visually against
web3-flow.md. For annotated wireframes with prototype links, run/web3-wireframe figma.Next step: Share the Stitch link with stakeholders for early feedback. Run
/web3-critiqueafter review to prioritize what to change.