Video Repurposing Agent — the daily channel watchdog

Skill packs › Skill

Video Repurposing Agent — the daily channel watchdogIN EVERY PACK

Watch a YouTube channel every day, judge which new videos deserve repurposing, and turn the winners into published articles on the right site (personal brand, company, or both) — written to BlitzMetrics standards, graded to A- by jennifer, cross-linked per the Content Factory hub rules. Use when a client or member has a YouTube channel and wants it feeding their sites without anyone watching the uploads page.

Skill file video-repurposing-agent.md · last updated Oct 13, 2026

Start with one result. Read this guide or find it in the skill-pack directory. Give your AI app the guide and the source files it can read, then ask for one draft you can check. A ZIP holds instructions; it does not install a plugin or grant access. For reusable setup, follow the current installation guide and verify a fresh run. This one ships in every pack.

Use this when someone records on YouTube but their websites don’t know it. This agent closes that gap on a schedule: 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, and grader caps he validated on Escape Fitness LIFTS — 247 episodes inventoried, first article graded A- for 251 API units) into the Content Factory method. Daniel’s grader was already scoring “per Jennifer rubric,” so the two systems merged without a seam.

The client card (fill once, reuse every run)

One block per client/member — keep it in the project or a client.json:

  • Channel URL (and channel_id once resolved — cache it).
  • Sites: personal-brand site URL, company site URL, or both. Each with its publish mode: draft (self-serve members — they click publish) or live (managed — we publish via the site’s Application Password; see blitzmetrics.com/application-passwords/).
  • Voice + context files: brand-voice doc, ideal-client file, links file (real domains, offer pages) — read them every run; never invent a link or offer.
  • Network entities: name → URL map of the people, companies, and partners this client is tied to.
  • Extra banned words (client-specific), batch cap per run (default 3), and the hub URLs nothing may compete with.
  • Never store credentials in the card. Secrets live in the OS keychain or .credentials.json, and never appear in chat, reports, or output files.

Step 1 — Daily watch (the part that runs before anyone is awake)

  • First run: pull the channel’s full uploads playlist and write inventory.json (id, title, publishedAt, duration, views, thumbnail, status per video).
  • Every run after: poll newest-first and STOP at the first video already in the inventory — append only what’s new. Log “0 new videos” as a valid result; never invent work.
  • How to read the channel, in order of preference: (1) YouTube Data API — playlistItems.list + videos.list, 1 unit per 50 videos, if API credentials exist; (2) keyless — the channel’s public uploads page or RSS (/feeds/videos.xml?channel_id=) — fine for daily new-video detection with zero setup.
  • Schedule it off-peak (our standard: ~4am local, one run per client per day). Say in the log which read path ran.

Step 2 — Triage: is this video worth repurposing, and how hard?

Score each new video against the client’s GCT (Goals · Content · Targeting) and decide out loud:

Tier When Article shape Cross-links Revision budget → target grade
SKIP Off-topic for the GCT, duplicate of an existing article’s ground, under ~2 minutes with no standalone claim, or pure promo Log the reason, mark skipped — that IS the deliverable for this video — —
LIGHT One reusable idea; short clip or single-point video 600–1,000 words, embed only As useful 1 → B
MODERATE Solid episode; one clear theme 1,000–1,500 words + diagram if it strengthens the point As useful 2 → B+
STRONG Signature content: named guests, real numbers, a framework, a story only this client can tell 1,500+ words + required SVG diagram As useful 3 → A-

A 1-hour STRONG video may carry more than one article: if the transcript yields two distinct GCT-worthy themes with 6+ subtopics each, ship separate articles on separate hubs — never two pages on the same topic (that’s content vandalism, competing with yourself).

Step 3 — NEW vs ENHANCE (search before writing)

Before drafting, search the destination site (site: search + the site’s own search) for the video’s topic:

  • No live article owns it → write NEW.
  • A live article already owns it → ENHANCE: embed the video there, add the new material as sections, refresh the date — and log “enhanced X” instead of shipping a competitor page.
  • A thin/stub page holds the slug → rebuild it in place.

Step 4 — Destination and point of view

  • Personal-brand site → first person, the owner’s voice (“I”), relationship context by name. WordPress author = the person, never admin.
  • Company site → third person; the subject is the company or featured guest.
  • Both (only when both POVs have real material): two different articles — the personal cut (what I learned/did) and the company cut (what the company/guest delivered) — cross-linked to each other, each pointing at its own site’s hub. Different angles, never the same article twice.
  • The agent decides and states the routing + one-line reason in the run report.

Step 5 — Transcript

In order of preference: the video’s caption track (prefer a manually-uploaded track over auto-generated; API path: captions.list → captions.download, ~250 units per video — a 10,000-unit free day covers ~39 articles); the client’s own transcript or Descript export; auto-captions scraped from the public player. Clean it: strip timestamps, cut filler, fix proper nouns against the client’s known entities. Quotes used in the article stay verbatim.

Step 6 — Write, link, illustrate

