skills/golem-powers/nightly-journal/SKILL.md
Use when ending the day, checking what happened professionally, or capturing client and job pipeline activity. Triggers on: 'nightly journal', 'daily sweep', 'check my comms', 'what happened today', 'update my diary', end-of-day routines, or proactively during evening coach tasks.
npx skillsauth add etanhey/golems nightly-journalInstall 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.
Autonomous sweep of WhatsApp (Business + Personal), Gmail, and BrainLayer for professional activity. Writes a structured daily log to Obsidian.
Include: Client chats, job pipeline (recruiters, interviews, applications), networking (TechGym, LinkedIn), outreach responses.
Exclude: Personal chats, group spam, newsletters, GitHub notifications, marketing, status broadcasts.
brain_search("whatsapp jids known contacts")). Query each with mcp__whatsapp__list_messages(chat_jid=JID, limit=30). Also scan mcp__whatsapp__list_chats(limit=20, sort_by="last_active") for new contacts.mcp__whatsapp__list_messages.gmail_search_messages(q="after:<today> -category:promotions -category:social"). Keep only recruiter/client/interview emails.brain_search("owner-state career", date_from=today) for pipeline context.Write to: ~/Library/Mobile Documents/iCloud~md~obsidian/Documents/personal/Personal/<YYYY-MM-DD> Daily Log.md
If file exists, append ## Evening Sweep — don't overwrite.
Sections: Clients, Job Pipeline (active conversations + applications + interviews), Networking, Email Highlights, Tomorrow (what needs attention first). Skip empty sections.
Summarize Hebrew content in English (RTL breaks some editors). End with brain_store tagged ["daily-journal", "agent:coachClaude"].
If an unanswered client ask is found (message from client with no reply from Etan), flag with ⚠️ in the journal output and mention it prominently at the top.
This skill is read-only — it reads sources and writes to Obsidian journal only. It never sends WhatsApp messages, emails, or takes external actions.
tools
The human-eval UX contract for Phoenix views: turn-by-turn scrollable replay (not a scorecard), hide-but-copyable IDs, collapsed thinking, identity chips, tool filters, tiny frozen starter datasets, mark-wrong-in-thread, mobile-first. Use when: building or reviewing ANY Phoenix/eval view, annotation UI, session replay, or human-grading surface. Triggers: phoenix view, eval UI, annotation view, session replay, human eval UX, grading interface. NOT for: Phoenix data pipelines/ingest (capture scripts have their own specs).
tools
macOS systems specialist — AppKit NSPanel architecture, launchd services, socket activation, MCP bridge resilience, syspolicyd, and high-frequency SwiftUI dashboards. Use when building menu-bar apps, LaunchAgents, debugging syspolicyd/Gatekeeper/TCC, resilient UDS/MCP bridges, or SwiftUI dashboards at 10Hz+.
development
Bulk LLM-judging protocol for fleet-dispatched verdict runs (KG cluster, eval harness). Use when: dispatching or running judge workers (J1/J2/RT), planning bulk-apply from verdict JSONL, or triaging evidence_degraded outputs. Triggers: judge fleet, bulk judge, R3 verdicts, kg-judge, RT gate, evidence_degraded. NOT for: single-item code review, Phoenix view UX (use phoenix-human-view), or non-judge eval pipelines.
development
Quiet-down protocol for sprint close: when the fleet wraps, delete ALL polling crons and monitors, send ONE final dashboard + ONE message, then go SILENT. Use when: fleet wraps, all workers done, overnight queue exhausted, sprint close, Etan asleep/away with nothing approved left. Triggers: fleet wrap, wrap the fleet, stand down, going quiet, sprint close. NOT for: mid-sprint monitoring (keep your loops), spawning a successor (use /session-handoff first).