← Back to Skills Marketplace
audsmith28

Content Repurposer

by audsmith28 · GitHub ↗ · v1.1.0
cross-platform ⚠ suspicious
1399
Downloads
1
Stars
29
Active Installs
2
Versions
Install in OpenClaw
/install content-repurposer
Description
Transform long-form content into platform-optimized snippets. Your agent takes one blog post, video transcript, or podcast notes and generates ready-to-publish Twitter threads, LinkedIn posts, email newsletters, and Instagram captions. Maintains voice consistency while adapting to each platform's format, length, and engagement patterns. Configure tone preferences, platform priorities, and output formats. Use when publishing content across multiple channels, repurposing existing material, or maximizing reach from a single piece of content.
README (SKILL.md)

Content Repurposer — Create Once, Publish Everywhere

Stop reformatting. Start publishing.

You wrote one great piece. Now you need it as a Twitter thread, LinkedIn post, newsletter section, and Instagram caption. That's 4+ hours of rewriting, reformatting, and maintaining voice consistency. Or... 30 seconds.

Content Repurposer takes your long-form content (blog post, video transcript, podcast notes, article) and automatically generates platform-optimized versions. Same core message. Different formats. Your voice throughout.

What makes it different: This isn't a template engine—it's intelligent adaptation. The skill understands what makes content perform on each platform: Twitter wants punchy hooks and thread flow, LinkedIn values professional insights and storytelling, newsletters need scannable sections and CTAs, Instagram demands visual hooks and emoji. One command. Five platforms. Ready to publish.

The Problem

Content creators face the repurpose grind:

  • ✍️ You create one killer blog post (2-3 hours)
  • 🔄 Manually reformat for Twitter (45 min)
  • 🔄 Adapt for LinkedIn (30 min)
  • 🔄 Write newsletter version (30 min)
  • 🔄 Craft Instagram caption (20 min)
  • 😤 Total: 4+ hours of reformatting, still inconsistent voice

Meanwhile your content library sits unused because repurposing is exhausting.

The Solution

repurpose.sh blog-post.md
# → twitter-thread.txt
# → linkedin-post.txt
# → newsletter.md
# → instagram-caption.txt
# → threads-post.txt (bonus!)

30 seconds. Five platforms. Your voice. Ready to copy-paste and publish.

Setup

  1. Run scripts/setup.sh to initialize config
  2. Edit ~/.config/content-repurposer/config.json with your voice settings
  3. Test with: scripts/repurpose.sh examples/sample-post.md --dry-run

Config

Config lives at ~/.config/content-repurposer/config.json. See config.example.json for full schema.

Key sections:

  • voice — Tone, style, personality (professional/casual/witty/educational)
  • platforms — Enable/disable platforms, set priorities
  • twitter — Thread length (3-10 tweets), hook style, hashtag preferences
  • linkedin — Length (1300-2000 chars), story style, B2B focus
  • newsletter — Section format, CTA style, subject line approach
  • instagram — Caption length, emoji density, hashtag count
  • output — Directory, file naming, whether to auto-copy best version to clipboard

Scripts

Script Purpose
scripts/setup.sh Initialize config directory
scripts/repurpose.sh Main script: all platforms at once
scripts/twitter-thread.sh Twitter thread only (quick iteration)
scripts/linkedin-post.sh LinkedIn post only
scripts/newsletter.sh Newsletter section only
scripts/instagram-caption.sh Instagram caption only
scripts/threads-post.sh Meta Threads post only

All scripts support --platform-specific-options for one-off customization.

How It Works

  1. Parse Input: Read long-form content (markdown, .txt, URL)
  2. Extract Core: Identify main thesis, key points, quotes, stats
  3. Platform Adapt: For each enabled platform:
    • Apply format rules (thread structure, char limits, emoji)
    • Maintain voice/tone from config
    • Add platform-specific hooks and CTAs
    • Optimize for engagement patterns
  4. Output: Save to output/ directory, optionally copy to clipboard

Platform Specs

Twitter/X Threads

  • Length: 3-10 tweets (configurable)
  • Format: Numbered or unnumbered, 280 chars/tweet
  • Hook: Bold opening tweet (question, stat, or bold claim)
  • Structure: Intro → Key points → Insight → CTA
  • Best for: Hot takes, frameworks, step-by-step guides

