Install
openclaw skills install daily-reflectionNightly OpenClaw reflection routine for isolated cron jobs. Analyzes the day, extracts concrete learnings, updates solution memory, detects recurring patterns, and writes a morning briefing. Use for automated end-of-day memory consolidation, not routine chat replies.
openclaw skills install daily-reflectionRun this reflection fully. No step may be skipped. All outputs are written to memory — not output as chat messages.
Load all today's entries from memory (memory_search for "today", current date, active projects).
Answer these questions:
Maximum 5 concrete learnings. Format:
LEARNING:
Situation: [What happened]
Error/Insight: [What was wrong or newly learned]
Better tomorrow: [Concrete behavior change]
Context-Tags: [e.g. NestJS, Auth, Backend, Debugging]
Priority: high / medium / low
For each non-trivial bug solved today:
{
"id": "[timestamp]-[short-name]",
"problem": "[Problem in one sentence]",
"symptoms": ["[Symptom 1]", "[Symptom 2]"],
"root_cause": "[The actual cause]",
"solution": "[What was concretely changed]",
"code_snippet": "[Optional: key code fix]",
"context_tags": ["Tag1", "Tag2"],
"project": "[Project name]",
"confidence": 0.95,
"solved_at": "[Date]",
"time_to_solve_minutes": 0
}
Write to memory under solution_memory/[id].json.
Check memory_search over last 7 days:
Format:
PATTERN DETECTED:
Observation: [What repeats]
Frequency: [X times in Y days]
Countermeasure: [Concrete future behavior or rule to propose]
Write to memory/morning-briefing.md (overwrite) AND archive as memory/briefings/[tomorrow-date].md:
🌅 MORNING BRIEFING — [Tomorrow's date]
📋 OPEN TASKS (Priority):
1. [Task] — [why important today]
2. [Task]
3. [Task]
🔴 OPEN BUGS:
- [Bug] — [last status]
💡 TODAY'S LEARNINGS (top 3):
- [Learning 1]
- [Learning 2]
- [Learning 3]
⚠️ WATCH OUT TOMORROW:
- [What to pay special attention to]
🎯 FOCUS TOMORROW:
[One sentence on what's most important]
After writing: archive a copy under memory/briefings/[tomorrow-date].md using normal file-write tools. Do not run shell commands unless the host policy allows it.
Write structured summary to memory/YYYY-MM-DD.md (append).
Format:
## 23:59 Reflection
### Completed today
- [Task 1]
- [Task 2]
### Open / In Progress
- [Task]
### What went well
- [Concrete things that worked — code, communication, decisions]
### What went poorly
- [Honest — errors, misunderstandings, bad decisions]
### Learnings
- Situation: [What happened] → Better tomorrow: [Concrete change]
### New Patterns
- If new pattern detected → write to memory/patterns.md
- If no new pattern: "No new patterns"
### Solution Memory Updates
- [ID] — [short description]
REQUIRED: What went well + What went poorly + Learnings must ALWAYS be filled in.
Rate today's session objectively (0-10):
📊 SESSION QUALITY — [Date]
Helpful: [0-10] — Did the user get what they needed?
Response time: [0-10] — Was I fast and direct?
Errors: [0-10] — How many corrections? (10 = none)
Proactivity: [0-10] — Did I anticipate problems?
Total: [Average]
What lowered quality today: [specific]
What raised it: [specific]
Write to memory/session-quality-log.md (append).
If Total < 7 → analyze main reason and propose a new pattern for review.
Check last outputs of key crons (read archived briefings):
Keep user-facing output minimal. Prefer memory files for routine results.
Exception: if a critical open problem cannot wait, send one short message:
⚠️ Reflection done — critical issue: [1 sentence]
BEFORE any debugging attempt:
memory_search("solution_memory [keywords from bug description]")BEFORE similar tasks:
memory_search("solution_memory [task-type]")