close-of-day

Automates daily end-of-day maintenance by generating situation reports, backing up state, and cleaning timeline noise.

847|79|Updated Feb 17, 2026
One-click install
npx skills add https://github.com/rcarmo/piclaw --skill close-of-day
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: close-of-day
Source: https://github.com/rcarmo/piclaw/tree/main/skel/.pi/skills/close-of-day
Command: npx skills add https://github.com/rcarmo/piclaw --skill close-of-day

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Daily chat timelines accumulate low-value noise such as greetings, slash-command chatter, build logs, and one-word acknowledgements, while situation notes and daily summaries require manual upkeep. This Skill runs a single end-of-day sweep that refreshes situation reports, backs up state, cleans timeline traffic, and updates daily notes.

Core Features & Use Cases

  • Situation Report Generation: Runs situate.ts with --update-notes to produce a dated close-of-day report and refresh memory notes.
  • Optional Restic Backup: Executes a configurable backup command before any deletion occurs, with a --skip-backup override.
  • Timeline Cleanup Groups: Searches and deletes low-value messages across all web session branches, covering reloads, compaction, greetings, slash commands, acknowledgements, filler, version bumps, build noise, git operations, and package installs.
  • Safe Deletion Defaults: Cleanup runs in dry-run mode by default, skips attachment-bearing threads unless --include-media is set, and supports partial passes via --situate-only or --cleanup-only.
  • Use Case: At the end of each workday, run the skill against web:default to produce a situation report, back up the message store, preview cleanup counts, apply deletions, and finish with updated daily notes in notes/daily/.

Quick Start

Ask the agent to run the close-of-day skill for the default web chat with cleanup enabled and review the dry-run counts before applying deletions.

Frequently Asked Questions about close-of-day

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run a daily cleanup of chat timeline noise?

Run close-of-day.ts with Bun, passing --days, --chat-jid, and --cleanup. Deletion defaults to dry-run so you can review counts per cleanup group, then rerun with --apply to perform the actual deletions.

How do I clean up messages without deleting attachments?

By default the cleanup skips messages that still have media attachments. Only pass --include-media when you explicitly want attachment-bearing threads to be eligible for deletion.

Does the cleanup cover branched web chat sessions?

Yes. The script resolves the full session scope for web:* chats, so cleanup covers all web session trees including branch chats, not just the visible anchor tab.

Can I run only the situation report or only the cleanup?

Yes. Use --situate-only to generate the situation report without cleanup, or --cleanup-only to run cleanup alone. Both are treated as partial maintenance passes, not a completed close-of-day.

Why did the close-of-day run fail at the backup step?

The default backup command is /workspace/.piclaw/restic/backup.sh, and a restic failure aborts the run with an error. Verify the script exists and credentials are configured, or pass --skip-backup or --backup-cmd to override.