Prompt
Here are my notes from this week's customer calls. Pull out the one insight about onboarding that surprised me most, write it as a 3-tweet thread for X in my voice, keep each tweet under 240 characters, and schedule it for Thursday 9:00 in America/New_York. Show me the preview before you finish. How to do it
- Mint an agent key In https://app.socialhandoff.com, open Connections, create a key named Claude Desktop, and scope it to X with draft and schedule permissions. Copy the stdio snippet shown with the key.
- Add the server to Claude Desktop Open claude_desktop_config.json from Settings > Developer and paste the mcpServers block. It runs npx -y socialhandoff-mcp with your key. Restart Claude Desktop.
- Ask for a draft Give Claude your notes and the prompt. It calls draft_post with networks set to x and a thread array, then schedule_post for the slot you named.
- Check the inline card preview_posts renders the approval card in the chat, with per-tweet character counts, so you can ask for a rewrite before the draft reaches the inbox.
- Approve on desktop or phone Open the inbox or the phone swipe stack and approve. The thread publishes at the scheduled time as a reply chain.
Example draft
1/ We assumed people quit onboarding because it was long. The calls said otherwise: they quit at the first screen that asked for something they did not have yet. 2/ The fix was not fewer steps. It was reordering them so every screen could be finished with what you already had open. 3/ Completion went up the week we shipped it. Lesson for us: map what a new user has in hand, not what we want from them.
Gotchas
- X counts characters by weight: most CJK characters and many emoji count as 2, and every link counts as 23 no matter how long it is. Ask Claude to leave headroom rather than aim for exactly 280.
- Claude Desktop only sees your key through the config file. If you rotate the key in Connections, update claude_desktop_config.json and restart, or draft_post will fail with an authorization error.
- Up to 4 images per tweet, each with alt text. Claude Desktop cannot attach local files to a tool call on its own, so add media in the inbox before approving.
- Character limit: 280 weighted characters for standard accounts. Most CJK characters and many emoji count as 2. Premium accounts can post longer, but SocialHandoff checks against 280.
- Links: Every URL is wrapped by t.co and counts as 23 characters, whatever its real length.
- Media per post: Up to 4 images, or 1 GIF, or 1 video.
- File sizes: Images up to 5 MB, GIFs up to 15 MB, video up to 512 MB (uploaded in chunks).
Frequently asked questions
Can Claude Desktop publish to X without me?
Not by default. A new agent key is draft-only, and agent keys can never approve their own drafts. You can later promote the key to auto-publish on X through the trust ladder.
Does the thread post as replies?
Yes. A draft with a thread array publishes on X as a reply chain, one tweet after another, in the order you approved.
Which timezone does schedule_post use?
The one you pass. If you leave it out, the draft keeps the workspace timezone, and the card shows the resolved time before you approve.