LinkedIn

  • Length: 1300-2000 characters (sweet spot for "see more")
  • Format: Native text, no links in post body
  • Hook: Personal story or professional insight
  • Structure: Hook → Story/Context → Value/Lesson → CTA
  • Best for: B2B insights, career lessons, thought leadership

Email Newsletter

  • Length: 200-500 words per section
  • Format: Scannable sections with headers
  • Hook: Compelling subject line + opening line
  • Structure: Subject → Hook → Key points (bullets/sections) → CTA
  • Best for: Deep dives, curated insights, personal updates

Instagram

  • Length: 150-300 characters (pre-"...more" cutoff)
  • Format: Emoji-heavy, visual language
  • Hook: Emotional or curiosity-driven first line
  • Structure: Hook → Core message → Hashtags (5-10)
  • Best for: Visual content tie-ins, motivation, quick tips

Meta Threads

  • Length: 500 characters max
  • Format: Casual, Twitter-like but longer
  • Hook: Conversational opener
  • Structure: Similar to Twitter but single post
  • Best for: Casual takes, quick insights

Voice Consistency

The skill maintains YOUR voice by using config settings:

"voice": {
  "tone": "professional-casual",
  "personality": ["direct", "insightful", "practical"],
  "avoid": ["corporate jargon", "hype", "clickbait"],
  "signature_phrases": ["Here's the thing:", "The reality:"],
  "emoji_level": "moderate"
}

Every platform adaptation respects these settings. You sound like YOU, not a template.

Example Workflow

Input: A 1500-word blog post about AI automation workflows

Output (30 seconds later):

output/
├── 2024-01-25-ai-automation/
│   ├── twitter-thread.txt        # 7-tweet thread
│   ├── linkedin-post.txt          # 1650-char post
│   ├── newsletter.md              # 3 sections with headers
│   ├── instagram-caption.txt      # 220 chars + hashtags
│   └── threads-post.txt           # 480-char casual take

Copy, paste, publish. Done.

Advanced Usage

Single Platform

twitter-thread.sh blog-post.md --tweets 5 --style bold
linkedin-post.sh blog-post.md --length short --b2b-focus

URL Input

repurpose.sh https://yourblog.com/post --platforms twitter,linkedin

Batch Processing

