--- name: bluesky description: Post, reply, like, and repost on Bluesky using the lettabot-bluesky CLI. Read-only by default; explicit actions required. metadata: | { "clawdbot": { "emoji": "🦋", "primaryEnv": "BLUESKY_HANDLE" } } --- # Bluesky Bluesky is **read-only by default** in Lettabot. To post, reply, like, or repost you must use the `lettabot-bluesky` CLI. ## Availability When this skill is enabled, it ships a skill-local `lettabot-bluesky` shim, so the command is available to agent subprocesses without separate npm install. Both entrypoints are supported and equivalent: ```bash lettabot-bluesky ... lettabot bluesky ... ``` The shim prefers project-local entrypoints (`./dist/cli.js` or `./src/cli.ts`) before falling back to an installed `lettabot` binary on PATH. ## Quick Reference ```bash lettabot-bluesky post --text "Hello" --agent lettabot-bluesky post --reply-to at://did:plc:.../app.bsky.feed.post/... --text "Reply" --agent lettabot-bluesky post --text "Long..." --threaded --agent lettabot-bluesky post --text "Check this out" --image data/outbound/photo.jpg --alt "Alt text" --agent lettabot-bluesky post --text "Gallery" --image data/outbound/a.jpg --alt "First" --image data/outbound/b.jpg --alt "Second" --agent lettabot-bluesky like at://did:plc:.../app.bsky.feed.post/... --agent lettabot-bluesky repost at://did:plc:.../app.bsky.feed.post/... --agent lettabot-bluesky repost at://did:plc:.../app.bsky.feed.post/... --text "Quote" --agent [--threaded] ``` ## Read Commands (public API) ```bash lettabot-bluesky profile --agent lettabot-bluesky thread --agent lettabot-bluesky author-feed --limit 25 --cursor --agent lettabot-bluesky list-feed --limit 25 --cursor --agent lettabot-bluesky resolve --agent lettabot-bluesky followers --limit 25 --agent lettabot-bluesky follows --limit 25 --agent lettabot-bluesky lists --limit 25 --agent lettabot-bluesky actor-feeds --limit 25 --agent ``` ## Auth‑Required Reads (uses app password) ```bash lettabot-bluesky search --query "memory agents" --limit 25 --cursor --agent lettabot-bluesky timeline --limit 25 --cursor --agent lettabot-bluesky notifications --limit 25 --cursor --reasons mention,reply --agent ``` ## Moderation (Mute / Block) ```bash lettabot-bluesky mute --agent lettabot-bluesky unmute --agent lettabot-bluesky block --agent lettabot-bluesky unblock --agent lettabot-bluesky blocks --limit 50 --cursor --agent lettabot-bluesky mutes --limit 50 --cursor --agent ``` Notes: - `unblock` requires the **block record URI** (returned by the `block` command). - Pagination: many commands support `--cursor` (use the `cursor` field from the previous response). ## Notes - Posts are capped at 300 characters unless you pass `--threaded`. - `--threaded` splits text into a reply thread (explicit opt‑in). - Replies and quotes require the target `at://` URI (included in incoming Bluesky messages). - The CLI uses the Bluesky app password from your `lettabot.yaml` for the selected agent. - **Images**: up to 4 per post; supported formats: JPEG, PNG, GIF, WebP. Use `--image ` (up to 4×) and `--alt ` after each image for alt text. `--alt` applies to the immediately preceding `--image`. Images must be inside the configured `sendFileDir` (default: `data/outbound`). Images attach to the first post only when `--threaded`.