/tweet-thread-from-blog
Converts a blog post URL or article into a Twitter/X thread with a strong hook, one insight per tweet, and a CTA. Optionally posts the full thread to X via Composio using a reply chain. Use when asked to turn a blog post into a tweet thread, repurpose an article for Twitter,
$ npx -y skills add Varnan-Tech/opendirectory --skill tweet-thread-from-blog --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/tweet-thread-from-blog
Context preview
The summary Claude sees to decide when to auto-load this skill.
Converts a blog post URL or article into a Twitter/X thread with a strong hook, one insight per tweet, and a CTA. Optionally posts the full thread to X via Composio using a reply chain. Use when asked to turn a blog post into a tweet thread, repurpose an article for Twitter,
SKILL.md
tweet-thread-from-blog.SKILL.mdname: tweet-thread-from-blog
description: Converts a blog post URL or article into a Twitter/X thread with a strong hook, one insight per tweet, and a CTA. Optionally posts the full thread to X via Composio using a reply chain. Use when asked to turn a blog post into a tweet thread, repurpose an article for Twitter, create a thread from a blog, write a Twitter thread about a topic, or share a blog post as a thread. Trigger when a user mentions Twitter thread, X thread, tweet thread, or wants to repurpose blog content for X/Twitter.
compatibility: [claude-code, gemini-cli, github-copilot]
author: OpenDirectory
version: 1.0.0
Tweet Thread from Blog
Convert a blog post or article into a 7-10 tweet thread. One insight per tweet. Strong hook. CTA in the final tweet. Optionally post the thread directly to X via Composio.
Writing Style
Apply these rules to every tweet you write:
- Active voice only
- Conversational, like a person typed it on their phone
- Contractions required: don't, it's, won't, can't, I've
- Short sentences, one idea per tweet
- No em dashes — use a period or comma instead
- No semicolons
- No markdown or asterisks
- No hashtags anywhere in the thread
Banned words — do not use any of these: incredible, amazing, leveraging, synergize, game-changing, game changer, let's dive in, buckle up, it's worth noting, delve, harness, unlock, groundbreaking, cutting-edge, remarkable, paradigm, revolutionize, disruptive, transformative, thrilled, excited to share, powerful, innovative, comprehensive, actionable, crucial, vital, pivotal, elucidate, utilize, can, may, just, that, very, really, literally, actually, certainly, probably, basically, could, maybe
If a draft tweet contains any banned word, rewrite it before presenting.
CRITICAL RULE
Do not invent specifics. Every claim, stat, and example in the thread must come from the blog post. Never fabricate data, quotes, or outcomes.
---
Step 1: Check Setup
Confirm input is present. The user must provide one of:
- A blog post URL
- Pasted article text
If no input is present, ask: "What blog post or article should I turn into a thread? Share a URL or paste the content."
COMPOSIO_API_KEY is only needed for direct posting to X. Output-only mode works without it.
---
Step 2: Fetch and Extract Content
**If input is a URL:** Use WebFetch or Chrome DevTools MCP to fetch the page. Extract:
- Title
- Author name
- Publish date
- All body text
- Key statistics and data points
- Numbered lists or steps
- Subheadings
- Any quotes
**If input is pasted text:** Read it directly.
After fetching, identify:
- The single most surprising or counterintuitive insight
- 6-9 supporting insights, data points, or steps
- Any specific numbers, percentages, or concrete results
- The core argument or main takeaway
QA checkpoint: State the core thesis and list the top insights you will use. Confirm every insight comes directly from the source. Do not proceed if you cannot verify a claim.
---
Step 3: Choose Thread Style
Four styles. Auto-detect from content signals. Respect explicit user override.
| Style | When to Use | Signals | |-------|-------------|---------| | Data/Insight | Evidence-based article with stats or research findings | Numbers, percentages, study results, data points | | How-To | Tutorial, guide, or step-by-step article | Numbered lists, step headers, "how to" in title | | Story/Journey | Personal experience, build log, lessons learned | First-person narrative, "I learned", "we built" | | Hot Take | Opinion piece, contrarian argument | "Why X is wrong", "Stop doing X", counterintuitive claim |
Decision logic:
- Article has specific stats or data: Data/Insight
- Article is structured as steps or tips: How-To
- Article is first-person narrative: Story/Journey
- Article argues against a common belief: Hot Take
State the chosen style and reason. If ambiguous, pick one and note it.
---
Step 4: Read Format Rules
Read `references/thread-format.md` in full before writing any tweet. Internalize:
- Hook tweet rules (tweet 1 must stop the scroll)
- One-insight-per-tweet rule
- Character limit (280 per tweet, count carefully)
- Thread numbering format (1/8, 2/8, etc.)
- CTA tweet rules (final tweet only)
- No hashtags
- No em dashes
- Banned word list
Read `references/output-template.md` and select the template matching the chosen style.
---
Step 5: Generate the Thread
Produce three things:
**(A) The full thread (7-10 tweets)**
Each tweet:
- Under 280 characters including the tweet number ("1/8 " = 4 characters)
- Contains exactly one insight, step, or idea
- Sounds like a human typed it
- No URLs in tweets 1 through N-1
- No hashtags
**(B) The CTA tweet (final tweet)**
- Summarizes the key takeaway in one sentence
- Ends with one action: "Read the full post in the replies." or "What's your take?" or "Follow for more like this."
- Includes the source URL if one was provided
**(C) One alternative hook tweet**
- Uses a different format from the primary hook
- If primary used a stat, offer a question-based hook
- If primary used a bold claim, offer a before/after hook
---
Step 6: Self-QA
Run every check before presenting. Fix violations first.
- [ ] Tweet 1 creates a curiosity gap or leads with the most surprising insight
- [ ] Every tweet is under 280 characters (count including tweet number)
- [ ] Each tweet contains exactly one idea
- [ ] No tweet starts with "I" (exception: Story/Journey style)
- [ ] No banned words in any tweet
- [ ] No em dashes in any tweet
- [ ] No hashtags in any tweet
- [ ] No URLs except in the final CTA tweet
- [ ] No invented data. Every stat and example traces to the source.
- [ ] Thread reads naturally in sequence
- [ ] Total tweet count is between 7 and 10
State total tweet count and confirm every tweet is under 280 characters before presenting.
---
Step 7: Post via Composio or Output
**Check for COMPOSIO_API_KEY.**
If set: "Thread ready. Confirm to post
Read more
name: tweet-thread-from-blog description: Converts a blog post URL or article into a Twitter/X thread with a strong hook, one insight per tweet, and a CTA. Optionally posts the full thread to X via Composio using a reply chain. Use when asked to turn a blog post into a tweet thread, repurpose an article for Twitter, create a thread from a blog, write a Twitter thread about a topic, or share a blog post as a thread. Trigger when a user mentions Twitter thread, X thread, tweet thread, or wants to repurpose blog content for X/Twitter. compatibility: [claude-code, gemini-cli, github-copilot] author: OpenDirectory version: 1.0.0
Tweet Thread from Blog
Convert a blog post or article into a 7-10 tweet thread. One insight per tweet. Strong hook. CTA in the final tweet. Optionally post the thread directly to X via Composio.
Writing Style
Apply these rules to every tweet you write:
- Active voice only
- Conversational, like a person typed it on their phone
- Contractions required: don't, it's, won't, can't, I've
- Short sentences, one idea per tweet
- No em dashes — use a period or comma instead
- No semicolons
- No markdown or asterisks
- No hashtags anywhere in the thread
Banned words — do not use any of these: incredible, amazing, leveraging, synergize, game-changing, game changer, let's dive in, buckle up, it's worth noting, delve, harness, unlock, groundbreaking, cutting-edge, remarkable, paradigm, revolutionize, disruptive, transformative, thrilled, excited to share, powerful, innovative, comprehensive, actionable, crucial, vital, pivotal, elucidate, utilize, can, may, just, that, very, really, literally, actually, certainly, probably, basically, could, maybe
If a draft tweet contains any banned word, rewrite it before presenting.
CRITICAL RULE
Do not invent specifics. Every claim, stat, and example in the thread must come from the blog post. Never fabricate data, quotes, or outcomes.
---
Step 1: Check Setup
Confirm input is present. The user must provide one of:
- A blog post URL
- Pasted article text
If no input is present, ask: "What blog post or article should I turn into a thread? Share a URL or paste the content."
COMPOSIO_API_KEY is only needed for direct posting to X. Output-only mode works without it.
---
Step 2: Fetch and Extract Content
**If input is a URL:** Use WebFetch or Chrome DevTools MCP to fetch the page. Extract:
- Title
- Author name
- Publish date
- All body text
- Key statistics and data points
- Numbered lists or steps
- Subheadings
- Any quotes
**If input is pasted text:** Read it directly.
After fetching, identify:
- The single most surprising or counterintuitive insight
- 6-9 supporting insights, data points, or steps
- Any specific numbers, percentages, or concrete results
- The core argument or main takeaway
QA checkpoint: State the core thesis and list the top insights you will use. Confirm every insight comes directly from the source. Do not proceed if you cannot verify a claim.
---
Step 3: Choose Thread Style
Four styles. Auto-detect from content signals. Respect explicit user override.
| Style | When to Use | Signals | |-------|-------------|---------| | Data/Insight | Evidence-based article with stats or research findings | Numbers, percentages, study results, data points | | How-To | Tutorial, guide, or step-by-step article | Numbered lists, step headers, "how to" in title | | Story/Journey | Personal experience, build log, lessons learned | First-person narrative, "I learned", "we built" | | Hot Take | Opinion piece, contrarian argument | "Why X is wrong", "Stop doing X", counterintuitive claim |
Decision logic:
- Article has specific stats or data: Data/Insight
- Article is structured as steps or tips: How-To
- Article is first-person narrative: Story/Journey
- Article argues against a common belief: Hot Take
State the chosen style and reason. If ambiguous, pick one and note it.
---
Step 4: Read Format Rules
Read `references/thread-format.md` in full before writing any tweet. Internalize:
- Hook tweet rules (tweet 1 must stop the scroll)
- One-insight-per-tweet rule
- Character limit (280 per tweet, count carefully)
- Thread numbering format (1/8, 2/8, etc.)
- CTA tweet rules (final tweet only)
- No hashtags
- No em dashes
- Banned word list
Read `references/output-template.md` and select the template matching the chosen style.
---
Step 5: Generate the Thread
Produce three things:
**(A) The full thread (7-10 tweets)**
Each tweet:
- Under 280 characters including the tweet number ("1/8 " = 4 characters)
- Contains exactly one insight, step, or idea
- Sounds like a human typed it
- No URLs in tweets 1 through N-1
- No hashtags
**(B) The CTA tweet (final tweet)**
- Summarizes the key takeaway in one sentence
- Ends with one action: "Read the full post in the replies." or "What's your take?" or "Follow for more like this."
- Includes the source URL if one was provided
**(C) One alternative hook tweet**
- Uses a different format from the primary hook
- If primary used a stat, offer a question-based hook
- If primary used a bold claim, offer a before/after hook
---
Step 6: Self-QA
Run every check before presenting. Fix violations first.
- [ ] Tweet 1 creates a curiosity gap or leads with the most surprising insight
- [ ] Every tweet is under 280 characters (count including tweet number)
- [ ] Each tweet contains exactly one idea
- [ ] No tweet starts with "I" (exception: Story/Journey style)
- [ ] No banned words in any tweet
- [ ] No em dashes in any tweet
- [ ] No hashtags in any tweet
- [ ] No URLs except in the final CTA tweet
- [ ] No invented data. Every stat and example traces to the source.
- [ ] Thread reads naturally in sequence
- [ ] Total tweet count is between 7 and 10
State total tweet count and confirm every tweet is under 280 characters before presenting.
---
Step 7: Post via Composio or Output
**Check for COMPOSIO_API_KEY.**
If set: "Thread ready. Confirm to post
AI Agent Skills built for Founders who hate Marketing
Repo: Varnan-Tech/opendirectory
Other skills on opendirectory-gtm-skills.
- /app-store-review-arbitrage
Fetches low-star App Store and Google Play reviews, clusters them into broken-promise patterns, and generates a ranked copy brief with positioning opportunities.
Open skill - /blog-cover-image-cli
Use when the user asks to generate a blog cover image, thumbnail, or article header. Automatically uses modern typography, brand logos, and Google Search grounding to create beautiful 16:9 images with Gemini 3.1 Flash Image Preview.
Open skill - /brand-alchemy
World-class brand strategist and naming expert. Uses an interrogation-led discovery phase to extract your brand's DNA, then applies scientific naming frameworks (Phonosemantics) and automated multi-TLD domain checking.
Open skill - /claude-md-generator
Use when the user asks to generate or update a project's CLAUDE or AGENTS context file from a codebase scan. Writes a focused file under 100 lines containing only the non-obvious build commands, conventions, and gotchas Claude Code needs.
Open skill - /cold-email-verifier
Use when the user wants to verify cold emails, enrich a lead list, or autonomously guess email addresses from a CSV using ValidEmail.co or the open-source Reacher engine.
Open skill - /company-radar
Competitive intelligence orchestrator tracking companies across 8+ platforms (GitHub, Twitter, Reddit, HN, PH, YC Jobs) with heat scores and AI briefings.
Open skill

