Daily Questions
name: daily-questions
by daijo-bu · published 2026-03-22
$ claw add gh:daijo-bu/daijo-bu-daily-questions---
name: daily-questions
description: Daily self-improving questionnaire that learns about the user and refines agent behavior. Set up as a cron job to ask questions one at a time with multiple choice answers via Telegram inline buttons — first about the user (updating USER.md), then about agent behavior (updating SOUL.md). Use when setting up, modifying, or running the daily questions routine.
---
# Daily Questions
A daily routine that asks the user questions to continuously build understanding and improve agent behavior. Questions are presented **one at a time** with **multiple choice buttons** on Telegram for quick tapping.
Setup
Create a cron job with a prompt like:
Time for your daily questions. Read the daily-questions SKILL.md, then follow the workflow exactly. Read USER.md and SOUL.md, identify gaps. Ask {N} user questions then {N} agent questions, one at a time with multiple choice buttons. Update the files after each round.Configurable parameters:
Workflow
1. **Read** USER.md and SOUL.md fully
2. **Identify gaps** — what topics, preferences, or behaviors aren't covered yet?
3. **Round 1 (User questions)**: Ask questions about the user, **one at a time** (see Question Flow below). After all questions answered, update USER.md — weave answers into existing sections or create new ones. Keep USER.md organized, not a raw Q&A dump.
4. **Round 2 (Agent questions)**: Ask questions about agent behavior/communication, same one-at-a-time flow. After all answered, update SOUL.md the same way.
Question Flow (One at a Time)
For each question:
1. **Generate the question** and **3 plausible multiple choice answers** (A, B, C) tailored to the question. Make the options genuinely different and useful — not throwaway filler.
2. **Send the question** as a message with **4 inline buttons** via the `message` tool:
- Button A: First option
- Button B: Second option
- Button C: Third option
- ✏️ Type my own: For custom/granular answers
3. **Send using the message tool** with buttons. Use **unique callback IDs per question** to avoid conflicts when users tap old buttons:
{
"action": "send",
"channel": "telegram",
"to": "<user_telegram_id>",
"message": "**Round 1 — Question 1/3**\n\n<question text here>\n\nA) <option A>\nB) <option B>\nC) <option C>\n\nTap a button or type your own answer:",
"buttons": [
[
{ "text": "A", "callback_data": "dq_r1q1_a" },
{ "text": "B", "callback_data": "dq_r1q1_b" },
{ "text": "C", "callback_data": "dq_r1q1_c" }
],
[
{ "text": "✏️ Type my own", "callback_data": "dq_r1q1_custom" }
]
]
}The format is `dq_r{round}q{question}_{choice}` — e.g., `dq_r2q3_b` = Round 2, Question 3, option B.
4. **Wait for the response.** The user will either:
- Tap a button → you receive `callback_data: dq_r1q1_a` (or similar)
- Type a free-text answer directly (treat as custom)
5. **If the callback doesn't match the current question** (e.g., user tapped an old button), **ignore it** and keep waiting for the correct response.
6. **If `dq_rXqX_custom`**: Reply asking them to type their answer, then wait for the next message.
6. **Record the answer**, then move to the next question.
7. After all questions in the round are answered, update the relevant file (USER.md or SOUL.md).
Question Quality Guidelines
Important Notes
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...