widget-forms

Featured

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.

AI & Automation 1,738 stars 259 forks Updated today AGPL-3.0

Install

View on GitHub

Quality Score: 90/100

Stars 20%
100
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# 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 OpenC...

Details

Author
0xsline
Repository
0xsline/OpenChatCut
Created
1 months ago
Last Updated
today
Language
TypeScript
License
AGPL-3.0

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category