Daily report on your repo's health, GitHub event alerts, and a 5xx digest from production logs — delivered to Slack.
Monitors a configured GitHub repository for issue, CI, and production-health signals. It produces concise reports, flags patterns, suggests ownership, and comments when evidence shows an issue may already be resolved.
Cron-fires once per morning. Posts a prompt to the `health-reports` thread, which triggers the agent (via the participate routine) to generate today's report. The script reads the previous day's continuity summary from `storage` (key `last_report_summary`) and embeds it as starting context.
Reacts to GitHub webhook events (issues opened/closed/reopened, PR closed+merged, CI failures) by prompting the agent in the `health-alerts` thread. Memory-gated: new problems write `alerted_issue_<N>` / `alerted_ci_*` keys via `working_memory_set`; closures look up the matching key and only post a "✅ resolved" update on a hit. For issue close/reopen events the script pre-fetches memory state via `storage.get` and embeds it in the prompt to remove an LLM tool call.
Cron-fires once per afternoon. Queries Cloud Logging for the last 24h of ERROR-severity entries in the configured K8s namespace, groups by Elixir exception class, pre-fetches recent open issues and merged PRs, and prompts the agent (via participate on the `5xx-digest` thread) to format a Slack post with per-signature drill-down URLs into the Cloud Logging Console. The agent makes ZERO additional tool calls — all data is in the prompt — to keep the turn fast.
Forwards agent responses from monitored threads (health-reports, health-alerts, 5xx-digest) to the configured Slack output channel. Strips `<thought>`, `<thinking>`, and `<summary>` blocks; suppresses `SKIP:`-prefixed responses; guards against tool-call leakage.
Captures the trailing `<summary>...</summary>` block from agent responses on monitored threads and writes it to `storage` (3-day TTL) under a per-thread key. Tomorrow's prompter reads the matching key as continuity context. Branches by `thread.key` so the daily report and 5xx digest share one capture script.
Daily report on your repo's health, GitHub event alerts, and a 5xx digest from production logs — delivered to Slack.
agents/platform-health-agent-sample.yamlroutines/uv run scripts/sample_tool.py pack solutions/platform-health-agent-sample