← ClaudeAtlas

bluesky-engagementlisted

Automated Bluesky reply monitoring and draft queueing for ThumbGate's acquisition engagement loop. Polls the AT Protocol notifications endpoint every 15 minutes, writes human-reviewable draft replies into a queue file, and never auto-posts without sign-off. Trigger when the user asks about Bluesky replies, engagement, reply monitoring, or wants to see/approve queued drafts. Also the authoritative reference for rotating the Bluesky app password or diagnosing monitor failures.
IgorGanapolsky/ThumbGate · ★ 21 · AI & Automation · score 74
Install: claude install-skill IgorGanapolsky/ThumbGate
# Bluesky Engagement Automation for Bluesky reply tracking. The monitor reads; a human (or a queue consumer with explicit approval) writes. ## Why this exists Bluesky is a Zernio-connected channel for publishing, but Zernio does not expose an inbound/comments API. Engagement has to run directly against the open AT Protocol. This skill owns that path so future sessions don't re-ask for credentials or re-derive the PDS routing. ## Credentials Both are set in `.env` at repo root (git-ignored): | Var | Source | Notes | |---|---|---| | `BLUESKY_HANDLE` | bsky profile URL | e.g. `iganapolsky.bsky.social` | | `BLUESKY_APP_PASSWORD` | <https://bsky.app/settings/app-passwords> | Scoped, revocable. Never use the account login password. | **Rotation**: revoke the old app password at the settings URL above, generate a new one named `thumbgate-replies`, and replace the value on the `BLUESKY_APP_PASSWORD=` line of `.env`. No other files need updating. ## Architecture ``` launchd (com.thumbgate.bluesky-reply-monitor) └─ every 900s ─> node scripts/social-reply-monitor-bluesky.js ├─ com.atproto.server.createSession (bsky.social) │ └─ reads didDoc to find user's real PDS ├─ app.bsky.notification.listNotifications (user's PDS) ├─ filter reason in {reply, mention, quote} ├─ dedupe against .thumbgate/reply-monitor-state.json ├─ generateReply() — shared with Reddit/X