From b5dafdb287c6f18db373c528525fddeea293cafa Mon Sep 17 00:00:00 2001 From: Eve Date: Wed, 15 Apr 2026 22:57:50 +0800 Subject: [PATCH] skills: add numbered-option trigger to telegram buttons --- skills/telegram-inline-buttons/SKILL.md | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/skills/telegram-inline-buttons/SKILL.md b/skills/telegram-inline-buttons/SKILL.md index daf8875..85bf309 100644 --- a/skills/telegram-inline-buttons/SKILL.md +++ b/skills/telegram-inline-buttons/SKILL.md @@ -1,6 +1,6 @@ --- name: telegram-inline-buttons -description: Use when sending proactive Telegram messages that ask Eric to confirm, choose, defer, or pick from a few next actions; especially for yes/no, A/B/C, do-now-vs-later, or short multi-step button flows. +description: Use when sending proactive Telegram messages that ask Eric to confirm, choose, defer, or pick from a few next actions; especially for yes/no, A/B/C, do-now-vs-later, short multi-step button flows, or numbered option lists like 1.xxx / 2.ooo / 3.yyy that should be converted into inline buttons. --- # Telegram Inline Buttons @@ -12,6 +12,7 @@ Prefer inline buttons over free-text prompts when sending a proactive Telegram m - A / B / C choices - Do it now vs later - Picking one of a few next actions +- Numbered option lists like `1.xxx`, `2.ooo`, `3.yyy` ## Do not use buttons for - Purely informational messages @@ -25,11 +26,13 @@ If there are >5 options, summarize and offer a `Show more` button. - 2-4 buttons is ideal - Include a safe exit when appropriate: `Not now`, `Cancel`, `Later`, `Skip` - Keep `callback_data` stable and unique per flow step, e.g. `reminder_time_15m`, `deploy_confirm_yes` +- When the source prompt is a numbered list, convert each visible option into a short button label while preserving the original order Recommended layouts: - Binary: one row `[Yes] [No]` - Decision + defer: row 1 `[Do it] [Not now]`, row 2 `[More info]` - A/B/C: one row `[A] [B] [C]` +- Numbered list: `[1] [2] [3]` or short labels derived from each option ## Telegram message tool pattern For user-visible delivery, use `message(action="send")` with `buttons`. @@ -94,5 +97,15 @@ Buttons: `[Option A] [Option B] [Option C] [Not now]` Text: `When should I remind you?` Buttons: `[15m] [1h] [Tonight] [Tomorrow]` +### Numbered options +Text: +```text +Pick one: +1. xxx +2. ooo +3. yyy +``` +Buttons: `[1] [2] [3]` or `[xxx] [ooo] [yyy]` + ## Decision rule -Default to buttons whenever Eric is being asked to choose, confirm, defer, or select the next action on Telegram. +Default to buttons whenever Eric is being asked to choose, confirm, defer, or select the next action on Telegram. This includes numbered lists that would otherwise require a reply like `1`, `2`, or `3`.