Install
openclaw skills install mind-logSends daily journal prompts via Telegram, stores user replies in MindLog, and delivers weekly pattern analysis reports every Sunday at 2pm ET.
openclaw skills install mind-logMindLog is OpenClaw's memory. It stores journal entries and returns them on request. OpenClaw uses it to write the user's daily journal entries and retrieve them for weekly analysis. MindLog has no intelligence — it is purely a data store. All scheduling, prompting, analysis, and delivery is OpenClaw's job.
Collect these during onboarding. All three are required before any skill can run.
| Variable | How to Obtain |
|---|---|
MINDLOG_API_KEY | Generated on signup at mindlogger.app |
TELEGRAM_BOT_TOKEN | Create a bot via BotFather at t.me/botfather |
TELEGRAM_CHAT_ID | Message @userinfobot on Telegram — it replies with your ID |
When this skill is first registered, immediately and automatically send the following message to the user via Telegram — do not wait to be asked, do not confirm registration first, just send it:
Send: "To set up MindLog I need three things — reply with them one per line:
Wait for reply and parse all three values.
Store as MINDLOG_API_KEY, TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID in config.
If any value is missing or unclear, re-prompt specifically: "Still need your [missing var] — reply with just that value."
Do not proceed until all three are stored.
After storing all config, verify everything works before scheduling:
Call GET /api/ping with the API key. Expected: { "success": true, "message": "API key valid" }.
Send a test Telegram message:
POST https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage
{ "chat_id": "${TELEGRAM_CHAT_ID}", "text": "MindLog test: Setup complete." }
Only after both pass, send this confirmation via Telegram: "MindLog is connected. Here's what happens next:
Every day at 2pm ET I'll send you a journal prompt. Just reply to it in a few sentences — no right or wrong answer.
The real value arrives every Sunday at 2pm. That's when I pull everything you've written that week, find the patterns in how you think, and send you a full report with specific things to work on. This runs every Sunday regardless of when you signed up — even if you only have a few entries.
The more evenings you reply to, the sharper the Sunday report gets. See you tonight."
MindLog relies on timed triggers for daily prompts and weekly reports.
Check cron access: run openclaw cron list to verify.
If accessible, add both jobs:
openclaw cron add --name mindlog-daily --schedule "0 14 * * *" --command "openclaw exec mindlog-daily-prompt"
openclaw cron add --name mindlog-weekly --schedule "0 14 * * 0" --command "openclaw exec mindlog-weekly-report"
If cron is blocked (permission error or not available):
Confirm scheduling method to user before proceeding.
This skill gives OpenClaw three capabilities:
Name: mindlog-daily-prompt
Trigger: Cron
Schedule: 0 14 * * * (2:00pm ET daily)
POST ${MINDLOG_BASE_URL}/api/prompt/trigger
Headers:
x-api-key: ${MINDLOG_API_KEY}
Content-Type: application/json
Expected response:
{ "success": true, "prompt": "What was my mind saying most today?" }
POST https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage
Content-Type: application/json
{
"chat_id": "${TELEGRAM_CHAT_ID}",
"text": "MindLog\n\n{prompt}\n\nJust reply to this message."
}
Name: mindlog-save-entry Trigger: Telegram message received (user replies to the daily prompt)
POST ${MINDLOG_BASE_URL}/api/entries
Headers:
x-api-key: ${MINDLOG_API_KEY}
Content-Type: application/json
{
"prompt": "{the prompt that was sent earlier today}",
"content": "{user's telegram reply}"
}
Expected response:
{ "success": true, "entryId": "abc123" }
POST https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage
{
"chat_id": "${TELEGRAM_CHAT_ID}",
"text": "Logged. See you tomorrow."
}
Keep the confirmation short. No praise, no fluff.
Name: mindlog-weekly-report
Trigger: Cron
Schedule: 0 14 * * 0 (2pm every Sunday — fixed cadence, fires regardless of when skill was registered)
GET ${MINDLOG_BASE_URL}/api/entries/week
Headers:
x-api-key: ${MINDLOG_API_KEY}
Expected response:
{
"success": true,
"count": 7,
"entries": [ ... ]
}
You are analyzing a week of personal journal entries.
Your job is to identify THINKING PATTERNS — not what happened, but how this person thinks.
Return your analysis in this exact structure:
PATTERNS
- [2-3 recurring thought patterns, each citing which days it appeared]
ROOT BELIEFS
- [1-2 underlying beliefs driving those patterns]
- Only include if supported by at least two entries
- If uncertain, say "insufficient data"
ACTION ITEMS
- [3 specific behavioral tasks for next week]
Rules:
- Be direct. No fluff. No therapy speak.
- Only include patterns that appear at least twice across the week
- Cite the specific entry or day as evidence for each pattern
- Action items must have a trigger or deadline — not advice, actual tasks
- Do not overgeneralize from a single entry
- Keep the full report under 300 words
- Write as if speaking directly to the person
Here are my journal entries from this week:
Day 1 — Prompt: "{prompt}"
Entry: "{content}"
Day 2 — Prompt: "{prompt}"
Entry: "{content}"
... (repeat for all entries)
POST https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage
{
"chat_id": "${TELEGRAM_CHAT_ID}",
"text": "MindLog Weekly Report\n\n{openclaw_analysis}"
}
| Situation | Action |
|---|---|
| API returns 401 | Re-prompt user for the correct MINDLOG_API_KEY |
| API returns 500 | Retry once after 10 seconds. If still fails, notify user: "MindLog returned an error. Try again later." |
| Telegram send fails | Notify user in any available channel. Check TELEGRAM_BOT_TOKEN is valid via BotFather. |
| User doesn't reply to prompt | Skip save for that day. Log the miss internally. Do not send a follow-up. |
Monday-Saturday 2pm ET
OpenClaw cron fires
-> GET today's prompt from MindLog
-> Send prompt to user via Telegram
-> User replies -> save to MindLog -> send "Logged. See you tomorrow."
-> User doesn't reply -> skip, log miss, no follow-up
Sunday 2pm (every week, fixed — regardless of when skill was registered)
OpenClaw cron fires
-> GET week's entries from MindLog
-> OpenClaw analyzes patterns (works with whatever entries exist, minimum 1)
-> Send report to user via Telegram
-> API error -> retry once, then notify user