Prompt
Read git log --oneline v0.8.0..HEAD and draft a Bluesky post announcing v0.9.0 of our terminal markdown previewer. Pick the two most user-visible changes. Include the install command brew install mdpeek and the link github.com/acme/mdpeek. How to do it
- Mint a Bluesky agent key In https://app.socialhandoff.com, open Connections, connect your Bluesky account, then create an agent key scoped to Bluesky with draft permission only. Copy the key when it is shown; only its hash is stored.
- Edit settings.json In ~/.gemini/settings.json, add an mcpServers entry with httpUrl set to https://app.socialhandoff.com/mcp and a headers object carrying the Bluesky key as a bearer token.
- Check the connection Start gemini and run /mcp. The server should be listed as connected with its tools.
- Draft from the terminal Ask Gemini CLI to read the release notes or git log and draft a Bluesky post. It calls draft_post and the post appears in your approval inbox.
Example draft
mdpeek v0.9.0: tables now render with aligned columns, and --watch reloads the preview when you save. brew install mdpeek github.com/acme/mdpeek
Gotchas
- The 300 limit counts graphemes, so an emoji or accented letter counts as one. Anything longer should become a reply-chain thread, not a clipped post.
- Bluesky refuses images over 1 MB and allows at most 4 per post. Resize screenshots before the agent attaches them, and add alt text to each.
- Links, @handles, and #tags become clickable facets when the post publishes. Have the agent write the plain URL and handle, not markdown links.
- Gemini CLI reads settings.json at startup. If /mcp shows the server as disconnected, check the httpUrl and that the bearer header uses the Bluesky key.
- Character limit: 300 graphemes per post. An emoji or an accented letter counts as 1 grapheme even if it uses several bytes.
- Media per post: Up to 4 images, or 1 video. Images and video cannot be mixed in one post.
- Image size: The AT Protocol image embed accepts blobs of about 1 MB each; the official app compresses larger photos. SocialHandoff checks for 1 MB per image.
- Video: Up to 3 minutes and 100 MB, MP4. SocialHandoff does not publish video to Bluesky.
Frequently asked questions
Can Gemini CLI run this non-interactively?
Yes. Pass a prompt to gemini in non-interactive mode from a script. The result is still only a draft, so an unattended run cannot publish.
Will Gemini CLI link to my repo correctly on Bluesky?
Yes. Write the plain URL and it becomes a clickable link facet when the post publishes. The same happens for @handles and #tags.
Does it support custom domain handles on Bluesky?
Yes. Connect with whatever handle you sign in with, including a domain handle. Mentions of other handles become clickable facets on publish.