Nightly Reflection
A pattern for giving your assistant a memory of its own behavior. A small cron job runs each night, reads recent session activity, and writes a structured reflection to a dated file. This skill reads those files back so the user (or the assistant) can review what's been observed over time and act on it.
This is the consumer half of a two-part loop: a reflection cron writes the files; this skill reads them. The cron itself (a scheduled prompt that reviews session logs and writes
YYYY-MM-DD.md) is part of the full kit.
When to activate
- "What did the assistant notice lately?" / "recent reflections" / "self-review"
- "Any patterns this week?"
- Any question about what the assistant observed, flagged, or recommended.
How to retrieve
Step 1 — List recent files
ls -lt <REFLECTIONS_DIR>/ | head -10
Files are YYYY-MM-DD.md; newest first by modification time.
Step 2 — Read the most recent N (default 5 for "recent")
Read each via your filesystem/MCP read tool and present them newest-first.
Step 3 — Summarize in your own voice, by date
For each day:
- Lead with what was observed (main activity / pattern)
- Note any friction points / "seams showing"
- Note any recommendations / "what I'd change"
A file that just says Nothing notable today. is intentional — report it briefly,
don't skip it.
Reflection file format (suggested)
# Reflection — YYYY-MM-DD
## What I observed
[the day's activity / patterns]
## Where the seams are showing
[friction, errors, thin spots]
## What I'd change
[numbered recommendations]
Pairing it with a watchdog
Have a separate, tiny watchdog cron run ~30 min after the reflection cron to confirm today's file actually landed (exists + non-empty) and ping you only if it didn't. The reflection job is agentic and can fail silently; the watchdog is a dumb script, so it catches the "ran but wrote nothing" failure the reflection itself can't self-report.
Pitfalls
- Failure is silent. If the newest file is missing or empty, check the watchdog output before assuming "nothing happened" — distinguish a quiet day from a broken cron.
- Don't reinterpret quiet days.
Nothing notable today.means exactly that; don't go hunting for hidden meaning or search unrelated sources. - Keep the reader read-only. This skill consumes reflections; it shouldn't rewrite or "tidy" them — the raw log is the record.