agentleFS
qwwiwiqwwiwi/agentos-skills-public/skills/threads-content/SKILL.md

threads-content

Skill4 starsChanged 4 months agoMITView on GitHub

Converts a Telegram post (typically from a channel) into a Threads thread of 5-8 posts with a banner for the first message and a CTA with UTM at the end. Includes 4 banner templates (negative/positive/transformation/equation in 3D app-icon style + black background) and a proven 7-block thread structure. Use ALWAYS when user says "make a thread", "adapt for Threads", "turn this post into a thread", "take this post and break it into a thread", "find a popular post and make a thread", or shares a forwarded Telegram post and asks for Threads content.

The file

We split this skill into the rules it gives an agent

10 rules. About 0 are common, 7 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈7

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    If already shared in the conversation — proceed to step 2.

    line 18
  2. Distinctive:

    If user says "find the post about X in my channel" — use your channel access tool (MTProto client, Bot API, etc.) to search messages by …

    line 20
  3. Very specific:

    When searching for popular posts, sort by forwards_count — top-3 from the last 30 days almost always convert well.

    line 22
  4. Very specific:

    Use the 7-block structure from references/thread-structure.md:

    line 26
  5. Distinctive:

    Compression rule: if original post is short, merge blocks 2+3 and 4+5.

    line 36
  6. Very specific:

    Tone of voice is mandatory: Before writing the first post, load your brand tone of voice guide (keep it in references/tone-of-voice.md or …

    line 40
  7. Distinctive:

    All templates share visual language (black background #0A0A0A, 3D app-icons, gold accent #C2A878 on winner, red on loser) — recognizable …

    line 55
  8. Distinctive:

    Never publish to Threads without explicit "ok" / "publish" from user — hard rule.

    line 69
  9. Distinctive:

    Image generation unavailable — say so honestly: Don't fake "here's the banner" when there isn't one.

    line 110
  10. Distinctive:

    Don't publish anything from the creator's behalf yourself: All messages go to the user for approval first.

    line 111

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

threads-content

Converter: long Telegram posts → Threads thread + banner + CTA link. Goal — repurpose already-proven content (forwards, reach) for Threads growth without generating new ideas.

Why this skill exists

Long posts that get 50+ forwards on Telegram — the idea resonates. Threads is a separate audience, different format (<=500 chars, threaded), but same idea. Instead of generating new content — take a proven post and adapt it. 10x faster and gives stable results because you're not guessing what will work — you know it already.

Workflow in 4 steps

Step 1 — Get the original post

If already shared in the conversation — proceed to step 2.

If user says "find the post about X in my channel" — use your channel access tool (MTProto client, Bot API, etc.) to search messages by keyword or forward count.

When searching for popular posts, sort by forwards_count — top-3 from the last 30 days almost always convert well.

Step 2 — Break post into a thread

Use the 7-block structure from references/thread-structure.md:

  1. Hook (counter-narrative, breaks the pattern)
  2. Case with numbers (personal experience)
  3. Main insight (why it works this way)
  4. What's actually needed (bulleted list)
  5. Alternative (one solution)
  6. Proof of value (numbers: before → after)
  7. CTA (link to your product/content)

Compression rule: if original post is short, merge blocks 2+3 and 4+5. Minimum 5 posts in the thread, maximum 8.

Platform limit: 500 characters per post (hard limit for Threads). Check character count before finalizing. Keep 20-30 character buffer for the "N/7" marker.

Tone of voice is mandatory. Before writing the first post, load your brand tone of voice guide (keep it in references/tone-of-voice.md or similar).

0 emoji. Short dash –. Point first, no preambles.

Step 3 — Generate banner for first post

The first post in Threads renders with a preview. A banner increases CTR by 30-50% vs a text-only thread.

Open references/banner-prompts.md and choose a template:

  • Negative formula — post-destructor ("X + Y don't work, failure")
  • Positive formula — "X + Y = win"
  • Transformation — "before → after"
  • Equation — clean equation of 3+ components

All templates share visual language (black background #0A0A0A, 3D app-icons, gold accent #C2A878 on winner, red on loser) — recognizable across threads.

~/.claude/skills/threads-content/scripts/gen-banner.sh \
  --template negative \
  --prompt "Obsidian purple crystal + old notes app → drooping graph = red X" \
  --size 1792x1024 \
  --output /tmp/thread-banner.png

If image generation API is unavailable or billing limit hit: say so honestly to the user. Fallback options: user generates manually in ChatGPT Plus (copy the prompt), use a different image generation service.

Step 4 — Send to user for approval

Never publish to Threads without explicit "ok" / "publish" from user — hard rule.

Delivery format: banner as a separate message, then all 7 posts in one message — each inside a code block with "N/7" marker for one-tap copy on mobile.

~/.claude/skills/threads-content/scripts/send-thread-draft.sh \
  --posts /tmp/thread-posts.txt \
  --banner /tmp/thread-banner.png \
  --slug your-topic-slug

Format /tmp/thread-posts.txt: posts separated by a line containing only ---. Empty lines within a post are fine.

File structure

threads-content/
├── SKILL.md                          (this file — workflow)
├── references/
│   ├── thread-structure.md           (7-block template + Threads limits)
│   ├── banner-prompts.md             (4 prompt templates + base style)
│   ├── cta-workshop.md               (CTA variants + UTM convention)
│   └── cognee-vs-obsidian.md         (reference case, 91 forwards)
└── scripts/
    ├── gen-banner.sh                 (gpt-image-1, 4 templates, sizes)
    └── send-thread-draft.sh          (banner + posts in pre-blocks)

When to read which reference

  • Before writing any thread → references/thread-structure.md
  • Before generating banner → references/banner-prompts.md
  • Before writing the 7th post (CTA) → references/cta-workshop.md
  • If user wants "like that successful one" → references/cognee-vs-obsidian.md

Hard rules (violation = failure)

  1. Publishing to Threads — only after explicit user approval. Prepare the draft, user says "ok".
  2. Each post <=500 characters. Hard limit of Threads, not a style guideline.
  3. UTM is mandatory in the CTA post. Without UTM you can't measure which thread converts — defeats the purpose.
  4. Respect tone of voice exactly. 0 emoji. Short dash –. Point first, no preambles.
  5. Image generation unavailable — say so honestly. Don't fake "here's the banner" when there isn't one.
  6. Don't publish anything from the creator's behalf yourself. All messages go to the user for approval first.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.