# Repurpose

> Repurpose any Instagram reel into a new script. Downloads, transcribes, keeps the original hook, and rewrites the body in your voice or toward a new angle.

- Skill: `tenfoldmarc/repurpose` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add tenfoldmarc/repurpose`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tenfoldmarc/repurpose/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tenfoldmarc (https://skillmd.com/u/tenfoldmarc)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tenfoldmarc/repurpose

---


# Repurpose Skill

## Purpose

Take any Instagram reel, keep what makes it work (the hook), and rewrite the rest — either in your voice or toward a new angle/context you specify. No re-inventing the wheel. Just steal smart.

## Step 0 — First-Time Setup

Check if `~/.claude/skills/repurpose/config.json` exists.

**If it exists:** Read it, load preferences. Skip to Step 1.

**If it does NOT exist:** Run this setup:

1. Say:
   ```
   Welcome to /repurpose! Let's get you set up. This takes about 2 minutes and only happens once.
   ```

2. Check required CLI tools:
   - Run `which yt-dlp` — if missing: "Install with: `pip3 install yt-dlp`"
   - Run `which ffmpeg` — if missing: "Install with: `brew install ffmpeg` (Mac) or `sudo apt install ffmpeg` (Linux)"
   - Run `which whisper` — if missing: "Install with: `pip3 install openai-whisper`"
   - If ANY are missing, tell the user exactly what to install and **stop**. All three are required.

3. Ask:
   - "What's your name?" (for CTA sign-offs)
   - "Describe your voice style in 2-3 sentences." (e.g. "Direct, casual, no corporate speak. Short punchy sentences. I use real numbers and results.")
   - "What's your niche/audience?" (e.g. "business owners who want to automate", "fitness professionals")
   - "What's your default CTA?" (e.g. "Comment AUTOMATE for the free guide", "Link in bio for the full breakdown")

4. Check for a voice file:
   - Check if `~/.claude/skills/repurpose/voice.md` exists
   - If not, create one from what they just told you:
     ```markdown
     # Voice Guide

     **Style:** [their description]
     **Niche:** [their niche]
     **Default CTA:** [their CTA]

     ## Banned Phrases
     - "journey"
     - "game-changer"
     - "in today's world"
     - "authentic"
     - "leverage your personal brand"

     (Add more banned phrases as you use the skill — edit this file anytime.)
     ```

5. Save config:
   ```json
   {
     "name": "User Name",
     "niche": "their niche",
     "defaultCTA": "their default CTA",
     "setupComplete": true,
     "setupDate": "2026-03-26"
   }
   ```

6. Say: "Setup complete! Now give me a reel URL and let's repurpose it."

---

## Trigger

User types `/repurpose [instagram_reel_url]`

Example: `/repurpose https://www.instagram.com/reel/DVZrETBDQSw/`

## Workflow

### Step 1 — Ask before doing anything

Before downloading or transcribing, ask this exact question:

> "Should I adapt this to your voice, or do you have a specific angle or context you want me to aim for?"

Wait for the answer. Do not download anything yet.

- If they say **"my voice"** or similar → use their voice guide from `~/.claude/skills/repurpose/voice.md`
- If they give a **specific angle or context** → note it and use it to guide the rewrite

### Step 2 — Download the reel

```bash
yt-dlp "[URL]" -o /tmp/repurpose_reel.mp4 --merge-output-format mp4 -q
```

If download fails → tell the user and stop.

### Step 3 — Transcribe

```bash
whisper /tmp/repurpose_reel.mp4 --model base --output_format txt --output_dir /tmp/ --fp16 False
```

Read output from `/tmp/repurpose_reel.txt`.

### Step 4 — Extract the hook

The hook = the **first 1–3 sentences** (roughly the first 5–10 seconds).

Keep it verbatim or as close as possible. The hook is what stopped the scroll — don't mess with it unless the user asks.

### Step 5 — Rewrite the body

Strip everything after the hook. Rewrite in the user's voice OR toward the specified angle/context.

**Rules for the rewrite:**
- Keep the hook verbatim (or near-verbatim)
- Same energy and pacing as the original
- Strip the original creator's specific branding, tool names only they use, or irrelevant references
- Replace with the user's examples, tools, and audience context (from config and voice.md)
- Declarative content only — show the WHAT, never teach the HOW (that's the product)
- Under 100 words total
- End with the user's CTA (from config, or ask if none saved)

### Step 6 — Output the script

Present as:

```
**HOOK** (kept from original)
[hook text]

**BODY**
[rewritten body]

**CTA**
[user's CTA]
```

Then ask: "Want me to punch up the hook, try a different angle, or save this hook to your database?"

## Voice Rules

Read `~/.claude/skills/repurpose/voice.md` for the user's voice guide. Follow it strictly. Key defaults:

- Direct, casual, no corporate speak
- Short sentences. Punchy.
- Real numbers and results anchor the body when available
- Never teach the HOW in free content — show the WHAT
- Avoid all banned phrases listed in voice.md

## Hooks Database Integration

After delivering the script, always offer to save the original hook:
> "Want me to save that hook to your database? Just say yes and I'll add it."

If yes → extract hook, identify type, append to `~/.claude/skills/repurpose/hooks.md`. Create the file if it doesn't exist.

Format:
```markdown
### [Source Handle] — [Date]
**Hook:** "[the hook text]"
**Type:** [hook type — e.g. curiosity gap, bold claim, pattern interrupt]
**Why it works:** [one sentence]
```

## Cleanup

After transcription, clean up temp files:
```bash
rm -f /tmp/repurpose_reel.mp4 /tmp/repurpose_reel.txt
```

---
Built by [@tenfoldmarc](https://instagram.com/tenfoldmarc). Follow for daily AI automation builds — real systems, not theory.

