Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add sergebulaev/threads-skills --skill threads-repurposergit clone --depth 1 https://github.com/sergebulaev/threads-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/sergebulaev/threads-skills/threads-repurposer)<a href="https://agentmods.dev/skills/sergebulaev/threads-skills/threads-repurposer"><img src="https://agentmods.dev/badge/skills/sergebulaev/threads-skills/threads-repurposer.svg" alt="Measured on agentmods" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.01923 |
| Opus 5 | $0.00000 | $0.00962 |
| Sonnet 5 | $0.00000 | $0.00385 |
| Haiku 4.5 | $0.00000 | $0.00192 |
Grade A, and why
threads-repurposer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 135 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Threads Repurposer
Turn something you already made into a Threads post or thread that reads like it was born on Threads. Repurposing is not copy-paste. A post that killed on LinkedIn or landed on X will read wrong on Threads if you paste it: too polished, too cold, wrong length, and artifacts ("link in bio", hashtag walls, "smash subscribe") that scream off-platform.
This skill transforms, it does not generate. It reads your source, keeps the idea, and rebuilds the delivery for Threads: warmer, lowercase-casual, reply-driven.
When to use
- "Turn this LinkedIn post into a Threads post / thread"
- "Repurpose my blog post / newsletter / YouTube script for Threads"
- "This X thread did well, adapt it for Threads"
- "I have a rough idea in another format, make it native here"
Not for a blank-page draft (use threads-post-writer for a post or thread), not
for reviewing an already-Threads draft (use threads-humanizer, plus
--mode audit), and not for reverse-engineering a hook (use
threads-hook-extractor).
How it works
Voice profile first (all drafts). If ../../references/voice-profile.md has filled: yes, load it and match the user's voice fingerprint, hard rules, and CTA/link style throughout. If it is not filled, mention once that threads-humanizer --mode profile can learn their voice from a few posts, then proceed with the generic voice rules.
- Take the source. Any format: a post, a paragraph, a script, a caption, a transcript, a bullet list, a link to read. Ask for the source and the goal (replies / reposts / likes / quotes) if not given.
- Extract the spine. Strip the source platform's shell and pull out the one claim, the one story, or the one number worth keeping. Most repurposing fails because it keeps the words instead of the point.
- Choose the container. One claim or number -> single post. A teach or a
build -> a light thread (hand structure to
threads-post-writer's shapes). A LinkedIn carousel or a listicle -> a short thread, one item per post, hook rebuilt. A long video -> a thread that delivers the payoff, not a summary. Threads leans short: prefer one warm post over a long thread when the idea fits. - Warm the tone. Threads is conversational and lowercase-casual. De-corporate a LinkedIn source (cut the polish and the humble-brag frame), and turn a transplanted X dunk into an invitation to talk. The register is a person talking, not a brand broadcasting.
- Rebuild the hook. Threads has a soft fold (the feed truncates long posts
with a "more" cut), so line one must land the whole punch and stand alone. The
source's hook almost never survives; write a new first line using a 2026
Threads formula (see
../../references/hook-formulas.md), picked by the goal. - Refit the format. Under 500 chars per post (10,000 only with a text
attachment). One idea per post, line breaks as beats. Cut the source's
connective tissue. For a thread, hand-split with
---so the user sees the breaks before approving. - Strip off-platform artifacts. Remove "link in bio", "smash subscribe", "read more below", hashtag walls (Threads allows one hashtag max), @-handles that only exist elsewhere, and any "as I wrote on LinkedIn" throat-clearing. A repurposed post should not admit it was repurposed.
- Humanizer pass. Run
threads-humanizerV3: 2026 AI vocab by density, em dashes above the cap (at most one per post, never swapped for a period), stacked rule-of-three triads, generic openers and reveal bridges. Leave the rhythm alone (uniform rhythm wins on Threads; never insert a punch post for variance). Keep the user's real numbers and named entities from the source. - Approval card. Show: source -> Threads mapping (what became what), the
container (single post or N-post thread with per-post char counts), formula
used, warmed-tone note, primary goal. Confirm any
---breaks. - On approval. Publish via
lib.publish(kind="post"(single) orkind="thread",draft_text=<approved>, target_url="https://www.threads.com/", platforms=[<THREADS_PLATFORM_ID>], scheduled_time=<iso_or_None>). The wrapper handles Publora / manual / diy routing. Publora auto-splits an over-length draft into a connected thread at paragraph then sentence boundaries.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday Changed · +4 lines 8a085e407f00
- 7d ago First seen · 131 lines · 0 tokens per session scan A 5d2235225eee
threads-repurposer is a skill published in the GitHub repository sergebulaev/threads-skills (25 stars, last pushed yesterday), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,923 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
x-humanizer
Remove the AI tells human readers react to in a tweet or thread: 2026 vocabulary by density, reveal bridges, staccato stacks, stacked triads, performed sincerity; caps em dashes at one per tweet. Includes --mode audit (280-char fit, hook, hashtag and emoji limits) and --mode profile. Not for beating AI detectors (no…
x-marketing
Plan, draft, audit, and publish posts and threads for X (Twitter). Use when the user wants to write a single tweet or an auto-numbered thread, build a long-form tweetstorm, remove AI tells from a draft, reverse-engineer the hook from a viral tweet, draft a reply or quote tweet, or plan a week of X content. Tweets and…
fb-humanizer
Remove the AI tells readers react to in a Facebook Page post: 2026 vocabulary by density, reveal bridges, staccato stacks, stacked triads, performed sincerity, "We are thrilled to announce" auto-pilot; caps em dashes. Includes --mode audit (under-80 sweet spot, hook, engagement bait, hashtag and emoji limits) and…
facebook-marketing
Plan, draft, audit, and publish posts for a Facebook Page. Use when the user wants to write a short punchy Page post or a longer story post, remove AI tells from a draft, reverse-engineer the hook from a high-share Page post, draft replies to comments on their Page, or plan a week of Facebook Page content. Page posts…
tt-humanizer
Remove the AI-script tells viewers hear in a TikTok spoken script and caption: 2026 vocabulary by density, reveal bridges, staccato stacks, stacked triads, performed sincerity, written-not-spoken phrasing, "hey guys" filler; caps em dashes. Includes --mode audit pre-film check (hook, completion design, caption fit)…
tiktok-marketing
Plan, script, caption, and publish short-form video for TikTok. Use when the user wants to write the first 1-3 second hook (spoken line plus on-screen text), draft a caption under 2,200 chars with TikTok settings and hashtags, ride a trending sound without being cringe, strip AI tells from a spoken script to sound…