questions-formPresent multiple clarifying questions as an interactive Telegram form using inline buttons. Use when the agent needs to ask the user 2 or more clarifying questions before proceeding with a task, and wants to present them all at once in a structured form layout with selectable options and an "Other" free-text escape hatch. Triggers when: gathering multi-faceted requirements, onboarding flows, preference collection, or any scenario requiring structured multi-question input from the user via Telegram.
Install via ClawdBot CLI:
clawdbot install edonadei/questions-formPresent multiple clarifying questions as a Telegram inline-button form.
All questions appear at once; the user answers in any order, then submits.
Do not use this pattern for a single yes/no question — just send one message with buttons for that.
Define each question internally as an object:
{ id: "type", text: "What type of project?", options: ["Web App", "Mobile", "API"] }
{ id: "timeline", text: "What is your timeline?", options: ["This week", "This month", "No rush"] }
{ id: "budget", text: "Budget range?", options: ["< $1k", "$1k-5k", "$5k-10k", "> $10k"] }
Initialize internal tracking state:
form_state = { type: null, timeline: null, budget: null }
awaiting_freetext = null
form_submitted = false
Send a plain message (no buttons) as the form introduction:
{
"action": "send",
"channel": "telegram",
"message": "**I have a few questions before we proceed.**\nPlease answer each one by tapping a button, then tap Submit when done."
}
For each question, send a separate message with inline buttons.
Put selectable options in rows of 2-3 buttons. Always put "Other" on its own last row.
The callback_data must follow this convention: form:
Example:
{
"action": "send",
"channel": "telegram",
"message": "**1. What type of project is this?**",
"buttons": [
[
{ "text": "Web App", "callback_data": "form:type:web" },
{ "text": "Mobile", "callback_data": "form:type:mobile" },
{ "text": "API", "callback_data": "form:type:api" }
],
[
{ "text": "Other (type your answer)", "callback_data": "form:type:other" }
]
]
}
{
"action": "send",
"channel": "telegram",
"message": "**2. What is your timeline?**",
"buttons": [
[
{ "text": "This week", "callback_data": "form:timeline:this_week" },
{ "text": "This month", "callback_data": "form:timeline:this_month" },
{ "text": "No rush", "callback_data": "form:timeline:no_rush" }
],
[
{ "text": "Other (type your answer)", "callback_data": "form:timeline:other" }
]
]
}
{
"action": "send",
"channel": "telegram",
"message": "**3. Budget range?**",
"buttons": [
[
{ "text": "< $1k", "callback_data": "form:budget:lt_1k" },
{ "text": "$1k-5k", "callback_data": "form:budget:1k_5k" }
],
[
{ "text": "$5k-10k", "callback_data": "form:budget:5k_10k" },
{ "text": "> $10k", "callback_data": "form:budget:gt_10k" }
],
[
{ "text": "Other (type your answer)", "callback_data": "form:budget:other" }
]
]
}
After all questions, send the submit/cancel message:
{
"action": "send",
"channel": "telegram",
"message": "**When you've answered all questions above, tap Submit.**",
"buttons": [
[{ "text": "\u2713 Submit All Answers", "callback_data": "form:submit" }],
[{ "text": "\u2717 Cancel", "callback_data": "form:cancel" }]
]
}
When you receive a callback starting with form::
Regular option (form: where value is not other):
form_state[qid] = value"Got it -- : " "Other" option (form:):
"Type your answer for: " awaiting_freetext = qidform_state[qid] = "Got it -- : " awaiting_freetextSubmit (form:submit):
form_state for any null values"You still need to answer: "
form_submitted = true and proceed with the collected answersCancel (form:cancel):
form_state"Form cancelled. Let me know how you'd like to proceed."Once submitted, reference the collected answers as structured data and proceed:
Collected: { type: "mobile", timeline: "End of March", budget: "1k_5k" }
Now continue with the original task using these clarified requirements.
Users can click a different button for any question at any time before submitting.
Simply overwrite the previous value and acknowledge the change:
"Updated --
form: prefixform:: form:"Other (type your answer)""\u2713 Submit All Answers""\u2717 Cancel"See references/form-patterns.md for:
Generated Mar 1, 2026
Freelancers can use this skill to quickly gather client requirements for projects like website development or app creation. It presents questions about project type, timeline, and budget in a structured form, ensuring all necessary details are collected before starting work, which reduces back-and-forth communication.
E-commerce businesses can deploy this skill to collect customer preferences for personalized product recommendations or service customization. It asks questions about product categories, budget ranges, and delivery timelines via Telegram, streamlining the ordering process and improving customer experience.
Event planners can utilize this skill to gather client needs for events such as weddings or corporate meetings. It presents questions about event type, guest count, and budget in an interactive form, helping planners quickly assess requirements and provide tailored proposals without lengthy initial calls.
Software agencies can employ this skill during client onboarding to capture detailed project specifications. It asks about technology stack, timeline, and budget through a Telegram form, enabling efficient scoping and reducing misunderstandings before project kickoff.
Healthcare providers can integrate this skill to collect patient information before appointments, such as symptoms, preferred visit times, and insurance details. It presents questions in a clear, structured format via Telegram, improving scheduling efficiency and ensuring clinicians have necessary data upfront.
Businesses can offer this skill as part of a subscription package for automated client onboarding or customer support. It reduces manual data entry, saves time for teams, and can be bundled with other AI tools to create recurring revenue streams from small to medium enterprises.
Companies can charge based on the number of forms processed or interactions handled using this skill. This model suits freelance platforms or agencies that need occasional requirement gathering without long-term commitments, generating revenue from each form submission or project initiated.
Larger organizations can license this skill for internal use in departments like sales or customer service. It integrates with existing CRM systems to streamline data collection, with revenue coming from one-time setup fees or ongoing support contracts tailored to enterprise needs.
💬 Integration Tip
Ensure your Telegram bot is properly configured to handle inline button callbacks and maintain state tracking for form responses, as this skill relies on real-time interaction and data persistence.
Search, download, and summarize academic papers from arXiv. Built for AI/ML researchers.
Search and summarize papers from ArXiv. Use when the user asks for the latest research, specific topics on ArXiv, or a daily summary of AI papers.
Assistance with writing literature reviews by searching for academic sources via Semantic Scholar, OpenAlex, Crossref and PubMed APIs. Use when the user needs to find papers on a topic, get details for specific DOIs, or draft sections of a literature review with proper citations.
Baidu Scholar Search - Search Chinese and English academic literature (journals, conferences, papers, etc.)
Use this skill when users need to search academic papers, download research documents, extract citations, or gather scholarly information. Triggers include: requests to "find papers on", "search research about", "download academic articles", "get citations for", or any request involving academic databases like arXiv, PubMed, Semantic Scholar, or Google Scholar. Also use for literature reviews, bibliography generation, and research discovery. Requires OpenClawCLI installation from clawhub.ai.
Outcome-driven scientific publishing for AI agents. Publish research papers, hypotheses, and experiments with validated artifacts, structured claims, milestone tracking, and independent replications. Claim replication bounties, submit peer reviews, and collaborate with other AI researchers.