$npx -y skills add Varnan-Tech/opendirectory --skill tweet-thread-from-blogConverts 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, crea
| 1 | # Tweet Thread from Blog |
| 2 | |
| 3 | 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. |
| 4 | |
| 5 | ## Writing Style |
| 6 | |
| 7 | Apply these rules to every tweet you write: |
| 8 | |
| 9 | - Active voice only |
| 10 | - Conversational, like a person typed it on their phone |
| 11 | - Contractions required: don't, it's, won't, can't, I've |
| 12 | - Short sentences, one idea per tweet |
| 13 | - No em dashes — use a period or comma instead |
| 14 | - No semicolons |
| 15 | - No markdown or asterisks |
| 16 | - No hashtags anywhere in the thread |
| 17 | |
| 18 | Banned words — do not use any of these: |
| 19 | 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 |
| 20 | |
| 21 | If a draft tweet contains any banned word, rewrite it before presenting. |
| 22 | |
| 23 | ## CRITICAL RULE |
| 24 | |
| 25 | Do not invent specifics. Every claim, stat, and example in the thread must come from the blog post. Never fabricate data, quotes, or outcomes. |
| 26 | |
| 27 | --- |
| 28 | |
| 29 | ## Step 1: Check Setup |
| 30 | |
| 31 | Confirm input is present. The user must provide one of: |
| 32 | - A blog post URL |
| 33 | - Pasted article text |
| 34 | |
| 35 | If no input is present, ask: "What blog post or article should I turn into a thread? Share a URL or paste the content." |
| 36 | |
| 37 | COMPOSIO_API_KEY is only needed for direct posting to X. Output-only mode works without it. |
| 38 | |
| 39 | --- |
| 40 | |
| 41 | ## Step 2: Fetch and Extract Content |
| 42 | |
| 43 | **If input is a URL:** |
| 44 | Use WebFetch or Chrome DevTools MCP to fetch the page. Extract: |
| 45 | - Title |
| 46 | - Author name |
| 47 | - Publish date |
| 48 | - All body text |
| 49 | - Key statistics and data points |
| 50 | - Numbered lists or steps |
| 51 | - Subheadings |
| 52 | - Any quotes |
| 53 | |
| 54 | **If input is pasted text:** |
| 55 | Read it directly. |
| 56 | |
| 57 | After fetching, identify: |
| 58 | - The single most surprising or counterintuitive insight |
| 59 | - 6-9 supporting insights, data points, or steps |
| 60 | - Any specific numbers, percentages, or concrete results |
| 61 | - The core argument or main takeaway |
| 62 | |
| 63 | 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. |
| 64 | |
| 65 | --- |
| 66 | |
| 67 | ## Step 3: Choose Thread Style |
| 68 | |
| 69 | Four styles. Auto-detect from content signals. Respect explicit user override. |
| 70 | |
| 71 | | Style | When to Use | Signals | |
| 72 | |-------|-------------|---------| |
| 73 | | Data/Insight | Evidence-based article with stats or research findings | Numbers, percentages, study results, data points | |
| 74 | | How-To | Tutorial, guide, or step-by-step article | Numbered lists, step headers, "how to" in title | |
| 75 | | Story/Journey | Personal experience, build log, lessons learned | First-person narrative, "I learned", "we built" | |
| 76 | | Hot Take | Opinion piece, contrarian argument | "Why X is wrong", "Stop doing X", counterintuitive claim | |
| 77 | |
| 78 | Decision logic: |
| 79 | - Article has specific stats or data: Data/Insight |
| 80 | - Article is structured as steps or tips: How-To |
| 81 | - Article is first-person narrative: Story/Journey |
| 82 | - Article argues against a common belief: Hot Take |
| 83 | |
| 84 | State the chosen style and reason. If ambiguous, pick one and note it. |
| 85 | |
| 86 | --- |
| 87 | |
| 88 | ## Step 4: Read Format Rules |
| 89 | |
| 90 | Read `references/thread-format.md` in full before writing any tweet. Internalize: |
| 91 | - Hook tweet rules (tweet 1 must stop the scroll) |
| 92 | - One-insight-per-tweet rule |
| 93 | - Character limit (280 per tweet, count carefully) |
| 94 | - Thread numbering format (1/8, 2/8, etc.) |
| 95 | - CTA tweet rules (final tweet only) |
| 96 | - No hashtags |
| 97 | - No em dashes |
| 98 | - Banned word list |
| 99 | |
| 100 | Read `references/output-template.md` and select the template matching the chosen style. |
| 101 | |
| 102 | --- |
| 103 | |
| 104 | ## Step 5: Generate the Thread |
| 105 | |
| 106 | Produce three things: |
| 107 | |
| 108 | **(A) The full thread (7-10 tweets)** |
| 109 | |
| 110 | Each tweet: |
| 111 | - Under 280 characters including the tweet number ("1/8 " = 4 characters) |
| 112 | - Contains exactly one insight, step, or idea |
| 113 | - Sounds like a human typed it |
| 114 | - No URLs in tweets 1 through N-1 |
| 115 | - No hashtags |
| 116 | |
| 117 | **(B) The CTA tweet (final tweet)** |
| 118 | - Summarizes the key takeaway in one sentence |
| 119 | - Ends with one action: "Read the full post in the replies." or "What's your take?" or "Follow for more like this." |
| 120 | - Includes the source URL if one was provided |
| 121 | |
| 122 | **(C) One alternative hook tweet** |
| 123 | - Uses a |