name: situate-daily-notes description: Situate yourself by generating a 1-page situation report and maintaining Obsidian-style daily summary notes. distribution: private
Situate daily notes
Use this on demand when the user asks you to catch up, or as the required daily-notes phase of close-of-day.
Do not run it automatically at session start.
Script roles
situate.ts— full situation report + rolling memory refresh + note status checkdaily-notes.ts— generate or refresh daily-note skeletons only
Quick start
bun run /workspace/.pi/skills/situate-daily-notes/situate.ts
This:
- prints a one-page situation report
- aggregates activity across the relevant chat/session scope
- generates missing daily-note skeletons
- refreshes rolling memory/context files under
notes/memory/ - lists notes that still need summaries or partial updates
For web:* scopes, all web session trees are included and labelled so parallel branches stay distinguishable.
Daily note format
Notes live at notes/daily/YYYY-MM-DD.md and begin with YAML front matter like:
---
date: 2026-03-04
summarised_until: 2026-03-04T17:55:35.286Z
messages_total: 25
messages_user: 10
messages_assistant: 15
session_trees: 2
session_chats: 4
first_message: 2026-03-04T12:31:03.860Z
last_message: 2026-03-04T17:55:17.309Z
scope_mode: all-web-session-trees
scope_anchor: web:default
---
Rolling memory outputs live under notes/memory/:
notes/memory/current-state.mdnotes/memory/recent-context.mdnotes/memory/MEMORY.md
Writing summaries
Daily notes are summaries only; the message database remains the source of truth for full transcripts.
When situate.ts or daily-notes.ts reports notes that need summary work:
- read the note to confirm the target day and current metadata
- use the
messagestool as the primary transcript source - write a concise narrative summary covering:
- work grouped by theme rather than chronology
- key outcomes / deployments / configurations
- unresolved blockers or open threads
- materially different branch conversations kept distinct
- replace
<!-- NEEDS_SUMMARY -->or the update marker - move
summarised_untilto the last covered message timestamp
If a note is only partially behind, append a short update section and advance the watermark rather than rewriting the whole note.
Keep the prose terse, dense, and matter-of-fact. Preserve existing real summaries; only fill placeholders or append updates.
Options
| Flag | Default | Description |
|---|---|---|
--days <n> |
7 |
How many days of history to include |
--out <path> |
/workspace/exports/situation.md |
Situation report output path |
--update-notes |
off | Refresh note metadata and memory outputs while generating the report |
Standalone daily-note generation
bun run /workspace/.pi/skills/situate-daily-notes/daily-notes.ts [--days <n>] [--force]
For daily-note writing, prefer the messages tool over a separate full-transcript export unless you specifically need a transcript artifact.