Agent skill
interactive-form-question
Ask the user questions or present choices via an interactive form. Use when you need to gather preferences, clarify ambiguous instructions, get decisions on implementation choices, or present a list of options for the user to select from. Never write options or questions as plain text — always use this tool.
Install this agent skill to your Project
npx add-skill https://github.com/wecode-ai/Wegent/tree/main/backend/init_data/skills/interactive-form-question
SKILL.md
Ask User
You now have access to the interactive_form_question tool. Use it to ask the user questions during execution.
When to Use
- Gather user preferences or requirements — before starting or when more detail is needed
- Clarify ambiguous instructions — when the request could be interpreted multiple ways
- Get decisions on implementation choices as you work — when a fork in the road requires user input
- Offer choices on direction — let the user steer when multiple valid paths exist
- Present any list of options to the user — whenever you would naturally write a numbered/bulleted list of choices for the user to pick from, use
interactive_form_questioninstead
Never write options, choices, or questions as plain text or markdown lists — always call the tool.
Usage Notes
- Users can always select "Other" to provide custom text input, even on choice questions — you don't need to add it manually
- Use
multi_select: trueto allow multiple answers to be selected - If you recommend a specific option, set
"recommended": trueon that option — the frontend will display the recommended badge automatically. NEVER add "(Recommended)", "(推荐)" or any similar text to thelabelfield — the badge is rendered by the frontend, not by text in the label - Use multi-question mode (
questions=[...]) to batch related questions into one form and avoid multiple round-trips - After receiving answers, call
interactive_form_questionagain if follow-up questions arise — never ask in plain text
Behavior
interactive_form_question displays an interactive form and returns immediately (__silent_exit__). The current task ends silently and resumes when the user submits their answer as a new message.
Tool Parameters
Single-question mode:
question(string): The question textdescription(string, optional): Additional contextinput_type:"choice"or"text"options(list, optional):[{label, value, recommended?}]multi_select(bool): Allow multiple selections; defaultfalseplaceholder(string, optional): Placeholder for text inputrequired(bool): Defaulttruedefault(list, optional): Pre-selected values
Multi-question mode:
question(string, optional): Form headerdescription(string, optional): Form descriptionquestions(list): Each item hasid,question,input_type,options,multi_select,required,default,placeholder
Examples
Clarify ambiguous instructions
interactive_form_question(
question="Which environment should I deploy to?",
options=[
{"label": "Development", "value": "dev", "recommended": true},
{"label": "Staging", "value": "staging"},
{"label": "Production", "value": "prod"}
]
)
Get a decision as you work
interactive_form_question(
question="I found two approaches for the caching layer. Which do you prefer?",
description="Option A is simpler but less flexible. Option B handles edge cases but adds complexity.",
options=[
{"label": "Option A — simple in-memory cache", "value": "simple", "recommended": true},
{"label": "Option B — Redis with TTL control", "value": "redis"}
]
)
Gather requirements upfront (multi-question)
interactive_form_question(
question="A few things before I start",
questions=[
{
"id": "language",
"question": "Which language should I use?",
"input_type": "choice",
"options": [
{"label": "Python", "value": "python", "recommended": true},
{"label": "TypeScript", "value": "typescript"},
{"label": "Go", "value": "go"}
]
},
{
"id": "features",
"question": "Which features to include?",
"input_type": "choice",
"multi_select": true,
"options": [
{"label": "Authentication", "value": "auth", "recommended": true},
{"label": "Rate Limiting", "value": "rate_limit"},
{"label": "Caching", "value": "caching"}
]
},
{
"id": "notes",
"question": "Anything else I should know?",
"input_type": "text",
"required": false,
"placeholder": "Optional notes..."
}
]
)
Confirm before a destructive action
interactive_form_question(
question="This will overwrite the existing file. Proceed?",
options=[
{"label": "Yes, overwrite", "value": "yes"},
{"label": "No, keep existing", "value": "no", "recommended": true}
]
)
Response Format
Single-question: {"answer": ["value"]} (choice) or {"answer": "text"} (text)
Multi-question: {"answers": {"language": ["python"], "features": ["auth", "caching"], "notes": ""}}
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
wiki_submit
Submit wiki documentation sections to Wegent backend API. Simplifies the HTTP POST process for wiki content submission.
subscription-manager
Create and manage scheduled subscription tasks. Use when the user wants to set up recurring reminders, periodic reports, scheduled checks, or any automated tasks that run on a schedule. Supports cron expressions, fixed intervals, and one-time executions.
conversation_to_prompt
Convert the current conversation into a reusable system prompt draft with strict structure and quality checks.
mermaid-diagram
Use this skill when you need to draw diagrams including: Flowchart, Sequence Diagram, Class Diagram, State Diagram, ER Diagram, User Journey, Gantt Chart, Pie Chart, Quadrant Chart, Requirement Diagram, Gitgraph, Mindmap, Timeline, Sankey, XY Chart (Bar/Line), Block Diagram, Packet Diagram, Kanban, Architecture Diagram, C4 Diagram, Radar Chart, Treemap, and ZenUML. You MUST use this skill BEFORE outputting any mermaid code block.
wegent-knowledge
Knowledge base management tools for Wegent. Provides capabilities to list, create, and update knowledge bases and documents. Use this skill when the user wants to manage knowledge bases or documents programmatically.
sandbox
Provides read_file/write_file/exec/list_files/read_file/write_file for running process and managing filesystems in the sandbox. Ideal for code testing, file management, and command execution. The sub_claude_agent tool is available for advanced use cases. You MUST load this skill BEFORE use sandbox tools.
Didn't find tool you were looking for?