ask-user
Pattern for effectively interacting with users to gather information or get decisions. Use when you need user input.
Best use case
ask-user is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Pattern for effectively interacting with users to gather information or get decisions. Use when you need user input.
Teams using ask-user should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/ask-user/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How ask-user Compares
| Feature / Agent | ask-user | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Pattern for effectively interacting with users to gather information or get decisions. Use when you need user input.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Ask User Skill
Pattern for effective user interaction.
## When to Load This Skill
- You need to clarify requirements
- You need user to make a decision
- You have options to present
## Principles
### 1. Be Specific, Not Open-Ended
Bad: "What do you want?"
Good: "Should authentication use JWT or sessions?"
### 2. Offer Options When Possible
```
AskUserQuestion(
questions: [
{
question: "Which authentication method should we use?",
header: "Auth method",
options: [
{ label: "JWT", description: "Stateless, good for APIs" },
{ label: "Sessions", description: "Stateful, good for web apps" }
],
multiSelect: false
}
]
)
```
### 3. Provide Context
Explain WHY you're asking:
- What decision depends on this
- What trade-offs exist
- What you recommend and why
### 4. Batch Related Questions
Ask related questions together:
```
questions: [
{ question: "Auth method?", ... },
{ question: "Token expiry?", ... },
{ question: "Refresh token?", ... }
]
```
## When to Ask vs Decide
### ASK when:
- Multiple valid approaches with different trade-offs
- User preference matters
- Scope is unclear
- Risk of wasted work
### DECIDE when:
- Clear best practice exists
- Low impact choice
- Easily reversible
- Standard convention applies
## Question Types
### Clarification
"You mentioned 'fast' - do you mean response time < 100ms or just faster than current?"
### Confirmation
"I understand you want X, Y, and Z. Is this correct?"
### Decision
"Option A has [pros/cons]. Option B has [pros/cons]. Which do you prefer?"
### Scope
"Should this also handle [related case] or just [original request]?"Related Skills
user-state-debugging
Expert knowledge on debugging user account issues, diagnostic scripts (inspect-user-state.js), fix scripts (fix-user-billing-state.js, reset-user-onboarding.js), onboarding problems, billing sync issues, and Clerk vs database mismatches. Use this skill when user asks about "user stuck", "onboarding broken", "billing out of sync", "debug user", "reset user", or "user state".
user-customization
指导用户如何自定义 Trae Skills 的配置,包括覆盖角色设定、调整技术偏好和定义全局规则。
analyzing-user-feedback
Help users synthesize and act on customer feedback. Use when someone is analyzing NPS responses, processing support tickets, reviewing user research, synthesizing feedback from multiple channels, or trying to identify patterns in customer input.
design-and-user-experience-guidelines
Specifies design and user experience guidelines, including dark mode compatibility, responsive design, performance optimization, modern UI, and accessibility. This rule promotes a user-friendly and vi
Clarify Epic/Feature/UserStory/Task ticketing guidance in SKILL
No description provided.
asyncredux-user-exceptions
Handle user-facing errors with UserException. Covers throwing UserException from actions, setting up UserExceptionDialog, customizing error dialogs with `onShowUserExceptionDialog`, and using UserExceptionAction for non-interrupting error display.
useuser
Ask humans questions via native macOS dialogs and notifications. Use when you need clarification, confirmation, or direct input from the user through system-level dialogs rather than chat. Supports text input, multiple choice, yes/no confirmation, information display, and system notifications.
guard-users-chatgpt
Guardrail policy for Chatgpt CLI: refuse catastrophic actions, require scoped approvals, and reduce secret leakage.
bgo
Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.
Deployment Advisor
Choose deployment strategy and infrastructure. Use when deciding where to deploy applications, setting up CI/CD, or configuring production environments. Covers Vercel, Railway, AWS, Cloudflare Workers, and Docker.
deploying-on-azure
Design and implement Azure cloud architectures using best practices for compute, storage, databases, AI services, networking, and governance. Use when building applications on Microsoft Azure or migrating workloads to Azure cloud platform.
deploying-applications
Deployment patterns from Kubernetes to serverless and edge functions. Use when deploying applications, setting up CI/CD, or managing infrastructure. Covers Kubernetes (Helm, ArgoCD), serverless (Vercel, Lambda), edge (Cloudflare Workers, Deno), IaC (Pulumi, OpenTofu, SST), and GitOps patterns.