Turn any blog post or article into a Twitter/X thread. The agent reads the content, picks the right thread style, and writes 7-10 tweets with a strong hook, one insight per tweet, and a CTA. Optionally posts the full thread to X via Composio using a reply chain.
No global install. Always runs the latest version.
npx "@opendirectory.dev/skills" install tweet-thread-from-blog --target claudenpx skills add Varnan-Tech/opendirectory --skill tweet-thread-from-blogRequires Node.js. Add --global to install to ~/.claude/skills/ instead of the current project.
install-skill-on-claude-compressed.mp4
Step 1: Download the skill from GitHub
- Copy the URL of this specific skill folder from your browser's address bar.
- Go to download-directory.github.io.
- Paste the URL and click Enter to download.
Step 2: Install in Claude
- Open your Claude desktop app.
- Go to the sidebar on the left side and click on the Customize section.
- Click on the Skills tab, then click on the + button to create a new skill.
- Choose Upload a skill, then drag and drop the
.zipfile or extracted folder.
Note: For some skills, the
SKILL.mdfile might be located inside a subfolder. Always upload the specific folder that contains theSKILL.mdfile.
Run these commands inside Claude Code:
/plugin marketplace add Varnan-Tech/opendirectory
/plugin install opendirectory-gtm-skills@opendirectory-marketplaceManusAI-one-click-installation-demo-compressed.mp4
Manus AI users can import a skill directly from its OpenDirectory skill page. This is the easiest path when you want Manus to pull the skill from GitHub for you.
- Open the skill you want from the opendirectory homepage.
- In the install panel, select the Manus AI tab.
- Click Install in Manus AI - this opens Manus with the skill GitHub URL already attached.
- Confirm the import inside Manus AI.
If your Manus workspace prefers file uploads, use the Download tab instead and upload the downloaded
.skill.zipfile inside Manus.
| Style | Use When | Example Input |
|---|---|---|
| Data/Insight | Evidence-based article with stats or research findings | Engineering blog post with benchmark numbers |
| How-To | Tutorial or step-by-step guide | "How to set up X in 10 minutes" post |
| Story/Journey | Personal experience, build log, lessons learned | Indie hacker retrospective |
| Hot Take | Opinion piece, contrarian argument | "Why X is wrong" editorial |
The agent auto-detects the right style. Override it by specifying the style in your prompt.
No LLM API key needed. The agent reads the page and writes the thread.
Note on X/Twitter posting: Twitter's API v2 now requires a paid developer account (Basic tier, $100/month minimum). As a result, the Composio Twitter integration returns a 403 error for most users. The skill still generates complete, ready-to-post threads — just copy-paste them manually. Direct posting via Composio is documented below but is only viable if you have a paid Twitter developer account connected.
cp .env.example .env
# Add COMPOSIO_API_KEY if you want direct posting to XTwitter's API v2 now requires a paid developer account before Composio can post on your behalf. If you get a 403 error, this is why. Skip this step and use copy-paste output instead.
- Sign up for Twitter Developer Portal (Basic tier, ~$100/month): https://developer.twitter.com/en/portal/products
- Get your Composio API key at: https://app.composio.dev/settings
- Connect your X/Twitter account at: https://app.composio.dev/app/twitter
- Complete the OAuth flow
From a URL:
"Turn this into a tweet thread: https://example.com/blog/post"
"Create a Twitter thread from this article: https://example.com/post"
"Write a tweet thread about this blog post: https://example.com/tutorial"
From pasted content:
"Make a thread from this: [paste article text]"
"Turn this into a Twitter thread: [paste blog post]"
With a style override:
"Turn this into a How-To thread: https://example.com/data-article"
"Write a Hot Take thread from this: https://example.com/opinion"
With direct posting (requires paid Twitter developer account + Composio setup):
"Post this blog post as a Twitter thread: https://example.com/post"
| Output | Description |
|---|---|
| Full thread | 7-10 numbered tweets, each under 280 characters |
| Alternative hook | A second hook tweet in a different format |
| Posted confirmation | If COMPOSIO_API_KEY is set and you confirm, the thread posts as a reply chain on X |
Hook first. Tweet 1 leads with the most surprising insight or a curiosity gap. It never announces the thread.
One idea per tweet. If a tweet can be split, it gets split. Each tweet stands alone.
Numbered throughout. Every tweet starts with its position: "1/8", "2/8", etc.
CTA last. The final tweet is the only one with a URL or call to action.
No hashtags. Hashtags reduce the quality signal of technical threads.
tweet-thread-from-blog/
├── SKILL.md
├── README.md
├── .env.example
├── evals/
│ └── evals.json
└── references/
├── thread-format.md
└── output-template.md
MIT