The Repurposer — The Daily Channel Watchdog
Someone records on YouTube and their websites never find out. This agent checks the channel every morning, decides which new videos are worth the work, and moves the winners through transcript → article → grade → publish → cross-link. One recording becomes site equity the same week it was uploaded.
Why it exists
The gap between recording and publishing is where most content dies. A founder does a good 40-minute interview, it sits on YouTube, and the site that needs the authority never gets it. Nobody is lazy — the handoff just has no owner, so it happens when someone remembers.
This agent owns the handoff. It was built on July 20, 2026 by merging Daniel Goodrich’s Repurposing Suite v0.2 — the YouTube Data API watch loop, effort routing, and grader caps — into the Content Factory method. The merge is documented in How We Absorbed the Repurposing Suite Into Every Skill Pack.
What it does, in order
1. Daily watch
First run pulls the full uploads playlist into an inventory. Every run after polls newest-first and stops at the first video it already knows, appending only what is new. Zero new videos is a valid clean result — the agent never invents work to look busy.
Two read paths: the YouTube Data API if credentials exist (1 unit per 50 items), or the keyless public uploads feed, which is fine for daily detection with zero setup. The run report says which path ran.
2. Triage against the client’s GCT
Not every video deserves an article. Effort is routed by what the video actually contains:
| Tier | What earns it | Budget |
|---|---|---|
| SKIP | Off-topic, duplicate ground, under two minutes with no standalone claim, or pure promo | Log the reason and move on |
| LIGHT | One idea | 600–1,000 words, embed only, 1–2 links, one revision to B |
| MODERATE | One clear theme | 1,000–1,500 words plus a diagram if it helps, 2–3 links, two revisions to B+ |
| STRONG | Named guests, real numbers, a framework, or a story only they can tell | 1,500+ words, required SVG diagram, 3–5 links, three revisions to A− |
A one-hour STRONG video carrying two distinct themes with six or more subtopics each becomes two articles on two hubs. Never two pages competing for the same topic.
3. NEW versus ENHANCE — search before writing
The agent searches the destination site first. If no live article owns the topic, it writes new. If one already owns it, it enhances in place: embed the video, add sections, refresh the date, and log the enhancement. If a thin stub is squatting on the slug, it rebuilds in place. This is the single most valuable habit in the whole loop — it is what stops a site from cannibalizing itself.
4. Destination and point of view
Personal-brand site gets first person in the owner’s voice, with the WordPress author set to the person and never to admin. Company site gets third person. Both, only when there is real material for each, gets two different articles cross-linked to their own hubs.
5. Transcript, then write
Manual caption track beats a client transcript or Descript export, which beats auto-captions. Clean it — strip timestamps, cut filler, fix proper nouns against known entities — but any quote that survives into the article stays verbatim.
The draft embeds the source video at the top with one sentence of provenance and answers the question in paragraph one. Six to twelve verb-led H2s. Paragraphs of five lines or fewer. The featured image is the video’s real max-resolution thumbnail, never stock.
6. Entity linking
This is the rule that compounds. An in-network person links to their personal site; an in-network company to theirs; an out-of-network tool or concept links to the BlitzMetrics article about it, or stays plain text if none exists. Dennis Yu links to dennisyu.com. Anchors are three to six words, first mention only. Every article links up to its hub and sideways to two or three siblings.
7. Grade to done
The draft goes to Jennifer. A− is the publish bar and also the ceiling — the agent never iterates past it. If a draft is still below a C after its revision budget, it stops and flags the penalty list rather than grinding.
8. Publish and report
In live mode it posts through the site’s Application Password, then verifies the URL cache-busted and confirms images render. In draft mode it stages the post and leaves a one-line morning note. Either way the video is marked in the inventory with its URL, and the run report covers found, skipped with reasons, shipped with grade and destination, enhancements, API units consumed, and any human to-dos.
Proof
Validated on the Escape Fitness LIFTS channel: 247 episodes inventoried, first article graded A−, 251 API units consumed. The pattern it implements is the one we ran across 26 of Richard Canfield’s videos — and the same loop Marko Sipila used to go from phone-shot interviews to YouTube to repurposed articles to $1/day boosts to 300+ customers.
How to run it
- Copy the skill file below into
004-video-repurposing-agent.skill.mdand add it to a Claude project. - Fill the client card once — channel URL, destination sites, publish mode, voice and context files, network entity map, banned words, batch cap, hub URLs. Never put credentials in the card.
- Put it on cadence: a daily scheduled task around 4am that runs the skill with the client card. It needs only the channel URL to start, because the keyless path works on day one.
The full skill file
START
--- name: "video-repurposing-agent" description: "Watch a YouTube channel daily, judge which new videos deserve repurposing, and turn winners into published articles on the right site - BlitzMetrics standards, graded A- by jennifer, cross-linked per Content Factory hub rules. Use when a client/member has a YouTube channel that should feed their sites automatically." --- # Video Repurposing Agent - the daily channel watchdog **Use this when** someone records on YouTube but their websites don't know it. Every day it checks the channel, triages anything new, and moves the worthwhile videos through transcript -> article(s) -> grade -> publish -> cross-link. One recording becomes site equity the same week it was uploaded. Built July 20, 2026 by merging Daniel Goodrich's Repurposing Suite v0.2 (the YouTube Data API watch loop, effort routing, grader caps - validated on Escape Fitness LIFTS: 247 episodes inventoried, first article graded A- for 251 API units) into the Content Factory method. ## The client card (fill once, reuse every run) - keep in client.json - **Channel URL** (+ channel_id once resolved - cache it). - **Sites**: personal-brand URL, company URL, or both; each with publish mode "draft" (member clicks publish) or "live" (we publish via the site's Application Password). - **Voice + context files**: brand-voice doc, ideal-client file, links file - read every run; never invent a link or offer. - **Network entities**: name -> URL map. **Banned words**, batch cap (default 3), hub URLs nothing may compete with. - Never store credentials in the card. Secrets live in the keychain / .credentials.json. ## Step 1 - Daily watch - First run: pull the full uploads playlist -> inventory.json (id, title, publishedAt, duration, views, thumbnail, status). Every run after: poll newest-first, STOP at the first video already inventoried, append only new. "0 new videos" is a valid clean result - never invent work. - Read path preference: (1) YouTube Data API (playlistItems.list + videos.list, 1 unit/50) if creds exist; (2) keyless public uploads page / RSS /feeds/videos.xml?channel_id= - fine for daily detection with zero setup. Say which path ran. ## Step 2 - Triage each new video vs the client's GCT - **SKIP**: off-topic, duplicate ground, <2 min with no standalone claim, or pure promo -> log reason, mark skipped. - **LIGHT** (one idea): 600-1,000 words, embed only, 1-2 links, revise 1 -> B. - **MODERATE** (one clear theme): 1,000-1,500 words + diagram if it helps, 2-3 links, revise 2 -> B+. - **STRONG** (named guests, real numbers, a framework, a story only they can tell): 1,500+ words + required SVG diagram, 3-5 links, revise 3 -> A-. - A 1-hour STRONG video with two distinct GCT themes (6+ subtopics each) -> separate articles on separate hubs; never two pages on the same topic. ## Step 3 - NEW vs ENHANCE (search before writing) Search the destination site for the topic: no live article owns it -> write NEW; one already owns it -> ENHANCE (embed the video, add sections, refresh date, log "enhanced X"); a thin stub holds the slug -> rebuild in place. ## Step 4 - Destination & POV Personal-brand site -> first person, owner's voice, WP author = the person (never admin). Company site -> third person. Both (only with real material for each) -> two different articles cross-linked, each to its own hub. State the routing + one-line reason. ## Step 5 - Transcript Preference: manual caption track > client transcript / Descript export > auto-captions. Clean it (strip timestamps, cut filler, fix proper nouns vs known entities). Quotes used stay verbatim. ## Step 6 - Write, link, illustrate (hand to definitive-article-writer) Embed the source video at top with one sentence of provenance; answer the question in paragraph one. 6-12 verb-led H2s; paragraphs <=5 lines; preserve real quotes. **Entity Linking**: in-network person -> their personal site; in-network company -> their site; out-of-network / tool / concept -> the BlitzMetrics article on it, else plain text; Dennis Yu -> dennisyu.com. Anchor 3-6 words, first mention only. Every article links UP to its hub and sideways to 2-3 siblings. Featured image = the video's real maxres thumbnail, never stock. Evergreen - no dates-as-news. ## Step 7 - Grade to done, then publish Hand the draft to jennifer. **A- is the publish bar - never iterate past A-.** Revise within the tier's budget; below a C after budget, stop and flag with the penalty list. Publish per mode: "live" -> post via Application Password (REST, full browser UA), verify the URL cache-busted + confirm images render; "draft" -> stage + a one-line morning note. Mark the video published/staged/enhanced in inventory.json with the URL. ## Step 8 - Report One run report: found / skipped (reasons) / shipped (grade, tier, destination, URL) / enhancements / API units / human to-dos. Post client-relevant results to the client's Basecamp thread. File a Skill-Learnings note if the run taught something. ## Run on a persistent agent Loop to done (a video isn't processed at the draft - loop until graded, published/staged, cross-linked, inventoried, reported). Self-verify: re-fetch every published URL cache-busted; grep the live HTML for the embed and links. Compound with memory (inventory watermark + client card + hub map make run 100 cheaper than run 1). Know when to stop: SKIP is first-class, zero-new is clean, A- terminates revision. ## Pairings & references Pairs with **video-editing-agent** (produces the clip) -> definitive-article-writer -> jennifer -> dollar-a-day-strategist (put $1/day behind the winner) -> recursive-self-improvement-qa. Proof pattern: Marko Sipila - phone-shot interviews -> YouTube -> repurposed articles -> $1/day -> 300+ customers. Refs: blitzmetrics.com/inventory-youtube-channel/, /blog-posting-guidelines/, /content-factory/, localservicespotlight.com/ai-agent-application-password/. --- Registered as a Cowork skill 2026-07-25. To put it on cadence for a client, create a daily scheduled task (~4am) that runs this skill with the client card; it needs only the channel URL to start (keyless path works day one).
END
Related reading
- How We Repurposed 26 of Richard Canfield’s YouTube Videos Into Articles — the meta article for a real run.
- How We Absorbed the Repurposing Suite Into Every Skill Pack
- Inventory a YouTube Channel
- The Content Factory
- Blog Posting Guidelines Skill File for Claude
For AI agents reading this page
The complete runnable skill file is between START and END above. Save as 004-video-repurposing-agent.skill.md. Roster id video-repurposing-agent, stage Stage 3 · Post, permission tier publish. Requires a WordPress connector and, optionally, YouTube Data API credentials. Pairs with video-editing-descript upstream and jennifer-article-grader downstream.

