Skip to content
Back to skills

Repurpose My Content

ASecurity

Turn something you already have into something new. Give me a blog post, a YouTube video, an article, or a competitor post, and tell me the target format. I reshape it for the new channel in your voice. No plagiarism, no generic-ify.

  • 117 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 19, 2026
content-marketinggoapi

Works with

  • api

Security analysis

A100/100

Scanned September 19, 2026

npx -y skills add gethouston/houston --skill repurpose-my-content --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Repurpose My Content?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Repurpose My Content
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gethouston-repurpose-my-content/badge)](https://www.skillsdirectory.com/skills/gethouston-repurpose-my-content)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: repurpose-my-content
description: "Turn something you already have into something new. Give me a blog post, a YouTube video, an article, or a competitor post, and tell me the target format. I reshape it for the new channel in your voice. No plagiarism, no generic-ify."
version: 1
category: Marketing
featured: no
image: megaphone
integrations: [linkedin, twitter, youtube, firecrawl]
x_houston:
  created_by: houston
  skill_schema: 1
---


# Repurpose My Content

## When to use

- Explicit: "turn this blog post into LinkedIn posts", "repurpose this YouTube video into a blog draft", "make an X thread from this article", "pull shareable insights from {URL}".
- Implicit: after `write-a-post` lands big post, founder asks for social derivatives.
- Many source × target combos  -  pick format dynamic from user ask.

## Connections I need

I run external work through Composio. Before this skill runs I check that the categories below are linked. Missing → I name the category, ask you to connect it from the Integrations tab, stop.

- **Web scrape (Firecrawl)**  -  optional when the source is a URL. If not connected I fall back to basic HTTP fetch, rougher but works on static blog posts and articles.
- **YouTube**  -  pull the transcript and metadata. Required when the source is a YouTube video  -  no fallback, transcripts need the API.
- **Social platforms (LinkedIn, X)**  -  optional, only if the source is a post on one of them.

If the source is a YouTube video and YouTube isn't connected I stop. For a URL source, I keep going on basic HTTP fetch and flag if the page is JS-heavy enough that the result is thin.

## Information I need

I read your marketing context first. For every required field that's missing I ask ONE plain-language question (best modality: connected app > file drop > URL > paste) and wait.

- **Your positioning and voice**  -  Required. Why I need it: repurposed content has to sound like you, not the original author. If missing I ask: "Want me to draft your positioning first? It's one skill, takes about five minutes. And connect your sent inbox so I can sample your voice."
- **The source**  -  Required. If missing I ask: "What am I repurposing, paste the URL, drop the YouTube link, or paste the article text."
- **The target format**  -  Required. If missing I ask: "What do you want me to turn it into, five LinkedIn posts, an X thread, a newsletter, a blog draft, or a list of shareable insights?"

## Steps
<!-- houston-workflow:v1 -->

1. **Read positioning doc**: `context/marketing-context.md`. If missing, stop and tell user run `set-up-my-marketing-info` first. Voice and positioning load-bearing for repurposed content.
2. **Read config**: `config/site.json` and `config/tooling.json`.
3. **Parse source + target** from user ask. Source can be:
   - Blog/article URL → fetch via `composio search web` or scrape tool.
   - YouTube URL → run `composio search youtube` to find transcript tool; fetch transcript + metadata.
   - Pasted article or transcript text.
   - Competitor blog URL (legal repurpose: insight + credit).
4. **Ingest source.** Pull full text (or transcript). Extract:
   - Thesis / core argument.
   - 5-10 distinct insights.
   - Quotable lines.
   - Concrete examples / numbers.
5. **Transform to target format.** Apply right template:
   - **LinkedIn posts** (default: 5 variants)  -  hook + value + CTA; each under 1300 chars; one hero quote or stat per post.
   - **X thread**  -  1 hook tweet + 6-12 body tweets; each ≤ 280 chars; thread-close CTA.
   - **Newsletter**  -  subject + preheader + 300-600 word body + clear CTA.
   - **Blog draft**  -  H1/H2 structure matching `write-a-post` (shorter, 800-1200 words for YouTube → blog).
   - **Shareable insights**  -  bulleted insight-card list, each with quote and insight in one line.
   Match voice from positioning doc; no generic-ify.
6. **Write** to `repurposed/{source-slug}-to-{target}.md` atomic. Front-matter: sourceUrl, sourceType, targetFormat, status.
7. **Append to `outputs.json`**  -  `{ id, type: "repurposed", title, summary, path, status: "draft", createdAt, updatedAt }`.
8. **Return content in chat.** Always paste the full repurposed content into the chat reply, not just a summary. The user must be able to read, copy, and share the draft without opening any file. Format:
   - One-line lead-in saying what was made (e.g. "Here's the blog draft." / "Here are the 5 LinkedIn posts." / "Here's the X thread.").
   - Full content, rendered in markdown, with each variant clearly separated (`---` between LinkedIn posts, numbered tweets in a thread, full body for a blog).
   - For multi-variant outputs (LinkedIn, headlines, ad copy), label each variant (`**Post 1**`, `**Post 2**`, …).
   - End with a short closing line  -  one sentence on the strongest hook or the angle you leaned into, and an invitation to refine ("Want me to tighten any of them, swap angle, or add more variants?").
   - Never reply with only a file path or "saved to your drafts"  -  the content always rides in the chat itself.

## Never invent

If source no say, no put in repurposed piece. Rewriting competitor post (legal repurpose): credit source explicit and transform framing big  -  never plagiarize.

## Outputs

- `repurposed/{source-slug}-to-{target}.md`
- Appends to `outputs.json` with type `repurposed`.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…