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
커밋된 버전을 올리고, 이를 반영하고, 병합된 커밋에 태그를 단 후, Burrito 릴리스 워크플로우를 검증하여 Symphony 릴리스를 진행합니다. 다음과 같이 요청받았을 때 사용합니다…
signing-entitlements
openai
macOS 앱의 서명, 자격, 강화된 런타임 및 Gatekeeper 문제를 검사합니다. 코드 서명 실패, 누락된 자격 등을 진단하라는 요청을 받을 때 사용하세요.
building-ai-agent-on-cloudflare
openai
Cloudflare에서 Agents SDK를 사용하여 상태 관리, 실시간 WebSockets, 예약 작업, 도구 통합, 채팅을 통해 AI 에이전트를 구축합니다…
epigraphdb-skill
openai
온톨로지, 문헌, MR, 유전자-약물 및 지원 경로 증거에 대한 간결한 EpiGraphDB API 요청을 제출합니다. 사용자가 간결한 EpiGraphDB 요약을 원할 때 사용하세요.
runtime-behavior-probe
openai
런타임 동작 조사를 계획하고 실행하며, 임시 프로브 스크립트, 검증 매트릭스, 상태 제어, 결과 우선 보고서를 사용합니다. 다음 경우에만 사용하세요…
deep-security-scan
openai
사용자가 심층적이고, 철저하며, 다중 패스 또는 변동성을 줄이는 저장소 전체 또는 범위가 지정된 경로의 Codex Security 스캔을 요청할 때 사용합니다. 반복적으로 독립적인…
define-security-policy
openai
저장소 또는 구성 요소에 대한 SECURITY.md 지침을 정의, 검토 또는 업데이트합니다. 사용자가 Codex Security가 검토해야 할 대상과 범위를 벗어나는 항목을 명확히 하려 할 때 사용합니다…
validation
openai
Codex가 보안 스캔의 검증 단계에 이미 있거나 사용자가 하나 이상의 후보 보안 결과를 판별하도록 명시적으로 요청할 때 사용합니다…