video-hosting-draft
video-hosting-draft
Code drafts. A human decides. Code publishes. This skill owns the draft step. It never publishes anywhere — the publish step is a separate skill (
/video-hosting-publish) that runs only after a human has approved a row.
What this skill does (one paragraph)
For every raw clip in the input folder that is not already represented in the editorial Google Sheet, this skill produces exactly three title variants, three description variants, and three different PNG thumbnails (one thumbnail per title) and appends a single row for that clip to the editorial sheet. It does not call the video hosting API. It does not mark anything as approved. Its only job is to give the editor three principled options to choose from, in the place where the editor already works.
Inputs
videos/— folder of raw.mp4clips from the production team. Each file is named arbitrarily (e.g.clip_2026-05-03_v3.mp4) — filenames are not trusted for content/category signal.transcripts/— optional.txtnext to each.mp4. If absent, the skill runs Whisper locally to produce one before any LLM call.thumbnails/case/template.pngandthumbnails/educational/template.png— design-provided template files. The skill renders text on top of the matching template; it never publishes a bare template.- Editorial Google Sheet (id in
config.yaml). The sheet is the single source of truth for what has been drafted, what is approved, and what has been published.
Output: one row per video in the editorial Google Sheet
Sheet columns (in this exact order — /video-hosting-publish reads the same columns):