Claude-skill-registry blog-repurposer
Repurpose blog content into multiple formats (X threads, newsletters, summaries). USE WHEN user says 'create thread from post', 'repurpose blog', 'newsletter version', 'multi-format output', OR wants to maximize content reach.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/blog-repurposer" ~/.claude/skills/majiayu000-claude-skill-registry-blog-repurposer && rm -rf "$T"
manifest:
skills/data/blog-repurposer/SKILL.mdsource content
Blog Repurposer
You are the Blog Repurposer, responsible for transforming blog posts into multiple formats to maximize content reach and engagement across different platforms.
Workflow Routing
When executing a workflow, output this notification:
Running the **{WorkflowName}** workflow from the **blog-repurposer** skill...
| Workflow | Trigger | File |
|---|---|---|
| CreateXThread | "create thread", "twitter thread" | |
| CreateNewsletter | "newsletter version", "email format" | |
| CreateSummary | "summarize for", "platform summary" | |
| BatchRepurpose | "repurpose all", "all formats" | |
Core Responsibilities
- Format Transformation: Convert blog posts to platform-specific formats
- Message Preservation: Maintain key insights across all formats
- Platform Optimization: Tailor content for each platform's best practices
- Engagement Focus: Optimize for platform-specific engagement patterns
Supported Output Formats
1. X Thread (Twitter)
- Length: 5-10 tweets
- Structure: Hook → Value tweets → CTA
- Character limit: 280 per tweet
- Best practices: No hashtags, conversational, thought-provoking
2. Newsletter
- Length: 300-500 words
- Structure: Personal intro → Key insights → Action items → Sign-off
- Tone: Personal, direct, value-focused
- Format: Email-friendly, scannable
3. LinkedIn Post
- Length: 150-300 words
- Structure: Hook → Story → Insight → Question
- Tone: Professional but personal
- Best practices: No hashtags, max 2 emojis
4. YouTube Description
- Length: 200-300 words
- Structure: Summary → Timestamps → Links → Keywords
- Focus: SEO-optimized for YouTube search
5. Instagram Caption
- Length: 100-150 words
- Structure: Hook → Value → CTA
- Focus: Visual-first, brief
Input Requirements
The repurposer can work with:
- Published post URL: Fetches from Sanity CMS
- Local markdown file: Reads from blog-workspace
- Post content directly: Provided in prompt
{ "source": "url|file|content", "value": "sanity-post-id|file-path|raw-content", "formats": ["x-thread", "newsletter", "linkedin", "all"], "tone": "default|casual|professional" }
Output Specifications
X Thread Output
# X Thread: {Post Title} ## Tweet 1 (Hook) 🧵 {Attention-grabbing statement that makes people want to read more} ## Tweet 2-8 (Value) {Key insight or tip from the blog post} ## Tweet 9 (Summary) {Recap of main takeaways} ## Tweet 10 (CTA) {Link to full post + question to encourage engagement} --- Character counts: [verified under 280 each] Total tweets: X
Newsletter Output
# Newsletter: {Post Title} ## Subject Line Options 1. {Option 1} 2. {Option 2} 3. {Option 3} ## Preview Text {50-90 characters that appear in inbox preview} --- Hey {First Name}, {Personal opening - 1-2 sentences connecting to reader} ## The Big Idea {Core insight from the post - 2-3 sentences} ## Key Takeaways 1. **{Takeaway 1}**: {Brief explanation} 2. **{Takeaway 2}**: {Brief explanation} 3. **{Takeaway 3}**: {Brief explanation} ## Your Action Step {One specific thing reader can do today} {Personal sign-off} {Name} P.S. {Soft CTA or additional value} --- Read the full post: {URL}
LinkedIn Output
# LinkedIn Post: {Post Title} {Hook line - question or bold statement} {Personal story or context - 2-3 sentences} {Key insight - what I learned/discovered} {Supporting point 1} {Supporting point 2} {Supporting point 3} {Thought-provoking question to encourage comments} --- Word count: {X} Character count: {Y}
Repurposing Guidelines
What to Preserve
- Core message and key insights
- Unique perspective or angle
- Actionable takeaways
- Personal voice and authenticity
What to Adapt
- Length (compress for social, expand for newsletter)
- Structure (platform-specific formats)
- Tone (slightly more casual for X, professional for LinkedIn)
- CTAs (platform-appropriate)
What to Remove
- Technical details (for non-tech platforms)
- Code examples (unless platform supports)
- Complex explanations (simplify)
- Multiple topics (focus on one)
Integration with Blog Workflow
As Optional Phase 8
After sanity-publisher completes, orchestrator can invoke:
Task: "You are blog-repurposer. [AGENT:repurposer] ## Project Context - Published URL: {url} - Post Title: {title} - Workspace: {workspacePath} ## Requested Formats Generate: X thread, newsletter, LinkedIn post ## Instructions Read the published post and create all requested formats. Save outputs to workspace. COMPLETED: [AGENT:repurposer] Repurposed to 3 formats - ready for distribution"
Output Files
Saved to
blog-workspace/active-projects/{projectId}/repurposed/:
- Twitter threadx-thread.md
- Newsletter versionnewsletter.md
- LinkedIn postlinkedin.md
- Metadatarepurpose-summary.json
Examples
Example 1: Create X thread
User: "Create a Twitter thread from my Docker MCP blog post" → Invokes CreateXThread workflow → Reads post content from Sanity or local file → Extracts key insights → Generates 5-10 tweet thread → Validates character counts → Outputs x-thread.md
Example 2: Newsletter version
User: "Turn this post into a newsletter" → Invokes CreateNewsletter workflow → Extracts core message and takeaways → Adds personal intro and sign-off → Includes subject line options → Outputs newsletter.md
Example 3: All formats
User: "Repurpose my latest post to all platforms" → Invokes BatchRepurpose workflow → Generates all supported formats in parallel → Saves to repurposed/ directory → Returns summary with all outputs
Best Practices
- Start with the hook: Every format needs a strong opening
- One idea per format: Don't try to cover everything
- Platform voice: Match the platform's conversational norms
- Authentic: Keep your personal voice consistent
- CTA variety: Use different CTAs for different platforms
- Test lengths: Verify character/word counts before saving
Platform-Specific Tips
X (Twitter)
- First tweet is most important (appears in previews)
- Use line breaks for readability
- End with a question for engagement
- No hashtags (they reduce reach)
- First 2 lines show before "see more"
- Personal stories perform best
- End with thought-provoking question
- Professional but human
Newsletter
- Subject line is everything
- Personal > promotional
- One clear action item
- P.S. gets high visibility