Install
openclaw skills install daily-questionsDaily 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 c...
openclaw skills install daily-questionsA 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.
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:
For each question:
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.
Send the question as a message with 4 inline buttons via the message tool:
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.
Wait for the response. The user will either:
callback_data: dq_r1q1_a (or similar)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.
If dq_rXqX_custom: Reply asking them to type their answer, then wait for the next message.
Record the answer, then move to the next question.
After all questions in the round are answered, update the relevant file (USER.md or SOUL.md).
references/example-questions.md)NO_REPLY to avoid sending a duplicate plain-text message