From threads-post
Publishes a multi-post thread chain on Meta Threads via browser automation. Breaks content into numbered posts with hook, middle body, and closing CTA.
How this skill is triggered — by the user, by Claude, or both
Slash command
/threads-post:threads-post-threadThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Publishes a root post followed by connected replies on Meta Threads through the web UI using Playwright MCP. This avoids Meta Graph API setup, app review, scoped access tokens, numeric user IDs, and container-publish flows.
Publishes a root post followed by connected replies on Meta Threads through the web UI using Playwright MCP. This avoids Meta Graph API setup, app review, scoped access tokens, numeric user IDs, and container-publish flows.
https://www.threads.net/.If the browser is not logged in, open Threads with Playwright and ask the user to complete login in the browser. Do not ask for a Meta access token.
Skills may use these environment variables when present:
THREADS_HANDLE - the user's public Threads handle, used only for nicer reporting.THREADS_PROFILE_DIR - a persistent browser profile directory if the local Playwright MCP setup supports it.Credentials are browser-session based. Do not create or request THREADS_USER_ID or THREADS_ACCESS_TOKEN.
Ask if it is unclear how many posts should be in the chain. Default to 3-8 posts.
When given an article or raw content:
1/N, 2/N, etc. unless the user asks for an unnumbered style.Show the full thread draft to the user and wait for approval before publishing.
Use Playwright MCP to navigate to:
https://www.threads.net/
If the login screen appears, stop and ask the user to log in through the browser. After login, continue with the same browser session.
Use Playwright's accessibility snapshot or locator tools to find the composer entry point. Common labels include:
New threadStart a threadPostCreateOpen the composer, paste the approved root post, verify the visible text, and publish it.
After publishing, open the new root post from the feed, profile, or visible success state. Capture its URL if available.
If the root post cannot be found reliably, stop and report the blocker instead of guessing where replies will attach.
For each remaining post:
Tell the user:
Never expose browser cookies, session storage, or other authentication data.
| Error | Cause | Action |
|---|---|---|
| Login required | Browser session is not authenticated | Ask the user to log in through the Playwright browser |
| Composer/reply button not found | Threads UI changed or page did not load | Refresh once, inspect the accessibility snapshot, then report the blocker |
| Root post not found | Feed did not show the new post or navigation failed | Stop and ask the user whether to continue manually |
| Publish button disabled | Empty text or visible validation issue | Check the composer text and report the validation message |
| Rate/limit message | Threads account limit or platform restriction | Report the exact visible message and stop |
| Captcha/checkpoint | Threads security challenge | Ask the user to complete it manually in the browser |
graph.threads.net.Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub aviskaar/claude-socials --plugin threads-post