Generate image-based alternatives, remixes, or new design directions from a Product Design brief. Use when the user asks for design variants, visual exploration, remixes, or image-generated approaches from provided context.
72
88%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
You're tasked with generating design concepts for a user's idea.
Follow the shared Product Design routing guidance in $index.
Before starting, load $user-context and run its preflight script when local shell access is available.
Attach provided product URLs, Figma files, screenshots, reference images, codebase paths, Storybook, tokens, design systems, brand assets, component refs, browser preferences, and share targets to the Image Gen generations to align them to the design brief.
Do not inspect every saved reference. Inspect only what the current task needs.
Do not generate images until $get-context has satisfied the minimum required design brief.
Before generating images:
get-context if the minimum required design brief isn't satisfied.user-context, storybook/, .storybook/, design-system/, design-systems/, tokens/, components/, app/, and generated prototype roots.390 x 844.834 x 1194.1440 x 1024.1440 wide and scrollable.Attach images and mocks provided by the user to the Image Gen call along with your design brief.
Generate 3 independent options that have distinct information hierarchy, layout strategy, interaction model, or product framing.
Rules you must follow:
Promise.all, collect them into an ordered array, or replay them in request order.option 1, option 2, or option 3 and do not put planned numeric labels in Image Gen prompts. Parallel results can arrive in a different order from the requests.Promise.all result order, batch order, array indexes, retry order, and assumed completion order.N, resolve it against the Nth displayed generated-image result from the most recent ideation set, not the original planned concept order. If the exact displayed result cannot be resolved, do not build from a guess; ask the user to name the concept or reattach/select the image.$image-to-code.If the user gives feedback after seeing options, generate revised options with that feedback.
If the user selects an option and gives feedback, generate a revised option with that feedback before build.
If the user likes parts of more than one option, combine those choices into a new Image Gen design and show it before build.
Adapt this prompt to the current design brief, attach any available image references, and send it to Image Gen:
Create realistic, production-quality UI designs with clear hierarchy, strong typography, intentional imagery, and purposeful spacing.
Design a focused primary screen, not a feature inventory. The product may support many workflows, but this frame should show the hero use case, one clear primary action, and only one or two supporting actions or content areas. Do not add cards, panels, tabs, badges, metrics, filters, or navigation items merely to advertise every feature. Let the rest of the product exist off-screen. Prefer strong hierarchy and generous whitespace; if the screen feels crammed, remove UI.
### Target Dimensions
Pick the dimensions that best match the user's request and any provided visual reference.
Default to a desktop web-app frame unless the user or reference clearly calls for mobile, tablet, or another format.
- Mobile app: `390 x 844`
- Tablet app: `834 x 1194`
- Desktop app, dashboard, admin, or SaaS: `1440 x 1024`
- Landing or marketing page: `1440` wide and scrollable
- Modal, panel, widget, or component: natural container size
- Provided screenshot, Figma frame, mockup, or reference image: match its dimensions and aspect ratio when the user wants to continue from that visual
Use a natural viewport ratio for the intended surface. Never stretch, squash, or warp the generated screen, imagery, typography, or UI elements to fill the canvas. If the composition does not fit naturally, recompose or simplify the layout instead.
Avoid crowding. Make the design fit the chosen dimensions cleanly, with realistic spacing, readable type, and no clipped content.
### Layout
When deciding how to lay elements out on the page, this should be your priority order for tools to differentiate sections:
1. Use spacing, grouping, alignment, typography, and hierarchy on the same product surface.
2. Use simple dividers or row separators.
3. Use a subtle surface tint only when the base surface is not enough.
4. Use borders only when separation still is not clear.
5. Use shadows/elevation last, and sparingly.
Don'ts:
- Do not default to a centered "app card" (the whole UI is in a card on the page) on top of a contrasting page background. Use the base page surface first unless the source product or user explicitly asks for a contained app panel.
- Do not put cards inside cards. Do not make every major section a card. Do not make each list item its own card unless each item is truly a standalone object. A normal list should usually read as one grouped surface with lightweight row separation.
- Do not make up extraneous features. Add only the things essential to accomplish what the prototype's goal is. Don't make up more features just to fill out a UI.
### Typography
- Anchor UI typography to readable product sizes. Body text should usually sit between 14px and 16px, with the rest of the type scale built around that baseline.
- Keep long-form text to a comfortable line length, generally no more than 65 characters per line.
- Use no more than 2 fonts in a UI. You can use any font available in the project, or fonts provided free on Google Fonts. Pick the font that is best for the goal of the product and that matches with its intended look and feel.
### Presentation
- Do not add browser or device chrome around the mockup.
- Do not put multiple ideas into a single image generation.
- Vary each idea as much as possible while adhering to the constraints given entirely.
### Data Freshness
When the design includes dates or time-sensitive mock data, use the supplied current date as the anchor. Weekly views must show the real containing week with correct weekday/date pairs. Feeds, charts, notifications, and recent activity must use plausible chronological dates relative to today. Mark today when useful. Preserve dates required by the brief or source design.Wait until all Image Gen calls have returned before sending the final message that asks the user to choose.
Do not send the final selection message until every requested generated image is visible exactly once in the main chat.
If fewer Image Gen outputs are visible than requested, retry the missing generation. Do not send the selection message.
Number the returned Image Gen outputs in the order they appear in the conversation context:
Ignore the planned concept order, original request chain, request order, Promise.all result order, batch order, array indexes, retry order, and tool submission order.
Do not name or describe the options. For the default three images, send only:
Which option should I build: 1, 2, or 3? Or tell me what you'd like to refine or personalize first.
Adjust the numbers only if the user requested a different count.
If the user chooses a number, acknowledge the chosen option before routing to $image-to-code, for example: Building option 2! Do not ask for confirmation when the mapping is clear.
Done means the requested number of independent images have been generated and the user has been asked to select one.
ff87d47
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.