answers-ask-user-input

作成者: openai

不足している少量のコンテキストが回答を実質的に改善し、タップ可能なオプションと自由記述の回答で効率的に収集できる場合に使用します。

npx skills add https://github.com/openai/role-specific-plugins --skill answers-ask-user-input

Ask User Input

ask_user_input

purpose: present tappable options plus a free-text option to gather user preferences before providing advice. display interactive buttons that users can tap to answer, and include a concise placeholder for the free-text answer row.

when to use this tool:

  • use for elicitation -- when you need to understand the user's preferences, constraints, or goals to give useful advice
  • examples:
    • "help me plan a workout routine": ask about goals (strength/cardio/weight loss), time available, equipment access
    • "help me find a book to read": ask about genres, mood, recent favorites
    • "I'm thinking about getting a pet": ask about lifestyle, living situation, time commitment
    • "help me pick a gift for my friend": ask about occasion, budget, friend's interests

question quality requirements:

  • each question should uncover a concrete preference, constraint, or tradeoff that would actually change your recommendation. If the answer would only restate which option the user already seems to prefer, the question is not useful enough.
  • do NOT ask proxy questions whose options map directly onto the candidate recommendations the user is already comparing. Ask about decision factors beneath those labels instead: daily tasks, budget, timeline, schedule, risk tolerance, social setting, maintenance burden, or dealbreakers.
  • avoid vague umbrella axes that bundle multiple dimensions into one abstract tradeoff. Prefer one concrete dimension per question so the user's tap gives you an interpretable signal.
  • examples:
    • bad: user asks "Should I be an EMT or a firefighter?" and you ask "How do you feel about physical intensity vs medical focus?" with options that correspond to firefighter vs EMT.
    • better: ask "Which day-to-day work sounds more appealing?" with options about patient care, rescue/fire response, shift/station environment, or training timeline.

free-text placeholder requirements:

  • every question MUST include free_text_placeholder
  • make the placeholder short, concrete, and specific to the question, such as "Add another constraint" or "Describe your ideal pace"
  • do not use generic placeholders like "Type your answer" unless the question truly has no more specific hint

when NOT to use this tool:

  • user asks "A or B": they want your analysis and recommendation, not the options repeated back as buttons
  • user is venting or processing emotions (e.g. "I'm having a bad day"): just listen and respond supportively
  • user asks for your opinion (e.g. "what do you think of eggs?"): give your perspective directly
  • factual questions (e.g. "what's the capital of France?"): just answer
  • user needs prose feedback (e.g. "review my email"): provide written analysis
  • user already gave you a detailed prompt with specific constraints: they've already done the narrowing themselves; asking for more second-guesses them. Proceed with their constraints and state any assumption you make inline

key instructions:

  • always include a brief conversational message before presenting options -- don't show options silently
  • you can ask up to 3 questions. Three is a ceiling, not a target.
  • use 2-4 short, distinct options per question. You can use up to 10, but prefer 2-4.
  • after calling this tool, your turn is done. Don't keep writing.
  • prefer asking questions that can be multi-select. Most questions aren't mutually exclusive.

Invocation: // Insert directly: genui{"ask_user_input": {"questions": {...}}} // This widget is not eligible for UUID Mode.

Example: genui{"ask_user_input":{"questions":[{"question":"What matters most for this recommendation?","options":["Lower cost","Less effort","Best quality"],"type":"multi_select","free_text_placeholder":"Add another priority"}]}}

Args schema:

// AskUserInputWidgetData
{
// Questions
//
// Ordered list of one-question pages to render.
// minItems: 1
questions: Array<
// AskUserInputQuestion
{
// Question
//
// Question shown to the user on this page.
question: string,
// Options
//
// Short answer options rendered as tappable choices.
options: string[], // minItems: 2, maxItems: 10
// Type
//
// Whether the user should pick one option or any number of options. Prefer wording questions as multi_select unless the answer is clearly only one choice.
type: "single_select" | "multi_select",
// Free Text Placeholder
//
// Short placeholder label for the free-text answer option shown below the tappable choices. Make it specific to this question.
free_text_placeholder: string,
}
>,
}

openaiのその他のスキル

release
openai
コミットされたバージョンを更新して Symphony リリースを切り、それをコミットし、マージされたコミットにタグを付け、Burrito リリースワークフローを確認します。求められた際に使用します…
signing-entitlements
openai
macOSアプリの署名、権限、ハード化されたランタイム、Gatekeeperの問題を検査します。コード署名の失敗や権限の欠落などの診断を求められた際に使用します。
building-ai-agent-on-cloudflare
openai
Cloudflare上でAgents SDKを使用してAIエージェントを構築し、状態管理、リアルタイムWebSocket、スケジュールタスク、ツール統合、チャットなどを実現します。
epigraphdb-skill
openai
オントロジー、文献、MR、遺伝子-薬剤、サポートパスエビデンスに関するコンパクトなEpiGraphDB APIリクエストを送信します。ユーザーが簡潔なEpiGraphDBサマリーを希望する場合に使用します。
runtime-behavior-probe
openai
一時的なプローブスクリプト、検証マトリックス、状態制御、および発見事項優先のレポートを用いて、ランタイム動作調査を計画・実行します。以下の場合にのみ使用してください…
deep-security-scan
openai
ユーザーがリポジトリ全体またはスコープ指定パスに対する深く網羅的な、マルチパスまたはバリアンス低減型のCodexセキュリティスキャンを求めた場合に使用します。独立した反復実行を複数回行います…
define-security-policy
openai
リポジトリまたはコンポーネントのSECURITY.mdガイダンスを定義、レビュー、または更新します。ユーザーがCodex Securityがレビューすべき内容、対象外の内容を明確にしたい場合に使用します。
validation
openai
Codexがセキュリティスキャンの検証段階にすでにある場合、またはユーザーが1つ以上の候補となるセキュリティ findings が…かどうかを判断するよう明示的に求めた場合に使用します。