Something went wrong. Try again.
A bsky bot to post Claude's status updates bsky.app/profile/did:plc:rsmddbe2aekcn6cam2gcgpno
Something went wrong. Try again.
TypeScript 100%
README.md
claude-status-bluesky #
Receives Atlassian Statuspage webhooks from status.claude.com and reposts incidents and scheduled maintenance to Bluesky, threading multi-update incidents as replies.
Setup #
- Copy
.env.exampleto.envand fill in:BLUESKY_SERVICE— PDS URL (e.g.https://pds.finxol.eu)BLUESKY_IDENTIFIER— bot DID or handleBLUESKY_APP_PASSWORD— app password (Settings → App Passwords)WEBHOOK_TOKEN— a long random string (the only webhook auth)
- Subscribe on status.claude.com → Subscribe to Updates → webhook, URL
https://<host>/webhook/<WEBHOOK_TOKEN>.
Run #
deno task dev # watch mode, loads .env
deno task start # production
deno task test # unit tests
deno task check # typecheck
State (idempotency, thread map, cached session) is stored in Deno KV. Deploy target: Deno Deploy (KV is built in).
Behaviour #
- Posts incident lifecycle updates and scheduled maintenance
(
scheduled/in_progress/completed); skipsverifying,backfilled, and allcomponent_updateevents. - Compact one-liner:
{emoji} [{status}] {name} — {body} status.claude.com(link deep-links to the incident). Emoji: 🔴 critical · 🟠 major · 🟡 minor · 🔧 maintenance · 🟢 resolved. - Posts synchronously, returns
200only on success,502on failure so Statuspage retries; Deno KV idempotency prevents duplicates.