ideate

作者: openai

在產品設計取得背景資訊並確認設計簡報後,生成基於圖像的視覺替代方案、混搭或概念方向。當使用者…

npx skills add https://github.com/openai/role-specific-plugins --skill ideate

Ideate

You're tasked with generating design concepts for a user's idea.

Follow the shared Product Design routing guidance in $index.

Critical Overrides

User Context

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.

Workflow

Do not generate images until $get-context has satisfied the minimum required design brief.

Before generating images:

  1. Understand the brief.
  • Identify the target: component, screen, feature/workflow, or broad product idea.
  • Identify the intended user, product surface, and goal.
  • Preserve hard constraints from the user.
  • Run get-context if the minimum required design brief isn't satisfied.
  1. Resolve context.
  • Use provided files, screenshots, links, and visible references.
  • In a local workspace, look for nearby design documentation and other local visual context.
  • Check likely design context folders such as user-context, storybook/, .storybook/, design-system/, design-systems/, tokens/, components/, app/, and generated prototype roots.
  • In an existing project, look for existing product screenshots, similar flows, Storybook captures, design tokens, and component references before generating. Ask if the user can provide example screens similar to the one they are building if the existing app isn't accessible. Ensure you add design language and tokens to the Image Gen prompt.
  1. Inspect references directly.
  • Look at screenshots, images, Figma frames, app surfaces, or other visual references before generating.
  • Do not infer from filenames alone.
  • If a named local path or reference is not visible, stop and ask the user to confirm the path, upload the file, start the local app, or point to the correct workspace.
  1. Decide the variation mode.
  • If useful local design context exists and the user has not asked for a new style, stay within that existing direction.
  • If no useful design context exists, or the user asks for broad exploration, vary both concept and visual system.
  • For a specific component or existing surface, vary structure, interaction, hierarchy, and emphasis before varying brand style.
  • For a broad product idea, explore three meaningfully different product directions.
  1. Choose target dimensions before Image Gen.
  • Pick the dimensions that best match the user's request and any provided visual reference.
  • 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.
  • Avoid crowding. Make the design fit the chosen dimensions cleanly, with realistic spacing, readable type, and no clipped content.
  • Include the chosen dimensions in every Image Gen prompt.
  1. Check for access gaps.
  • If a connector, reference, or file cannot be accessed because of auth, permissions, expired login, missing scope, suspiciously empty results, or unavailable local state, stop.
  • Name the gap clearly and ask whether to troubleshoot access or continue without that source.
  • Do not generate images while silently ignoring a named reference.
  1. Attach images and mocks provided by the user to the Image Gen call along with your design brief.

  2. Generate 3 independent options that have distinct information hierarchy, layout strategy, interaction model, or product framing.

Rules you must follow:

  • Use the Image Gen prompt below.
  • Use the built-in Image Gen tool.
  • Generate exactly three independent images unless the user overrides the count.
  • Launch each Image Gen call independently. Do not batch Image Gen calls with Promise.all, collect them into an ordered array, or replay them in request order.
  • Each option must be its own Image Gen result. Do not put multiple ideas in one image.
  • Give each direction a distinct, descriptive name before generation, but do not call it 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.
  • Number options only after the Image Gen results are present in the thread. The only authoritative option order is the order those generated-image results are displayed in the current thread. Ignore the planned concept order, original request chain, prompt submission order, Promise.all result order, batch order, array indexes, retry order, and assumed completion order.
  • After all results return, bind each visible option number to the result in that displayed order. Do not name or describe the options in the final selection message.
  • Attach provided screenshots, files, app captures, Figma references, and visual source material as moodboard inspiration when available.
  • Attach existing product screenshots, similar flows, Storybook captures, design tokens, and component references as grounding material when available.
  • When mock data includes dates or time-sensitive information, resolve the exact current date and include it in every Image Gen prompt. Derive visible dates from that anchor; preserve dates required by the user or source design.
  • If a screenshot, image, or visual file is available, attach the actual image to the Image Gen call. Do not rely on text descriptions of it.
  • Only claim a visual reference was attached if the Image Gen call actually received that image or a readable local image path.
  • If you cannot attach the image, say that clearly and ask whether to continue with text-only direction.
  • Preserve hard constraints from the brief in every image.
  • After generating options, stop for the user's selection before any build work begins.
  • When the user later selects option 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.
  • The selected option is the visual target for $image-to-code.

Feedback Loop

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.

Image Gen Prompt

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.

Output

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:

  • First Image Gen output = Option 1
  • Second Image Gen output = Option 2
  • Third Image Gen output = Option 3

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.

來自 openai 的更多技能

user-context
openai
載入或管理資料分析插件的持久性來源路由偏好設定、入門邏輯、設定進度以及語義層註冊表。
official
notion-research-documentation
openai
研究Notion內容,並將其整合為結構化的簡報、報告或附有引用的比較分析。透過精準查詢搜尋並擷取Notion頁面,然後按主題組織發現,並附上內文來源引用及參考文獻章節。根據範圍與使用者目標,從四種輸出格式(快速簡報、研究摘要、比較分析、綜合報告)中選擇。使用內建範本建立與更新Notion頁面;直接連結來源,並在新資訊到來時追蹤變更。
official
rcsb-pdb-skill
openai
提交精簡的RCSB PDB請求以獲取核心元數據、Search API查詢及FASTA下載。當用戶需要簡潔的RCSB摘要時使用;保存原始JSON或…
official
pdf
openai
PDF 讀取、建立與驗證,支援視覺化渲染與程式化生成。使用 Poppler(pdftoppm)將 PDF 頁面渲染為 PNG,以便在交付前檢查版面、間距與排版。透過 reportlab 程式化生成 PDF,確保格式可靠;使用 pdfplumber 或 pypdf 提取文字與元資料。執行品質標準:無文字裁切、元素重疊、表格破損或渲染瑕疵;僅使用 ASCII 連字號,引用格式需具可讀性。使用...
official
test-coverage-improver
openai
Improve test coverage in the OpenAI Agents JS monorepo: run `pnpm test:coverage`, inspect coverage artifacts, identify low-coverage files and branches, propose…
official
playwright
openai
終端驅動的瀏覽器自動化,具備元素快照與互動式UI工作流程。透過playwright-cli包裝腳本運作(需npx),支援無頭模式與有頭模式以進行視覺化除錯。核心流程:開啟頁面、擷取快照以取得穩定元素參照、使用參照進行互動、在導航或DOM變更後重新擷取快照。包含表單填寫、點擊、輸入、多分頁管理、螢幕截圖/PDF擷取,以及流程除錯的軌跡記錄。元素參照(例如e3、e15)...
official
ukb-topmed-phewas-skill
openai
接受rsID、GRCh37或GRCh38輸入,解析為所需的GRCh38查詢,以獲取單一變異的簡潔UKB-TOPMed PheWAS摘要。當需要…時使用。
official
code-review-context
openai
模型可見上下文
official