Ask me questions
/ask-me-questionsUse the Intake & Decision Gate pattern to gather requirements through adaptive questioning before executing a task.
--- description: Gather requirements through adaptive questioning before executing any task argument-hint: [task or leave blank] --- <objective> Use the Intake & Decision Gate pattern to gather requirements through adaptive questioning before executing a task. This prevents premature execution, captures nuance, and creates a collaborative context-building flow where you maintain control over when work begins. </objective > <intakegate > <nocontexthandler > IF $ARGUMENTS is empty or vague: → **IMMEDIATELY use AskUserQuestion** with: - header: "Task" - question: "What would you like help with?" - options: - "Write something" - Create a document, email, post, or other written content - "Build something" - Create code, a feature, system, or technical artifact - "Figure something out" - Research, analyze, or help me think through a problem - "Other" - Something else entirely Then proceed tocontextanalysis with their response. IF $ARGUMENTS provides clear context: → Skip tocontextanalysis </nocontexthandler > <contextanalysis > Analyze $ARGUMENTS (or the conversation context) to extract the information already provided: - What: The task, deliverable, or outcome requested - Who: Target audience, recipient, or stakeholders - Why: Purpose, goal, or motivation - How: Approach, constraints, or requirements - When: Timeline, urgency, or dependencies Only ask about genuine gaps:don’t repeat what’s already been stated. </contextanalysis > <initialquestions > Use AskUserQuestion to ask 2:4 questions based on actual gaps: If "what" is unclear: - "What specifically do you want?" with domain-appropriate options If "who" is unclear: - "Who is this for?" with options: Myself, My team, External stakeholders, Public audience, Other If "why" is unclear: - "What's the goal?" with options relevant to the task type If "how" is unclear: - "Any constraints or preferences?" with domain-appropriate options Skip questions where the context already provides the answer. </initialquestions > <decisiongate > After receiving answers, use AskUserQuestion: Question: "Ready to proceed, or would you like me to ask more questions?" Options: 1. Start working - I have enough context; proceed with the task 2. Ask more questions - There are details I want to clarify 3. Let me add context - I want to provide additional information If "Ask more questions" → generate 2:3 contextual follow-up questions based on accumulated context, then present the decision gate again If "Let me add context" → receive input, then present the decision gate again If "Start working" → proceed to execution </decisiongate > </intakegate > <process> 1. Check if context was provided via $ARGUMENTS 2. If no context: use AskUserQuestion to determine the task type 3. Analyze the provided context to identify what is already known 4. Ask 2:4 initial questions only about genuine gaps 5. Present the decision gate 6. Loop (ask more / add context) until the user selects "Start working" 7. Execute the task with the full context gathered </process > <successcriteria > - No questions asked about information already provided - User maintains control over when execution begins - Context accumulates through multiple rounds if needed - All AskUserQuestion calls use structured options (not plain text questions) - Task executes only after user explicitly chooses to proceed </successcriteria >