2.6k
GitHub Stars
2
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill openclaw/skills --skill questions-form- _meta.json282 B
- SKILL.md6.3 KB
Overview
This skill presents multiple clarifying questions as an interactive Telegram form using inline buttons. It shows all questions at once, lets users answer in any order, supports selectable options plus an "Other" free-text escape, and submits the collected answers as structured data. Use it when you need 2+ questions answered before continuing.
How this skill works
The skill composes each question with an ID, label, and option list, then sends one Telegram message per question with inline buttons. Buttons use callback_data in the form: form:<question_id>:<value>; selecting an option records the answer and sends an acknowledgement. Choosing "Other" prompts the user for free-text which is stored on the next plain text message. A final Submit button validates completeness before proceeding.
When to use it
- Collecting multi-faceted requirements before starting a task
- Onboarding flows that need several preference fields at once
- Preference collection where answers are enumerable but may need a free-text fallback
- Any Telegram interaction that requires 2 or more clarifying questions
- Scenarios where you want a compact, reviewable form and a single submit action
Best practices
- Keep question IDs short (2–8 chars) and values underscore_separated to fit callback limits
- Limit buttons to 2–3 per row and keep labels under 20 characters using Title Case
- Always include an "Other (type your answer)" button on its own last row for free-text fallback
- Acknowledge each selection and allow changing answers by overwriting previous values
- Validate before Submit and list unanswered questions if incomplete
Example use cases
- Collect project type, timeline, and budget before creating a proposal
- Onboarding new users: role, experience level, notification preferences
- Configuring a support ticket: issue type, urgency, affected product
- Gathering event RSVPs: attendance option, meal preference, accessibility needs
FAQ
Yes — clicking another option overwrites the stored value and the agent acknowledges the update.
How does the "Other" free-text flow work?
Selecting Other sets awaiting_freetext to the question ID and the next plain text message from the user is recorded as that answer.