skel/.pi/skills/close-of-day/SKILL.md
--- name: close-of-day description: Run a daily end-of-day sweep: refresh situation notes, back up state, clean low-value timeline traffic, and run the daily-notes summarisation flow before declaring the day closed. distribution: private --- # Close of Day A one-shot maintenance skill to: 1. Run `situate` and refresh daily notes for the selected chat scope. - for `web:*`, this now means all web session trees (roots plus branches), not just the currently visible tab 2. Run a restic backup b
npx skillsauth add rcarmo/piclaw skel/.pi/skills/close-of-dayInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
A one-shot maintenance skill to:
situate and refresh daily notes for the selected chat scope.
web:*, this now means all web session trees (roots plus branches), not just the currently visible tabmessages tool actions./workspace/.pi/skills/situate-daily-notes/SKILL.md as a required sub-step.It is intended to be run once per day after work.
Important: close-of-day is not complete when the report is generated or the cleanup finishes. You must continue straight into the daily-notes workflow in the same task.
/workspace/scripts/situate.ts with --update-notes
web:*, transcript previews in the generated report are linearised per session tree rather than globally interleaved/workspace/.piclaw/restic/backup.sh) before cleanup startstimeline cleanup groups: reloads, compaction, greetings, slash command chatter, command responses, one-word acks, transitions, version/build/git noise and related noisesituate-daily-notes workflow immediately afterwardsmessages tool actions internally:
search + delete for cleanup candidate discovery/removalsearch + get for the daily-notes summarisation work--include-media.After cleanup, explicitly read and follow:
/workspace/.pi/skills/situate-daily-notes/SKILL.mdDo not stop at the report. The close-of-day workflow only ends after the relevant daily note files have been updated.
bun run /workspace/.pi/skills/close-of-day/close-of-day.ts \
--days 1 \
--chat-jid web:default \
--report /workspace/exports/close-of-day.md \
--cleanup
Optional flags:
--dry-run — only report what would be deleted (default: true).--apply — perform deletions (instead of dry-run).--days <n> — how many days to include in the situation report and cleanup search window.--since <iso8601> — override window start for cleanup.--chat-jid <jid> — target chat context (default web:default).--report <path> — path for the generated situation report (default /workspace/exports/close-of-day-<DATE>.md).--include-media — allow delete operations to remove messages that still have attachments.--skip-backup — skip restic backup.--backup-cmd <command> — override backup command (default /workspace/.piclaw/restic/backup.sh).--situate-only — skip cleanup.--cleanup-only — skip the situate step.# Preview cleanup impact only
bun run /workspace/.pi/skills/close-of-day/close-of-day.ts --days 1
# Do the cleanup, including attachment-bearing messages
bun run /workspace/.pi/skills/close-of-day/close-of-day.ts --days 1 --cleanup --include-media --report /workspace/exports/close-of-day-2026-03-12.md
Do not report "day closed" until all of the following are done:
For the daily-notes phase:
situate-daily-notes skill immediately after cleanupmessages tool to gather message ranges and contextweb:* session trees diverged, preserve that separation in the summary instead of blending branches togethernotes/daily/YYYY-MM-DD.mdsummarised_until to the last covered message timestampmessages tool semantics:
--include-media is setnotes/daily/*.agent.json plus rolling files under notes/agent-memory/; those should be left consistent before the workflow is considered done.timeline-cleanup directly.documentation
Resolve Teams or SharePoint document links to canonical metadata.
development
Search the web via SearXNG and optionally convert result pages to Markdown.
development
Search via SearXNG, fetch top results, and return quick summaries plus markdown.
testing
Fetch a user's recent tweets (tweets, replies, retweets) using Playwright + Nitter fallbacks and produce compact JSON/Markdown summaries.