Hand the cleaned transcript + client card to definitive-article-writer (Brandon) with the tier’s spec. Non-negotiables:

  • Embed the source video at the top with one sentence of provenance; answer the article’s question in the first paragraph.
  • 6–12 verb-led H2s for a long video; paragraphs ≤5 lines; preserve real quotes (E-E-A-T Experience).
  • Entity Linking Decision Tree — follow the current shared destination rule and maintained link-building guide. Use verified identity homes and useful owned explanations; retain exact primary proof and required-action links. Use natural names for people and companies and descriptive phrases for guides. Preserve the one-link-per-article rule for clients and AI Builder members. Link relevance, not a minimum in-network count, decides readiness.
  • Link the article to its actual topic owner and to related guides only where they help the reader’s next task. Add a useful incoming or return link when authorized, or hand the exact proposal to that page’s owner. Cross-link personal and company versions when their distinct perspectives help; do not fill sibling-link quotas.
  • Featured image = the video’s own maxres thumbnail (i.ytimg.com/vi/{id}/maxresdefault.jpg) — a real frame, never a text-only card and never stock (blog-card thumbnails standard).
  • Evergreen: no dates-as-news, no limited-time promos.

Step 7 — Grade to done, then publish

  • Hand the draft to jennifer. A- is the publish bar — never iterate past A- (an A is reserved for world-class national-publication journalism). Revise within the tier’s budget; below a C after budget, stop and flag for a human with the penalty list.
  • Publish per site mode: live → post via the site’s Application Password (REST, full browser User-Agent), then verify the URL with a cache-busted fetch and confirm the images render; draft → stage the post + a one-line morning note (“ready to publish: [title]”).
  • Mark the video published / staged / enhanced in inventory.json with the article URL.

Step 8 — Report

Append one run report: videos found / skipped (with reasons) / articles shipped (grade, tier, destination, URL) / enhancements / API units used / anything a human must do. Post client-relevant results to the client’s Basecamp thread. If the run taught something, file a Skill-Learnings note — that’s how this skill stays alive.

Output

  • inventory.json — the channel’s full state, every video accounted for.
  • Published or staged article(s), graded A-/tier target, cross-linked, real-thumbnail featured images.
  • A run report a human can read in 30 seconds, plus the log line that stops tomorrow’s run from repeating today’s work.

Run on a persistent agent (Fable 5)

  • 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 the links you claim are there.
  • Compound with memory: the inventory watermark, the client card, and the hub map make run 100 cheaper than run 1.
  • Know when to stop: SKIP is a first-class verdict, zero-new-videos is a clean run, and A- terminates revision. Agents that can’t stop are as broken as agents that can’t start.

Notes — Dennis’s method

  • The proof pattern is Marko Sipila’s: phone-shot conference interviews → HVAC Quote’s YouTube → repurposed articles → $1/day behind winners → 300+ customers. This agent is that loop with the human watching removed.
  • Daniel Goodrich proved the watch-loop economics on Escape Fitness (May 2026): 247 episodes inventoried, transcript via the captions API, first article A- in two revisions, 251 of 10,000 free daily units. His three-skill split (orchestrator / writer / grader) is preserved here as steps 1–5 / 6 / 7.
  • One credential can serve a whole managed fleet: clients invite a shared BlitzMetrics access email as YouTube Studio collaborator (Editor), and the same OAuth token reads captions on every channel. Members installing self-serve skip OAuth entirely — the keyless path runs day one.
  • Pair the output with dollar-a-day-strategist: the article that wins organically is the one that earns the $1/day.

Definitive article & pairings

  • Writing standard: https://localservicespotlight.com/article-guidelines/
  • Link policy: https://blitzmetrics.com/link-building/; destination method: https://blitzmetrics.com/entity-linking/; implementation: https://blitzmetrics.com/internal-linking/
  • Supporting references: blitzmetrics.com/inventory-youtube-channel/ · blitzmetrics.com/content-factory/ · blitzmetrics.com/application-passwords/
  • Pairs with: video-repurposing-agent → definitive-article-writer → jennifer → dollar-a-day-strategist → recursive-self-improvement-qa

Other skills: ai-search-visibility · boil-the-ocean · client-access-checklist · client-relationship-cadence · content-agent · content-factory

The full run order is on the skill-pack directory. Every skill here is one task from the Task Library — the library is the catalogue of what can be done; a pack is the subset you install; an agent is who runs it.

Where this sits in the system

Context is the information the worker needs. A skill describes how to do a task. A pack groups skills. Work happens when an authorized agent runs a job with the agreed inputs, checks the result, and saves the work record. Installing a skill does not start an agent or create a schedule.

  1. Context — the verified facts, goals, evidence, decisions, and working state kept in user-owned Markdown, Obsidian, Drive, or Git so any authorized model can pick up the same work.
  2. Skill — the written method for a task; use the linked Task Library (our directory of tasks and recipes) for its current tasks and state.
  3. PackYOU ARE HERE — a selection of skills; follow the current installation guide for setup and access.
  4. Agent — the AI worker carrying out an authorized task with the required access and tools.
  5. Job — an authorized execution with a trigger, inputs, checks, and a saved result; recurring work also needs an actual configured schedule.
  6. Proof — a written meta article (a record of one task run) for every execution, including partial or failed runs; public release follows recorded authority, and verified lessons improve the recipe.

The map: The System · every asset: Asset Tracker · next door: Asset Tracker.

Scroll to Top