ask-user-question
Implement interactive, step-by-step user input workflows within software agents using the AskUserQuestion tool for guided decision-making and configuration.
Introduction
This skill provides a robust framework for designing interactive, guided workflows within Claude Code agents. By leveraging the AskUserQuestion tool, developers can transform static documentation into active, conversational processes that engage users to make specific implementation choices, provide configuration inputs, or define project scope. It is designed for engineers and developers building automated agents who need to handle multi-step interactions, manage ambiguous requirements, and ensure that user preferences are captured effectively throughout the execution lifecycle.
-
Enables structured, multi-stage interaction patterns such as progressive disclosure and conditional branching to prevent user overload.
-
Facilitates clean state management by allowing the agent to gather necessary data before proceeding with critical operations like database selection or deployment configuration.
-
Supports dynamic option generation based on real-time system state, such as listing available Git branches, local file paths, or detected tool versions.
-
Includes built-in support for multi-select inputs and automatic "Other" options, ensuring users can provide custom text when predefined choices are insufficient.
-
Promotes best practices for agent-user communication, including concise labeling, clear descriptions for options, and the recommended practice of asking one question at a time to reduce cognitive load.
-
When integrating this skill, strictly adhere to the limit of 1-4 questions per call to maintain interaction quality and responsiveness.
-
Always keep header lengths under 12 characters and ensure option labels are concise (1-5 words) to fit within UI constraints.
-
Use this tool for gathering actual implementation decisions (e.g., framework, database, language) rather than meta-questions about the agent's internal status or plan readiness.
-
Implement response handling logic that interprets user answers directly, mapping selections to internal workflow variables or conditional execution branches.
-
Prioritize the 'Recommended' label for primary path choices to guide the user toward the most efficient or standard approach.
-
Use the provided patterns for structured configuration if the user must choose between multiple mutually-exclusive approaches or complex project setups.
Repository Stats
- Stars
- 25
- Forks
- 1
- Open Issues
- 0
- Language
- Shell
- Default Branch
- main
- Sync Status
- Idle
- Last Synced
- May 3, 2026, 08:39 PM