agentsclimarketplace

Threads skills

Skill sergebulaev/threads-skills

Threads marketing skills for Claude Code and Codex: posts, multi-post threads, hooks, replies, and a weekly plan in your voice. Publish via Publora. Open source, MIT.

Install
npx -y skills add sergebulaev/threads-skills

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Plan, draft, audit, and publish posts and threads for Threads (Meta). Use when the user wants to write a single Threads post or a multi-post thread, remove AI tells from a draft, reverse-engineer the hook from a viral Threads post, draft a reply or quote post, or plan a week of Threads content. Posts and threads publish via the Publora API, which auto-splits long content into a connected multi-post thread. User provides notes or a post URL, the skill drafts, the user approves, then it publishes.

SKILL.md

6.8 KB, as published. Nobody here has run it

Threads (Meta) Marketing Skills

A bundle of 8 focused skills for Threads content ops in 2026. Each skill is single-purpose, follows the draft then approval then publish pattern, and uses the Publora API for posting Threads posts and threads.

Threads is the warmer, less newsy sibling of X. Same text-first shape, but the register is conversational and the heaviest ranking signal is a real reply.

When to use this bundle

  • Writing a single post or a multi-post thread -> use threads-post-writer
  • Removing AI tells from a draft, or auditing it before posting -> use threads-humanizer (rewrite plus --mode audit pre-publish review, which folds in the post-audit sub-tool)
  • Reverse-engineering the hook from a viral Threads post or thread -> use threads-hook-extractor
  • Drafting a reply, or a quote post -> use threads-reply-drafter
  • Adapting content from another platform into a native Threads post or thread -> use threads-repurposer
  • Planning a week of Threads content -> use threads-content-planner
  • Auditing and rewriting your Threads profile (bio, name, pin, link) -> use threads-profile-optimizer
  • Reading your audience and niche from real data (top posts for a query, a profile's follower count and recent posts) -> use threads-audience-insights

Core pattern

Every action-taking skill follows three steps:

  1. Parse the input. If the user gives a post URL, the skill uses lib/url_parser.py to extract the handle and post id.
  2. Draft the content. The skill applies 2026 research (Threads hook formulas, timing, voice rules, ranking heuristics) and shows the draft to the user.
  3. Wait for approval. The user replies "post", "yes", or suggests edits. Only after explicit approval does the skill call Publora to publish.

Prerequisites

Three tiers - pick one.

Tier 0 - Draft only (default, no setup)

The skills work out of the box. No API keys, no signup. Every approved draft is returned as a copy-paste block with the target Threads URL. Great for trying the skills before committing to any backend.

Tier 1 - Publora auto-post (recommended, ~2 min)

On approval, the writer skill auto-publishes to Threads via the Publora API. Pass long content and Publora auto-splits it into a connected multi-post thread at paragraph then sentence boundaries.

  1. Sign up free: https://app.publora.com/signup
  2. Connect your Threads account in Publora (Channels then Add Channel)
  3. Copy your API key from Publora's API panel
  4. Drop into .env:
    PUBLORA_API_KEY=sk_...
    THREADS_PLATFORM_ID=threads-...
    
  5. Run pip install -r requirements.txt

Why Publora: a thread on the native Threads API means creating a container for post 1, publishing it, then creating each next post with a reply_to_id pointing at the previous one, and handling partial failures. Publora does all of that in one create-post call and auto-splits long content. We built on top of it so we did not have to reimplement the chaining.

Tier 2 - Build your own poster (advanced)

Prefer not to SaaS it? Ask Claude Code or Codex to build a custom poster on the Threads Graph API. Set THREADS_SKILLS_CUSTOM_POSTER=<your command> and the skills invoke it on approval. Publora is the 2-minute path.

Note on replies

A reply to another user's post is a separate post on Threads, and Publora's create-post cannot target someone else's post. So threads-reply-drafter always returns its draft as a copy-paste block for you to post as the reply or quote yourself. Single posts and your own threads auto-publish through Publora normally.

Voice rules (baked into every skill)

  1. No em dashes (), en dashes, or double dashes. Biggest AI tell.
  2. Use .. as a soft pause when rhythm calls for it.
  3. Capitalize all personal, company, and product names. Lowercase a brand reads as careless.
  4. Sentence starts can be lowercase (native Threads voice); names inside stay capitalized.
  5. Avoid AI vocabulary: leverage, fundamentally, streamline, harness, delve, unlock, foster.
  6. Specific numbers beat adjectives. 2.4x beats "way better".
  7. One idea per post. Two ideas means two posts, or a thread.
  8. The first line carries everything. The feed truncates long posts with a "more" cut.
  9. 500 chars per post (10,000 with a text attachment), but tight beats long.
  10. 0-1 hashtag (Threads allows only ONE), 0-2 emoji, and only when each earns its place.
  11. Warm and conversational, not a transplanted X dunk.

(Canonical reference: references/voice-rules.md. See also references/hook-formulas.md and references/algorithm-heuristics.md.)

How Threads URLs map

URL shapeParsed to
https://www.threads.net/@HANDLE/post/CODEhandle + post_id, type post
https://www.threads.com/@HANDLE/post/CODEsame (threads.net normalized to threads.com)
https://www.threads.com/@HANDLEhandle, type profile

lib/url_parser.parse_threads_url(url) returns {handle, post_id, url_type, canonical_url}. A Threads post id is a base64-style shortcode, not a numeric id. A quote post is just a post URL; reply vs quote is a user choice, not a URL distinction.

Known gotchas

  • One hashtag max. Threads rejects a second hashtag at the platform level, not just as a style preference.
  • External links suppress reach in post 1. Up to 5 links per post are allowed, but move the link to a reply or to post 2+ of a thread.
  • Each post in a thread counts toward your quota (250 posts / 24h, 50 / hour). A 5-post thread uses 5.
  • Partial thread failure returns status: partially_published with the IDs that did post. The published posts stay live.
  • No (1/N) markers by default. Unlike X, Publora does not number Threads posts. Add the markers yourself in the text if you want them.
  • Multi-post nesting can be temporarily paused while Meta works through Threads app reconnection. Single posts always publish; fall back to posting the thread as separate posts when nesting is unavailable.

Resources

  • Publora API docs - endpoint reference for the publishing layer
  • lib/publora_client.py - thin Python client used by the writing skill
  • lib/url_parser.py - Threads URL to handle/post-id parser

Acknowledgments

Publishing powered by the Publora REST API.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.