skills/golem-powers/_archive/notify/SKILL.md
Send Telegram notifications to a topic-routed group chat. Supports multiple sources (alerts, nightshift, email, jobs) each routing to a dedicated Telegram topic. Use when: a task completes, hitting a blocker, waiting for user input, reporting errors, or sending urgent alerts. Available via shell function and HTTP API. NOT for: asking the user questions (use AskUserQuestion), routine progress updates, or sending messages to external contacts.
npx skillsauth add etanhey/golems notifyInstall 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.
Notifications are sent to a group with Topics. Each source routes to a different topic.
# Goes to 🔔 Alerts (default for CLI sessions)
notify "Task Done" "Finished implementing the feature"
# Specify source to route elsewhere
notify "Title" "Body" "jobs" # → 🎯 Jobs
notify "Title" "Body" "email" # → 📧 Email
| Source | Routes To | Used By |
|--------|-----------|---------|
| alerts | 🔔 Alerts | CLI sessions (default), Golems |
| claude | 💬 General | ClaudeGolem only (DO NOT use from CLI) |
| nightshift | 🌙 Night Shift | Night Shift golem |
| email | 📧 Email | EmailGolem |
| jobs | 🎯 Jobs | JobGolem |
| healthcheck | 🔔 Alerts | Daily healthcheck |
Note: ClaudeGolem chat goes to General (Telegram's default topic)
await fetch("http://localhost:3847/notify", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
title: "Title",
body: "Message body",
source: "alerts", // or email, jobs, nightshift
priority: "default", // or "high" for urgent
}),
});
DO notify:
DON'T notify:
notify CLI handles special chars automaticallytools
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).