for file in content/*.md; do
  repurpose.sh "$file" --output archives/
done

Custom Voice (One-Off)

repurpose.sh blog-post.md --tone witty --emoji high

Pro Tips

  1. Subject Line First: For newsletters, generate 5 subject line options
  2. Hook Testing: Generate multiple opening hooks, pick the best
  3. Engagement Checklist: Does each version have a clear CTA?
  4. Platform Priority: Start with your best-performing platform
  5. Batch Days: Repurpose a month of content in one session

Data Files

~/.config/content-repurposer/
├── config.json              # User configuration
├── voice-samples.json       # Optional: your writing samples for voice training
└── platform-templates.json  # Optional: custom platform templates

Output files go to ~/content-repurposer-output/ by default (configurable).

Use Cases

  • Bloggers: Turn one post into a week of social content
  • Podcasters: Repurpose episode notes into promotional content
  • Course Creators: Transform lesson transcripts into marketing snippets
  • Consultants: Turn one insight into multi-platform thought leadership
  • Agencies: Scale content production for clients without hiring writers

What It's NOT

  • Not a content generator: You provide the source material
  • Not a scheduler: Use Buffer/Hootsuite for posting (we just create the content)
  • Not image creation: Text only (pair with DALL-E for visuals)

Why This Works

Content repurposing fails when it's:

  • Manual (too slow)
  • Template-based (sounds robotic)
  • Platform-agnostic (doesn't optimize for each channel)

This skill solves all three: fast, voice-consistent, platform-optimized.

Your content deserves more reach. Your time deserves better use.


Built for creators who value their time and their voice.

Usage Guidance
This package mostly does what it says and stores its config under your home directory, but exercise caution before running it. Steps to consider: 1) Inspect and sanitize files: open SKILL.md and every script in a text editor that makes control characters visible (e.g., show invisibles) and remove any unexpected unicode-control characters. Remove or reword lines that ask the model to "think step-by-step" or "rate your confidence" (these induce chain-of-thought and can leak internal reasoning). 2) Check dependencies: confirm jq, html2text, iconv, curl, and any clawdbot tools come from trustworthy sources. html2text and similar utilities can be installed from official repositories. 3) Test in isolation: run the scripts in a sandbox or throwaway account first (not on sensitive content). The scripts can fetch remote URLs (curl or clawdbot web_fetch) — do not give private URLs or secrets to test runs. 4) Review config: the example config stores user.name, brand, and primary_cta; avoid putting API keys or secrets into config.json. The skill does not declare any credentials, but double-check before adding them. 5) Prefer removing mock/placeholder prompts and verify how real LLM calls are made: currently the scripts include MOCK_RESPONSE placeholders; when enabled to call the platform's LLM tool, ensure the 'clawdbot' tool (or other runner) is trusted and that you understand where data is sent. If you want, I can produce a cleaned version of the prompts that remove chain-of-thought instructions and flag invisible characters, or point out exact lines to edit.
Capability Analysis
Type: OpenClaw Skill Name: content-repurposer Version: 1.1.0 The skill is classified as suspicious due to a significant prompt injection vulnerability against the underlying LLM. The shell scripts (e.g., `scripts/instagram-caption.sh`, `scripts/linkedin-post.sh`) construct LLM prompts by directly embedding values from the user's `config.json` (e.g., `voice.tone`, `user.primary_cta`) without sanitization. If an attacker could compromise or manipulate the local `config.json` file, they could inject malicious instructions into the LLM prompt, potentially leading the AI agent to perform unintended actions. While the skill itself does not exhibit malicious intent (e.g., data exfiltration, backdoors), this vulnerability allows for potential abuse if the configuration is compromised. Additionally, `repurpose.sh` uses `curl` to fetch content from arbitrary URLs, which, while necessary for its function, represents a network access capability that could be misused in a different context.
Capability Assessment
Purpose & Capability
Name/description align with the included scripts: the tool reads a source file or URL, extracts key points, and generates platform-specific outputs. Required actions (reading ~/ .config, writing outputs, calling system tools like jq/curl/html2text/pbcopy) are proportionate to the stated purpose. The config schema, platform options, and file outputs are coherent.
Instruction Scope
The scripts and SKILL.md instruct the agent to read user content and the user's config (~/.config/content-repurposer/config.json), which is expected. However, each platform prompt embedded in the scripts repeatedly asks the LLM to "think step-by-step" and "Rate your confidence" — this is an explicit chain-of-thought pattern that can prompt the model to reveal internal reasoning. The pre-scan detected unicode-control-chars in SKILL.md, which can be used to manipulate prompt parsing. These prompt patterns and hidden characters are scope-creep / prompt-injection risks and should be removed or sanitized.
Install Mechanism
There is no remote install/download — this is shipped as local scripts and an example config. That's low-risk. Note: the scripts assume external dependencies (jq, curl, html2text, iconv, pbcopy on macOS, and optionally a 'clawdbot' tool). Those dependencies are reasonable for the task but should be installed from trusted sources and audited prior to running.
Credentials
The skill declares no required environment variables or credentials and only reads a user-scoped config in ~/.config/content-repurposer/config.json. The config stores non-sensitive settings (voice, platform prefs, user.name/brand/primary_cta). No service API keys are requested. This is proportionate to the stated functionality.
Persistence & Privilege
The skill does create a config and a repurpose log under the user's home directory (normal for a CLI tool). It does not request 'always: true' and does not modify other skills or system-wide agent settings. It writes only to its own directories.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install content-repurposer
  3. After installation, invoke the skill by name or use /content-repurposer
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.1.0
v1.1.0: Full working implementation with LLM-based content transformation
v1.0.0
Initial release: Transform long-form content into platform-optimized posts
Metadata
Slug content-repurposer
Version 1.1.0
License
All-time Installs 29
Active Installs 29
Total Versions 2
Frequently Asked Questions

What is Content Repurposer?

Transform long-form content into platform-optimized snippets. Your agent takes one blog post, video transcript, or podcast notes and generates ready-to-publish Twitter threads, LinkedIn posts, email newsletters, and Instagram captions. Maintains voice consistency while adapting to each platform's format, length, and engagement patterns. Configure tone preferences, platform priorities, and output formats. Use when publishing content across multiple channels, repurposing existing material, or maximizing reach from a single piece of content. It is an AI Agent Skill for Claude Code / OpenClaw, with 1399 downloads so far.

How do I install Content Repurposer?

Run "/install content-repurposer" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Content Repurposer free?

Yes, Content Repurposer is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Content Repurposer support?

Content Repurposer is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Content Repurposer?

It is built and maintained by audsmith28 (@audsmith28); the current version is v1.1.0.

💬 Comments