Skip to content

Instantly share code, notes, and snippets.

@possibilities
Created March 14, 2026 13:22
Show Gist options
  • Select an option

  • Save possibilities/151385f2aafc451de739d97c53c5c0f4 to your computer and use it in GitHub Desktop.

Select an option

Save possibilities/151385f2aafc451de739d97c53c5c0f4 to your computer and use it in GitHub Desktop.
telegramctl config - handlers as ordered arrays
api_id: 32902767
api_hash: b4c4450663053cb646c2515d7dc322eb
frontend_bot_token: "8282216511:AAGBKtiuGLJcRVqlTJxgErTFCrkA4XpYEYI"
backend_bot_token: "8560903987:AAHGWcTsHEAiumnDUy03kJi9zPLZYknMwZQ"
frontend_chat_id: -1003753541759
backend_chat_id: -1003750817601
default_topic: "1 → Plan"
backend_bot_id: 8560903987
archive_channel_id: -1003798335531
authorized_users:
- 8344397160
backend-assist-handlers:
- name: phone-home
command: terminal-notifier -message "Hello, World!" && echo "Message sent!"
description: Notify that the bot is alive
- name: run-agent
command: assistctl run-agent
description: >-
Launch a Claude Code agent to handle any substantive request.
The agent can develop code (plan or act mode), answer questions,
research topics, or produce reports — in base, web, or mobile context.
Match anything that would benefit from an agent working in a project:
tasks, questions, design descriptions, observations, research requests,
analysis, and detailed descriptions of desired behavior.
Only skip greetings, acknowledgments, and off-topic casual chat.
arguments:
- name: prompt
description: The exact task instruction the human wants the agent to execute
- name: --name
description: Short kebab-case job name for the session (3-6 words)
infer: >-
Concise 3-6 word kebab-case slug capturing the core task.
Examples: fix-login-bug-mobile, add-auth-middleware, refactor-deploy-pipeline.
No articles, no filler. Just the essential action and subject.
- name: --permission-mode
description: Initial toggle for plan vs act mode
infer: >-
Choose "plan" or "act". Use "plan" for complex, multi-step, or risky tasks
(refactors, new features, architecture changes, anything touching multiple
files or needing design decisions). Use "act" for simple, clear, focused
tasks (small bug fixes, single-file changes, straightforward additions
with obvious implementation).
- name: --command-mode
description: Initial toggle for command type
infer: >-
Choose "develop", "ask", "research", "report", or "raw".
Use "develop" for coding tasks (change, add, edit, create, fix, build,
refactor, implement). Use "ask" for quick questions (explain, how does
X work, give advice). Use "research" for deep-dive investigations
(research a topic, compare approaches, find best practices, explore
options). Use "report" for analysis and reporting (analyze, audit,
summarize, compare, review, produce a report). Use "raw" only when
the human explicitly asks for it. Default to "develop" when ambiguous.
- name: --command-variant
description: Initial toggle for command variant (base/web/mob)
infer: >-
Choose "base", "web", or "mob". Use "web" when the task is specifically
about web UI, frontend, Next.js, React web components, CSS, or browser
rendering. Use "mob" when the task is specifically about mobile, Expo,
React Native, iOS, or Android. Use "base" for everything else including
backend, CLI, infrastructure, and general tasks. Default to "base"
when ambiguous.
- name: remind
command: remindctl add-reminder
description: Set a reminder for later
arguments:
- name: message
description: Short label for the reminder (e.g. "walk the dog")
- name: duration
description: >-
Duration until reminder fires.
MUST be compact format:
Nd, Nh, Nm, Ns (e.g. 30s, 5m, 1h, 2h30m, 1d).
Convert natural language times to a relative duration.
- name: --alert
description: >-
The notification text shown when the reminder fires.
Should be an actionable nudge (e.g. It's time to walk the dog.)
infer: >-
Friendly actionable nudge derived from the message,
e.g. message='walk the dog' → 'Time to walk the dog!'
backend-message-handlers:
- name: text
command: assistctl assist-human
description: Assist the human
- name: voice
command: voicectl transcribe-file --cleanup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment