
Widget Forms
Use when the agent should ask the user for structured input with an in-chat form...
Install
npx skills add 0xsline/OpenChatCut --skill widget-forms -g -a claude-code -y- Repository
- 0xsline/OpenChatCut2.8k
- Category
- AI and agents
- Updated
- 14d ago
- License
- AGPL-3.0
- Context cost
- Mediumabout 2,209 tokens
- Runs scripts
- No, instructions only
What it does
Use when the agent should ask the user for structured input with an in-chat form, including single-select, multi-select, text fields, style pickers, or voice audition choices.
Widget Forms
Use the form tool instead of hand-writing markup: the editor chat renders the form as an interactive card and returns the user's structured answer.
Runtime Rule
Call ask_followup_questions. It serializes your fields into the editor's
native form card; the user's submission comes back as their next message.
Plan the whole questionnaire before calling the tool. Send one final form, not a trial form followed by a corrected form. The tool supports at most 12 fields; if the user asks for more questions, merge related prompts into combined fields before the first call.
After calling ask_followup_questions, stop the turn and wait for the submitted
answer to appear in chat. Do not apply a choice, create assets, or continue
planning from a recommendation until the user's selection is present in the
conversation.
Supported Field Mapping
Build a fields array. Write every visible string in the user's conversation
language.
- Native
<form-single>->{ type: "single", variant: "default" } - Native
<form-multi>->{ type: "multi", variant: "default" } - Native
<form-text>/<form-textarea>->{ type: "text" } - Native
<form-visual>->{ type: "single", variant: "visual" } - Voice audition cards ->
{ type: "single", variant: "voice" } - Native start-scenario cards ->
{ type: "single", variant: "scenario" }
Form Copy Tone
For form-level text (title, prompt, fields[].label, submitLabel, and
messagePrefix), write like OpenChatCut is a capable video-making partner inviting
the user to describe what they want, not like a rigid survey.
Aim for:

