shiplog
Installation
SKILL.md
${var} — Optional, space-separated flags:
since:YYYY-MM-DD— override the window start (default: when this skill last ran).days:N— window = last N days.dry-run— render to stdout; write no article, no state, no notify.owner/repo— narrow GitHub coverage to that one repo.- any other word — focus/theme filter (a product name or keyword).
Empty = everything shipped since the last run, across all configured repos.
Produce two artifacts:
- Digest — a themed, human-readable recap of everything that shipped + traction (the article).
- Shiplog post — a tight, bulleted, ready-to-post version in the operator's voice, every project @-tagged (the notification).
This is cadence-agnostic: the window is always "since the last run" (memory/state/shiplog-last.json), so the aeon.yml schedule alone decides whether this is a daily, weekly, or on-demand recap. One skill, any frequency.
Read STRATEGY.md, memory/MEMORY.md, and the last 7 days of memory/logs/ for context. Read soul/SOUL.md + soul/STYLE.md before writing any output — the shiplog post must sound like the operator, not a changelog bot. If soul/ is empty, use a clear, direct, neutral voice (drop the signature flourishes below).