yt-repurposer
Repurpose off-platform content into a native YouTube surface.
Skill by sergebulaev
Chalk Labs
Need help deploying yt-repurposer?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/sergebulaev-yt-repurposer
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing, marketing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/yt-repurposer
What's inside
- Skill name
yt-repurposer- Description
- Repurpose off-platform content into a native YouTube surface. Take a blog, X thread, LinkedIn post, or newsletter and turn it into a community post or poll, or a video brief (title, spoken hook, description with chapters). Leads with the payoff, converts listicles into chapters, strips off-platform artifacts, publishes via Publora on approval. Not for a fresh community post (use yt-community-post-writer), not for a hook script (use yt-hook-scripter).
- License
- MIT
- Instructions
- 129 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# YouTube Repurposer
Turn something you already made into a YouTube surface that reads like it was
born on YouTube. Repurposing is not copy-paste. A post that killed on LinkedIn
or X will die on the community tab if you paste it: wrong hook, wrong format, and
artifacts ("link in bio", hashtag walls, @-handles) that scream off-platform.
YouTube is video-first, so "content" here is what you feed the machine, not the
video itself. This skill transforms an external piece into a native YouTube
target: a **community post** you can publish, or a **video brief** (title, spoken
hook, description) you hand to the writer skills. It reads your source, keeps the
idea, and rebuilds the delivery for YouTube.
## When to use
- "Turn this blog post / thread / LinkedIn post into a YouTube community post"
- "Repurpose my newsletter into a video: give me a title, hook, and description"
- "This X thread did well, adapt it for my channel"
- "I have a rough idea in another format, make it native for YouTube"
Not for a blank-page community post (use `yt-community-post-writer`), not for a
fresh spoken opening (use `yt-hook-scripter`), and not for titling a video you
already have (use `yt-title-optimizer`).
## How it works
**Voice profile first (all drafts).** If `../../references/voice-profile.md` has `filled: yes`, load it and match the user's voice fingerprint, hard rules, and CTA/link style throughout. If it is not filled, mention once that `yt-community-post-writer --mode profile` can learn their voice from a few posts, then proceed with the generic voice rules.
**Never invent the specifics.** The rules below ask for a concrete number, a date and a named entity, because that is what separates a real post from a generated one. Take them from what the user actually said in this conversation. **Do not invent a figure, a date, a client name or a result, and do not soften a vague claim into a plausible-looking number.** If the user has nothing concrete for a beat, ask them once, and if they still have nothing, drop the claim rather than decorate it. A published invented number is a retraction; a missing one is only a weaker post.
1. **Take the source.** Any format: a blog post, an X thread, a LinkedIn post, a
newsletter, a caption, a bullet list, a link to read. Ask for the source and
the goal (bring subscribers back / seed comments / drive a video) if not given.
2. **Extract the spine.** Strip the source platform's shell and pull out the one
claim, the one story, or the one number worth keeping. Most repurposing fails
because it keeps the words instead of the point.
3. **Choose the target surface.** A quick update, a tease, or a question that
fits between uploads -> a **community post** (hand format to
`yt-community-post-writer`); a poll if the source is a debate or a list of
options. A teachable idea worth a full video -> a **video brief**: a title
(hand to `yt-title-optimizer`), a spoken hook script (hand to
`yt-hook-scripter`), and a description (hand to `yt-description-writer`).
4. **Re-hook for YouTube.** Lead with the payoff, not the intro. "Here's what I
found" beats "In this video". For a community post the first line carries it
(the feed truncates). For a video brief the title is a promise and the spoken
hook confirms it in the first 30 seconds (or 3 on a Short). The source's hook
almost never survives; rewrite it using `../../references/hook-formulas.md`.
5. **Refit the format.** A listicle or a numbered thread becomes **chapters with
timestamps** in the description, one item per chapter. A long-read becomes the
single most quotable claim as the hook, then the supporting beats. A community
post stays short: one clear ask, a poll or an image teaser where it fits.
6. **Strip off-platform artifacts.** Remove "link in bio", "smash subscribe",
"read the thread", hashtag walls, X @-handles that only exist elsewhere, and
any "as I posted on LinkedIn" throat-clearing. A repurposed piece should not
admit it was repurposed.
7. **Scrub instead of a humanizer pass.** There is no `yt-humanizer`. Lean on the
receiving writer skill's own scrub: `yt-community-post-writer`,
`yt-title-optimizer`, `yt-hook-scripter`, and `yt-description-writer` each
scrub 2026 AI vocabulary by density, cap em dashes (about one per 100
words, never swapped for a period), break stacked rule-of-three, and strip
reveal bridges and sincerity openers before they return. Keep the source's
real numbers and named entities through the hand-off.
8. **Approval card.** Show: source -> YouTube mapping (what became what), the
target surface (community post / poll, or the title + hook + description
brief), the hook formula used, and the primary goal.
9. **On approval.** For a **community post**, publish via
`lib.publish(kind="community", draft_text=<approved post>, target_url=<community tab url>)`;
Publora has no community endpoint, so this returns a copy-paste block by
design. For a **video brief**, hand each part to its writer skill; the video
itself uploads through that skill's own Publora flow once the user supplies the
.mp4.
## Native-fit rules (source -> YouTube)
- **Blog / newsletter -> video brief:** pick the single most quotable claim as
the title and spoken hook, then thread the supporting beats as description
chapters. Do not summarize the whole piece into a wall.
- **X thread -> video brief or community post:** a teach-thread maps to a video
with the payoff up front; a hot-take single tweet maps to a community text post
or a poll. Strip the thread numbering and the "1/" scaffolding.
- **LinkedIn post -> community post:** LinkedIn tolerates a warm-up; the community
feed truncates, so rewrite the hook onto line one and cut the throat-clearing.
- **Listicle / carousel -> chapters:** one item per chapter with a timestamp, each
with its own micro-hook, not a wall in the description.
- **Instagram / TikTok caption -> community post:** strip emoji density and
hashtag blocks; YouTube reads them as noise. A visual source favors an
image-teaser community post.
## Hard rules
Global voice rules: see root `SKILL.md` Voice rules. Additional skill-specific
rules:
- Keep the source's **claim and facts** intact. Repurposing changes the delivery,
never the meaning or the numbers.
- Lead with the payoff. If the first line or the title needs a wind-up, rewrite it.
- Never paste the source verbatim and trim. Rebuild the hook and format from the spine.
- One specific number where the source offers one. Keep it.
- Title and thumbnail (if briefed) are a pair; they never repeat the same words.
- Do not hard-sell the user's product. One natural mention max.
## Anti-patterns (skill will refuse)
- Copy-pasting the source with light edits (that is not repurposing).
- Keeping the source platform's artifacts ("link in bio", "read the thread",
hashtag walls, off-platform @-handles).
- Opening a video brief with "In this video I'm going to.." instead of the payoff.
- A community post that is a wall of text where the tab wants one or two lines.
- ALL CAPS for intensity. Carry it with word choice.
- Em dashes above the cap (more than about one per 100 words), or an em dash swapped for a period.
- Stacked or hollow rule-of-three lists without specifics.
- AI vocabulary clusters (three markers such as "leverage", "fundamentally", "streamline" in one paragraph).
- Announced candor ("let me be honest", "not gonna lie") with no dated fact behind it.
- Engagement bait ("comment 1 for yes").
## Resources
- `../../references/hook-formulas.md` - the 11 YouTube title and hook formulas to re-hook with
- `../../references/algorithm-heuristics.md` - 2026 YouTube ranking (CTR x retention), timing, limitsFrom sergebulaev/youtube-skills, MIT.
More from sergebulaev/youtube-skills
- 0.673score
yt-title-optimizer
sergebulaev
Write high-CTR YouTube and YouTube Shorts titles under 100 characters using 2026 packaging formulas (curiosity-gap, number, how-I outcome, mistake/loss…
SkillAFreshness: A★ 69Claude Code +9 - 0.673score
yt-community-post-writer
sergebulaev
Write YouTube community-tab posts: text updates, polls, image-caption posts, and questions that drive comments and bring subscribers back between video uploads.
SkillAFreshness: A★ 69Claude Code +9 - 0.673score
yt-content-planner
sergebulaev
Build a weekly YouTube upload plan: long-form vs YouTube Shorts mix, posting cadence, per-slot title and thumbnail pairing, hook angle, community-tab posts…
SkillAFreshness: A★ 69Claude Code +9 - 0.673score
yt-description-writer
sergebulaev
Write a full YouTube video description under 5,000 characters with a first-150-character hook (the only part visible before Show more, and what shows in…
SkillAFreshness: A★ 69Claude Code +9 - 0.673score
yt-hook-scripter
sergebulaev
Script the spoken opening that decides retention: the first 30 seconds of a long-form YouTube video or the first 3 seconds of a YouTube Short.
SkillAFreshness: A★ 69Claude Code +9 - 0.673score
yt-thumbnail-brief
sergebulaev
Turn a YouTube video idea into a designer-ready thumbnail brief: focal subject, face and emotion, a text overlay of 4 words or fewer that the title does not…
SkillAFreshness: A★ 69Claude Code +9 - 0.669score
youtube-marketing
sergebulaev
Plan, write, and publish for YouTube and YouTube Shorts.
SkillAFreshness: A★ 69Claude Code +9 - 0.668score
yt-audience-insights
sergebulaev
Read your YouTube audience from the comments: pull commenters and top comments on any video, surface recurring questions and themes (content ideas), repeat…
SkillAFreshness: A★ 69Claude Code +9 - 0.668score
yt-channel-optimizer
sergebulaev
Audit and rewrite a YouTube channel end-to-end for 2026: name and @handle, banner (2560x1440 with the 1235x338 mobile/TV safe area), profile picture, About…
SkillAFreshness: A★ 69Claude Code +9
Signals
- Stars
- 69
- Forks
- 17
- Open issues
- 0
- Last commit (this folder)
- Oct 3, 2026 (28 days ago)
- Last release
- Oct 15, 2026 (16 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/sergebulaev/youtube-skills
- Website
- cccrafts.ai
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from sergebulaev
- 0.851score
linkedin-comment-drafter
sergebulaev
Draft a LinkedIn comment on someone else's post from its URL, or reshare (repost) it to your feed with optional commentary.
SkillAFreshness: A★ 5.1KClaude Code +9 - 0.851score
linkedin-content-planner
sergebulaev
Generate a 7-day LinkedIn content plan from a theme, audience, and pillars.
SkillAFreshness: A★ 5.1KClaude Code +9 - 0.851score
linkedin-engager-analytics
sergebulaev
Pull the people who liked or commented on any LinkedIn post and segment them by ICP fit (peer / aspirational / prospect / other).
SkillAFreshness: A★ 5.1KClaude Code +9 - 0.851score
linkedin-hook-extractor
sergebulaev
Reverse-engineer the hook formula from a viral LinkedIn post URL.
SkillAFreshness: A★ 5.1KClaude Code +9 - 0.851score
linkedin-humanizer
sergebulaev
Remove AI tells from LinkedIn posts/comments: 2026 vocabulary density, reveal bridges, staccato fragments, stacked triads, performed sincerity.
SkillAFreshness: A★ 5.1KClaude Code +9 - 0.851score
linkedin-post-writer
sergebulaev
Draft a new LinkedIn post from scratch using one of 20 2026 hook formulas (anaphora, R.I.P., time-anchor, curiosity-gap, contrarian, controlled A/B…
SkillAFreshness: A★ 5.1KClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get yt-repurposer running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
yt-repurposer skill. Agent Mart. https://agentmart.dev/skills/sergebulaev-yt-repurposer (last updated 2026-10-24)