Install
openclaw skills install daily-diaryAI-assisted daily diary system. Automatically review the day's conversations, extract key events, decisions, and insights, then generate a structured diary d...
openclaw skills install daily-diaryGenerate structured diary entries by reviewing conversation history.
Diary generation follows these steps:
~/diary/YYYY/MM/YYYY-MM-DD.mdScan all conversations from today. Extract:
Sensitive data filter — ALWAYS strip all credentials, keys, personal identity information, server addresses, and configuration file contents from extracted content before including in diary. Redact paths containing usernames to ~/. Content the user explicitly marked as confidential must also be excluded.
Write in first person ("I"). Tone: warm, natural, like writing to future self.
Use this structure:
📔 YYYY-MM-DD Diary
☀️ Today's Summary
(One sentence capturing the day's main thread)
✅ Achievements
- Achievement 1
- Achievement 2
🧭 Key Decisions
- Decision: rationale and conclusion
💡 Reflections
(Insights or lessons extracted from conversations)
📋 Tomorrow's Plan
- [ ] Task 1
- [ ] Task 2
🎯 One-Line Mood
(Leave blank for user to fill)
🏷️ Tags
#tag1 #tag2 #tag3
Quality rules:
#AI, #product; types like #decision, #milestone; moods like #productive, #focused)Writing style:
Append this footer to every diary draft:
---
💬 To complete your entry:
1. How was your mood today? (one sentence is fine)
2. Anything to add or change?
3. Reply ✅ to archive as-is
| User response | Action |
|---|---|
| Adds content | Merge additions, then save |
| Replies ✅ or "ok" | Save immediately |
| No reply within 24h | Save as draft (status: unreviewed) |
Save path: ~/diary/YYYY/MM/YYYY-MM-DD.md
Append status line at end of file:
---
*Generated by [agent-name] at HH:MM | Status: confirmed/unreviewed*
When no conversations exist for today:
When the user says they have nothing to write, or when conversation content is thin, use prompts from quick-prompts.md to draw out content.
Rules: pick at most 2-3 questions per session. Choose based on the day's conversation topics. Keep the tone light — journaling should never feel like homework.
Add to cron/jobs.json for automated daily triggers:
{
"name": "daily-diary",
"schedule": { "expr": "0 20 * * *", "kind": "cron", "tz": "Asia/Shanghai" },
"sessionTarget": "isolated",
"payload": {
"kind": "agentTurn",
"message": "It's evening diary time. Review today's conversations and generate a diary draft following the daily-diary skill workflow.",
"timeoutSeconds": 180
},
"delivery": { "channel": "feishu", "mode": "announce", "to": "chat:<group-id>" }
}
Adjust tz, channel, and to for your setup.
~/diary/
├── YYYY/
│ └── MM/
│ └── YYYY-MM-DD.md
└── weekly/ (future: auto-generated weekly summaries)
This skill ONLY:
~/diary/This skill NEVER: