bluesky-agent
Post/read/manage content on Bluesky via a local Node.js CLI (manual invocation only).
Bluesky Agent Skill
This skill interacts with Bluesky (AT Protocol) by running a local CLI.
Safety rules (must follow)
- Never post/delete unless the user explicitly asked for that action in this message.
- For any write action, echo a preview of the payload first and ask for confirmation in-chat unless the user already said "do it".
- For destructive actions (
delete), require explicit CLI confirmation (--confirm). - Respect rate limits: if API returns HTTP 429, back off and retry with exponential delay.
- Prefer
--dry-runfirst for any write action.
Setup (one-time)
- Install deps in the skill directory:
npm i
- Set environment variables via
.envor a secrets manager:BLUESKY_HANDLE(e.g.daniel.bsky.social)BLUESKY_APP_PASSWORD(recommended for single-user automation)- Optional
BLUESKY_SERVICE_URL(defaults tohttps://bsky.social)
OAuth mode (optional, multi-user) is the long-term direction. See reference/oauth.md.
Actions
post "<text>" [--dry-run]reply "<uri>" "<cid>" "<text>" [--dry-run]delete "<uri>" --confirm [--dry-run]feed "<actorHandleOrDid>" [limit]thread "<uri>"
Run
Use:
node scripts/bsky.js <action> ...
Examples:
node scripts/bsky.js post "hello from claude code" --dry-runnode scripts/bsky.js feed daniel.bsky.social 10