← 返回 Skills 市场
audsmith28

Content Repurposer

作者 audsmith28 · GitHub ↗ · v1.1.0
cross-platform ⚠ suspicious
1399
总下载
1
收藏
29
当前安装
2
版本数
在 OpenClaw 中安装
/install 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.
使用说明 (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.

安全使用建议
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.
功能分析
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.
能力评估
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.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install content-repurposer
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /content-repurposer 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
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
元数据
Slug content-repurposer
版本 1.1.0
许可证
累计安装 29
当前安装数 29
历史版本数 2
常见问题

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. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 1399 次。

如何安装 Content Repurposer?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install content-repurposer」即可一键安装,无需额外配置。

Content Repurposer 是免费的吗?

是的,Content Repurposer 完全免费(开源免费),可自由下载、安装和使用。

Content Repurposer 支持哪些平台?

Content Repurposer 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Content Repurposer?

由 audsmith28(@audsmith28)开发并维护,当前版本 v1.1.0。

💬 留言讨论