Repurpose skill
Take one master content piece (Notion row, transcript, video, paragraph, URL) and spin off variants across channels.
by timscheuerai·MIT license·★ 37 Stars on the repo·GitHub ↗
npx degit timscheuerai/content-vault/skills/repurpose#main ~/.claude/skills/repurposeChecked ·commit main
Inside this skill
SKILL.md · the author's own words# repurpose The marketing repurposing engine. One master → N channel variants in the Notion Content database. Hub-and-spoke, anchored on big-rock content (webinars, talking-head videos, long-form articles). ## When to use Trigger on: - "Repurpose this [post / video / webinar / transcript]" - "Turn this into LinkedIn + X variants" - "Make derivatives of <source>" - "Spin off variants of this" - User explicitly types `/repurpose [source]` Skip for:
Word-for-word excerpt, not a result. Read the full SKILL.md ↓
Files of Repurpose
Show the full text210 lines
repurpose
The marketing repurposing engine. One master → N channel variants in the Notion Content database. Hub-and-spoke, anchored on big-rock content (webinars, talking-head videos, long-form articles).
When to use
Trigger on:
- "Repurpose this [post / video / webinar / transcript]"
- "Turn this into LinkedIn + X variants"
- "Make derivatives of "
- "Spin off variants of this"
- User explicitly types
/repurpose [source]
Skip for:
- One-off content generation (call
/linkedin-copywriter,/x-copywriter,/launch-video,/video-usedirectly) - Editing an already-published piece (no derivative work needed)
Inputs
The source can be:
- Notion row URL or ID in the Content DB. Read its title, body, pillar, drive assets. The row is the master.
- Transcript file (
.txt,.md,.srt,.vtt). Often produced by/video-use. - Video file (
.mp4). Run/video-useto transcribe first, then repurpose from the transcript. - Pasted text in the prompt.
- External URL (web article, YouTube, etc.). Fetch + parse.
Plus targets (default: LinkedIn + X). Optional: YouTube short clip, Newsletter, Lead Magnet, Blog (Website).
Workflow
1. Read the source
If Notion row URL → mcp__claude_ai_Notion__notion-fetch with the row
ID. Capture: Title, Pillar, Format, page body, Drive Assets, master
URL.
If transcript / pasted text → read directly.
If video file → call /video-use to transcribe first, then continue
with the transcript.
If external URL → WebFetch to pull the content.
2. Extract key moments
From the source, identify:
- 3 to 5 hooks (sentences or punchy moments that could anchor a post)
- 2 to 3 frameworks or numbered lists (good for carousels + threads)
- 1 to 2 quotable one-liners
- The core insight / argument
These are inputs for the sub-skills. Stay in your voice (refer to the
corpora in /linkedin-copywriter and /x-copywriter).
3. Plan the cluster
Tell the user what variants you intend to create and let them prune. Default suggestions by source type are below ("Repurposing patterns").
If the user already specified channels, skip the prompt and proceed.
4. Generate each variant
For each target, call the right sub-skill via the Skill tool, passing the source context:
| Target | Sub-skill |
|---|---|
| LinkedIn text post | /linkedin-copywriter |
| X tweet or thread | /x-copywriter |
| Lead magnet PDF | /lead-magnet-creator |
| YouTube short clip | /video-use (cut from source video) |
| Synthetic motion graphic | /launch-video |
| Long-form article | manual draft (no skill yet) |
Pass each sub-skill the source context (Notion row URL or transcript excerpt + the specific hook / framework / insight to anchor on). Capture the draft.
5. Create Notion rows
For each variant, call
mcp__claude_ai_Notion__notion-create-pages with the Content DB data
source ID <YOUR_NOTION_CONTENT_DB_ID> and a page body
starting with the source link.
Per-row properties:
- Title:
<topic> · <Channel>(e.g.,Outbound stack 3 Wochen · LinkedIn) - Status:
Scripting - Pillar: same multi-select as master
- Format: per variant (
Text/Video/Lead Magnet/Long-form Article) - Channel: per variant
- Page body: first line =
Source: <master row URL or external URL>· then the draft
If a variant has assets (clipped video, generated PDF), upload to the
right Drive folder (e.g. <YOUR_DRIVE_VIDEOS_FOLDER>,
<YOUR_DRIVE_GRAPHICS_FOLDER>, <YOUR_DRIVE_LEAD_MAGNETS_FOLDER>)
and paste the Drive viewUrl into Drive Assets.
6. Report back
One-line summary plus the list of created rows with their Notion URLs. Example:
Created 5 variants from "Outbound stack · webinar". Open the Pipeline
view (Status=Scripting):
- Outbound stack 3 Wochen · LinkedIn → notion.so/...
- Outbound stack 3 Wochen · LinkedIn (recap) → notion.so/...
- Outbound stack · X thread → notion.so/...
- Outbound stack · YouTube short → notion.so/...
- Outbound stack framework · Lead Magnet → notion.so/...
Repurposing patterns (defaults)
Webinar → cluster
| Variant | Format | Channel | Source content |
|---|---|---|---|
| Pre-event promo | Text | Title + hook + date + registration link | |
| Post-event recap | Text | Top 3 takeaways | |
| Quote post | Text | Best one-liner from transcript | |
| Thread breakdown | Text | X | Numbered list of tactics |
| Single hot take | Text | X | Most provocative one-liner |
| Short clip | Video | YouTube | 60s highlight (use /video-use) |
| Recap article | Long-form Article | Website | Full prose summary |
| Framework PDF | Lead Magnet | Website | Distill the framework |
LinkedIn post → cluster
| Variant | Format | Channel | Notes |
|---|---|---|---|
| X variant | Text | X | Same insight, X register |
| X thread (if rich) | Text | X | Break LI post into numbered points |
| Newsletter blurb | Text | Newsletter | Same insight, more context |
Long-form article → cluster
| Variant | Format | Channel | Notes |
|---|---|---|---|
| 3 LinkedIn pulls | Text | One per key section | |
| X thread | Text | X | TL;DR breakdown |
| Newsletter issue | Text | Newsletter | Re-cut for the list |
Lead magnet → cluster
| Variant | Format | Channel | Notes |
|---|---|---|---|
| Lead magnet PDF | Lead Magnet | Website | Master · use /lead-magnet-creator |
| LinkedIn promo | Text | "We just shipped this · grab it" | |
| X promo | Text | X | Same |
| Webinar tease | Text | "Live walkthrough on <date>" |
Cluster traceability
No Notion relation between master and derivatives (intentional · dumb-simple by design). Link via convention:
- First line of every derivative's page body:
Source: <master URL> - Pillars match the master (multi-select copied verbatim)
To find a cluster later: search Notion for the master URL string. Or filter rows where Pillar matches and Created Date is within a few days of the master.
If clusters become hard to track, you can add a self-relation on the Content DB later.
Don'ts
- Don't auto-fan to every channel. Suggest the defaults from the patterns table; let the user prune before generation.
- Don't lose the source. Always inject
Source: <URL>as the first line of each variant's page body. - Don't translate verbatim across channels. Each channel has its own register · the sub-skills handle that. Pass them the raw insight, not pre-formatted copy.
- Don't override an existing draft. If the master Notion row already has body content, surface it; don't regenerate from scratch unless the user asks.
- Don't create variants without setting Status = Scripting. They start in review, not scheduled.
- Don't skip the asset upload step. If a variant has a Drive-bound
asset (PDF, video clip), upload it before creating the Notion row so
the URL goes into
Drive Assetsat creation time.
See also
- Notion Content DB data source ID:
<YOUR_NOTION_CONTENT_DB_ID> - Sub-skills:
/linkedin-copywriter,/x-copywriter,/launch-video,/video-use,/lead-magnet-creator
| 1 | |
| 2 | name repurpose |
| 3 | description Take one master content piece (Notion row, transcript, video, paragraph, URL) and spin off variants across channels. Hub-and-spoke repurposing engine. Reads the source, identifies key insights / hooks / quotable moments, then creates child rows in the Notion Content DB with drafts already written by calling sub-skills (linkedin-copywriter, x-copywriter, lead-magnet-creator, etc.). Use when asked to "repurpose this", "spin off variants", "turn this into LinkedIn + X + ...", "make derivatives of this webinar / video / post", or "/repurpose". |
| 4 | |
| 5 | |
| 6 | # repurpose |
| 7 | |
| 8 | The marketing repurposing engine. One master → N channel variants in |
| 9 | the Notion Content database. Hub-and-spoke, anchored on big-rock |
| 10 | content (webinars, talking-head videos, long-form articles). |
| 11 | |
| 12 | ## When to use |
| 13 | |
| 14 | Trigger on: |
| 15 | "Repurpose this [post / video / webinar / transcript]" |
| 16 | "Turn this into LinkedIn + X variants" |
| 17 | "Make derivatives of <source>" |
| 18 | "Spin off variants of this" |
| 19 | User explicitly types `/repurpose [source]` |
| 20 | |
| 21 | Skip for: |
| 22 | One-off content generation (call `/linkedin-copywriter`, |
| 23 | `/x-copywriter`, `/launch-video`, `/video-use` directly) |
| 24 | Editing an already-published piece (no derivative work needed) |
| 25 | |
| 26 | ## Inputs |
| 27 | |
| 28 | The source can be: |
| 29 | **Notion row URL or ID** in the Content DB. Read its title, body, |
| 30 | pillar, drive assets. The row is the master. |
| 31 | **Transcript file** (`.txt`, `.md`, `.srt`, `.vtt`). Often produced |
| 32 | by `/video-use`. |
| 33 | **Video file** (`.mp4`). Run `/video-use` to transcribe first, then |
| 34 | repurpose from the transcript. |
| 35 | **Pasted text** in the prompt. |
| 36 | **External URL** (web article, YouTube, etc.). Fetch + parse. |
| 37 | |
| 38 | Plus targets (default: LinkedIn + X). Optional: YouTube short clip, |
| 39 | Newsletter, Lead Magnet, Blog (Website). |
| 40 | |
| 41 | ## Workflow |
| 42 | |
| 43 | ### 1. Read the source |
| 44 | |
| 45 | If Notion row URL → `mcp__claude_ai_Notion__notion-fetch` with the row |
| 46 | ID. Capture: Title, Pillar, Format, page body, Drive Assets, master |
| 47 | URL. |
| 48 | |
| 49 | If transcript / pasted text → read directly. |
| 50 | |
| 51 | If video file → call `/video-use` to transcribe first, then continue |
| 52 | with the transcript. |
| 53 | |
| 54 | If external URL → `WebFetch` to pull the content. |
| 55 | |
| 56 | ### 2. Extract key moments |
| 57 | |
| 58 | From the source, identify: |
| 59 | 3 to 5 **hooks** (sentences or punchy moments that could anchor a |
| 60 | post) |
| 61 | 2 to 3 **frameworks** or numbered lists (good for carousels + |
| 62 | threads) |
| 63 | 1 to 2 **quotable one-liners** |
| 64 | The **core insight** / argument |
| 65 | |
| 66 | These are inputs for the sub-skills. Stay in your voice (refer to the |
| 67 | corpora in `/linkedin-copywriter` and `/x-copywriter`). |
| 68 | |
| 69 | ### 3. Plan the cluster |
| 70 | |
| 71 | Tell the user what variants you intend to create and let them prune. |
| 72 | Default suggestions by source type are below ("Repurposing patterns"). |
| 73 | |
| 74 | If the user already specified channels, skip the prompt and proceed. |
| 75 | |
| 76 | ### 4. Generate each variant |
| 77 | |
| 78 | For each target, call the right sub-skill via the Skill tool, passing |
| 79 | the source context: |
| 80 | |
| 81 | | Target | Sub-skill | |
| 82 | | ----------------------- | ------------------------ | |
| 83 | | LinkedIn text post | `/linkedin-copywriter` | |
| 84 | | X tweet or thread | `/x-copywriter` | |
| 85 | | Lead magnet PDF | `/lead-magnet-creator` | |
| 86 | | YouTube short clip | `/video-use` (cut from source video) | |
| 87 | | Synthetic motion graphic | `/launch-video` | |
| 88 | | Long-form article | manual draft (no skill yet) | |
| 89 | |
| 90 | Pass each sub-skill the source context (Notion row URL or transcript |
| 91 | excerpt + the specific hook / framework / insight to anchor on). |
| 92 | Capture the draft. |
| 93 | |
| 94 | ### 5. Create Notion rows |
| 95 | |
| 96 | For each variant, call |
| 97 | `mcp__claude_ai_Notion__notion-create-pages` with the Content DB data |
| 98 | source ID `<YOUR_NOTION_CONTENT_DB_ID>` and a page body |
| 99 | starting with the source link. |
| 100 | |
| 101 | Per-row properties: |
| 102 | |
| 103 | **Title**: `<topic> · <Channel>` (e.g., `Outbound stack 3 Wochen · LinkedIn`) |
| 104 | **Status**: `Scripting` |
| 105 | **Pillar**: same multi-select as master |
| 106 | **Format**: per variant (`Text` / `Video` / `Lead Magnet` / |
| 107 | `Long-form Article`) |
| 108 | **Channel**: per variant |
| 109 | **Page body**: first line = `Source: <master row URL or external URL>` |
| 110 | · then the draft |
| 111 | |
| 112 | If a variant has assets (clipped video, generated PDF), upload to the |
| 113 | right Drive folder (e.g. `<YOUR_DRIVE_VIDEOS_FOLDER>`, |
| 114 | `<YOUR_DRIVE_GRAPHICS_FOLDER>`, `<YOUR_DRIVE_LEAD_MAGNETS_FOLDER>`) |
| 115 | and paste the Drive `viewUrl` into `Drive Assets`. |
| 116 | |
| 117 | ### 6. Report back |
| 118 | |
| 119 | One-line summary plus the list of created rows with their Notion URLs. |
| 120 | Example: |
| 121 | |
| 122 | |
| 123 | Created 5 variants from "Outbound stack · webinar". Open the Pipeline |
| 124 | view (Status=Scripting): |
| 125 | - Outbound stack 3 Wochen · LinkedIn → notion.so/... |
| 126 | - Outbound stack 3 Wochen · LinkedIn (recap) → notion.so/... |
| 127 | - Outbound stack · X thread → notion.so/... |
| 128 | - Outbound stack · YouTube short → notion.so/... |
| 129 | - Outbound stack framework · Lead Magnet → notion.so/... |
| 130 | |
| 131 | |
| 132 | ## Repurposing patterns (defaults) |
| 133 | |
| 134 | ### Webinar → cluster |
| 135 | |
| 136 | | Variant | Format | Channel | Source content | |
| 137 | | --------------------- | ------------------ | ---------- | ------------------------------------ | |
| 138 | | Pre-event promo | Text | LinkedIn | Title + hook + date + registration link | |
| 139 | | Post-event recap | Text | LinkedIn | Top 3 takeaways | |
| 140 | | Quote post | Text | LinkedIn | Best one-liner from transcript | |
| 141 | | Thread breakdown | Text | X | Numbered list of tactics | |
| 142 | | Single hot take | Text | X | Most provocative one-liner | |
| 143 | | Short clip | Video | YouTube | 60s highlight (use /video-use) | |
| 144 | | Recap article | Long-form Article | Website | Full prose summary | |
| 145 | | Framework PDF | Lead Magnet | Website | Distill the framework | |
| 146 | |
| 147 | ### LinkedIn post → cluster |
| 148 | |
| 149 | | Variant | Format | Channel | Notes | |
| 150 | | -------------------- | ------ | ---------- | ------------------------------------ | |
| 151 | | X variant | Text | X | Same insight, X register | |
| 152 | | X thread (if rich) | Text | X | Break LI post into numbered points | |
| 153 | | Newsletter blurb | Text | Newsletter | Same insight, more context | |
| 154 | |
| 155 | ### Long-form article → cluster |
| 156 | |
| 157 | | Variant | Format | Channel | Notes | |
| 158 | | -------------------- | ------ | ---------- | ------------------------------------ | |
| 159 | | 3 LinkedIn pulls | Text | LinkedIn | One per key section | |
| 160 | | X thread | Text | X | TL;DR breakdown | |
| 161 | | Newsletter issue | Text | Newsletter | Re-cut for the list | |
| 162 | |
| 163 | ### Lead magnet → cluster |
| 164 | |
| 165 | | Variant | Format | Channel | Notes | |
| 166 | | -------------------- | ------------- | ---------- | -------------------------------- | |
| 167 | | Lead magnet PDF | Lead Magnet | Website | Master · use /lead-magnet-creator | |
| 168 | | LinkedIn promo | Text | LinkedIn | "We just shipped this · grab it" | |
| 169 | | X promo | Text | X | Same | |
| 170 | | Webinar tease | Text | LinkedIn | "Live walkthrough on <date>" | |
| 171 | |
| 172 | ## Cluster traceability |
| 173 | |
| 174 | No Notion relation between master and derivatives (intentional · |
| 175 | dumb-simple by design). Link via convention: |
| 176 | |
| 177 | First line of every derivative's page body: `Source: <master URL>` |
| 178 | Pillars match the master (multi-select copied verbatim) |
| 179 | |
| 180 | To find a cluster later: search Notion for the master URL string. Or |
| 181 | filter rows where Pillar matches and Created Date is within a few days |
| 182 | of the master. |
| 183 | |
| 184 | If clusters become hard to track, you can add a self-relation on the |
| 185 | Content DB later. |
| 186 | |
| 187 | ## Don'ts |
| 188 | |
| 189 | **Don't auto-fan to every channel.** Suggest the defaults from the |
| 190 | patterns table; let the user prune before generation. |
| 191 | **Don't lose the source.** Always inject `Source: <URL>` as the first |
| 192 | line of each variant's page body. |
| 193 | **Don't translate verbatim across channels.** Each channel has its own |
| 194 | register · the sub-skills handle that. Pass them the raw insight, not |
| 195 | pre-formatted copy. |
| 196 | **Don't override an existing draft.** If the master Notion row |
| 197 | already has body content, surface it; don't regenerate from scratch |
| 198 | unless the user asks. |
| 199 | **Don't create variants without setting Status = Scripting.** They |
| 200 | start in review, not scheduled. |
| 201 | **Don't skip the asset upload step.** If a variant has a Drive-bound |
| 202 | asset (PDF, video clip), upload it before creating the Notion row so |
| 203 | the URL goes into `Drive Assets` at creation time. |
| 204 | |
| 205 | ## See also |
| 206 | |
| 207 | Notion Content DB data source ID: `<YOUR_NOTION_CONTENT_DB_ID>` |
| 208 | Sub-skills: `/linkedin-copywriter`, `/x-copywriter`, `/launch-video`, |
| 209 | `/video-use`, `/lead-magnet-creator` |
| 210 |
Discussion
Alternatives
Browse more free Claude skills or everything in Content creator.