SuperAPI AI Directory

codex-youtube-video-workflow

Marketing & growth

View repository

Updated 10-16 00:20

About this skill

codex-youtube-video-workflow: Codex edition YouTube production master control

One-stop overview (long-form → short-form → dual-format info)

This Skill completes three major stages in one go, with 3 STOP checkpointsin between, and each checkpoint muststop and wait for the user to make the call; do not rush ahead automatically:

階段 1 長片:剪口播 → 轉字幕 → 🛑STOP1 疑慮字幕確認 → 時間碼硬關卡 → 標題 → 封面 → 長片 metadata → 打包
階段 2 短片:讀完整字幕 → 亮點偵測 → 🛑STOP2 三候選確認 → 切片組片 → 短片 metadata → 打包
(標題候選為 🛑STOP3,已含在各階段內)
  • 🛑 STOP 1(Stage 1 step 3): list questionable terms and wait for the user to correct them; only proceed after applying them.
  • 🛑 STOP 2(Stage 2): wait for the user to choose the number for one of the 3 candidate short versions.
  • 🛑 STOP 3(step 4 / short step): wait for the user to choose among title candidates.
  • Hard checkpoint:validate_srt.py does not pass (inconsistent segment count / timecodes do not match) → abort delivery and report back, must not force output.
  • Prevent broken words: subtitle sentence splitting relies on resegment.py cut-point priority order; short clips must always align to subtitle paragraph boundaries,must not cut in the middle of a sentence。

The short-form stage is not mandatory: if the user does not want shorts, stop at the end of Stage 1. Only proceed to Stage 2 if shorts are wanted.

Read first

  • HANDOFF.md
  • AGENTS.md
  • assets/style/reference-thumbnails.png
  • assets/style/cover-style.md
  • assets/persona/三師爸人物形象照.png

Codex-specific rules

  • Thumbnails use Codex built-in Image2 for image generation; no OpenAI API Key is needed.
  • Do not call skills/cover-image/draw.py; that is the Claude Code / API route.
  • Every thumbnail must newly reference assets/persona/三師爸人物形象照.png, and must not carry over the person from the previous thumbnail or a derivative image.
  • The Codex edition's signature colors are bright blue / electric cyan:#00D4FF、#0099FF, with a small amount of purple glow #9D4EDD。
  • Codex output folders always have the [Codex] suffix added.
  • If built-in Image2 cannot actually pass a reference image, you can only constrain the person's features via prompt; if the person does not look like the real person, clearly report the limitation and regenerate or switch to a process that supports image reference.

Process

  1. Intake

    • Find raw/ 's new videos.
    • Create working/<video-id>/。
  2. Cut talking-head

    • Read skills/smart-cut/SKILL.md。
    • Run skills/smart-cut/scripts/smart_cut.py。
    • Suggested starting parameters:--threshold 0.05; for many pauses you can use 0.06; for short demo videos you can use --margin "0sec,0.1sec"。
    • Output working/<video-id>/<video-id>.cut.mp4。
  3. Transcribe subtitles

    • First use ffmpeg to extract 16kHz mono audio from the cut video.
    • Read skills/audio-to-srt/SKILL.md。
    • Process: Groq transcription → resegment → apply_vocab → personally clean the text segment by segment (do not touch timecodes, segment count unchanged) → 🛑 STOP 1 questionable term confirmation(see below) → validate_srt [hard checkpoint] → srt_to_txt.
    • If resuming from an intermediate file, first create _subtitles/;resegment.py will not automatically create the output folder.
    • 🛑 STOP 1: questionable term confirmation (must not be skipped)
      1. Run python skills/video-editing-and-subtitles/scripts/find_dubious_terms.py "working/<video-id>/_subtitles/<video-id>.vocab.srt" --out "working/<video-id>/_subtitles/dubious_terms.md", to pull out proper nouns and passages with common transliteration errors.
      2. Read dubious_terms.md, list the questionable passages in the conversation, and stop to ask the user how to change them, don't guess on your own and continue.
      3. After the user replies, use python skills/video-editing-and-subtitles/scripts/finalize_subtitles.py "<vocab.srt>" --out "<clean.srt>" --replace "舊->新" --replace "段號:舊->新" to apply corrections (for specific paragraphs, use only the 390:AGE->Agent format).
    • Timecode hard gate:validate_srt.py --raw <vocab.srt> --clean <clean.srt> If the segment count is inconsistent or the timecodes don't match → abort, report the discrepancy, do not deliver。
    • Output working/<video-id>/<video-id>.srt and .txt。
  4. Generate titles and pause

    • After reading the cleaned text, .txt。
    • generate 10 title candidates to working/<video-id>/titles.md。
    • report the title list, stop and wait for the user to choose a number.
  5. Create the Codex output folder

    • Clean Windows-illegal characters from the title:?!:/\?!:/\\<>|"*。
    • Create output/<清洗後標題> [Codex]/。
    • Do not add [Codex]。
  6. Generate cover

    • Re-read the character reference photo and style guide; do not reuse the old cover.
    • Prompt must include:
      • Character features: short black hair with a small amount of gray, black rectangular glasses, black long windbreaker hooded jacket, black top, natural smile, teacher demeanor.
      • Codex primary colors: bright blue / electric cyan; do not use Claude orange as the primary light.
      • Tech teaching style: deep navy blue background, data streams, circuits, AI Agent, lesson plan table.
    • Copy the latest image produced by the built-in Image2 to the output folder, named cover.png。
  7. Write metadata (per marketing spec)

    • First Read references/marketing-spec.md(the merged version of the txt v1.5 main spec + channel supplementary fields); always use it as the standard.
    • UseAfter cleaning the text, .txt transcriptgenerate; the material must echo the actual subtitle content. Long video metadata.md must include at least:
      1. 10 title candidates(alternating curiosity/value/pain-point styles)
      2. Video description ≤300 characters: Hook + 3 key knowledge points as bullet points + CTA; the first paragraph's emotion should echo the title type selected by the user.
      3. Social post(FB / IG / Threads):Emoji strictly prohibited, each paragraph ≤3 lines, long video 150–200 characters, sincere teacher tone, end with an interactive question.
      4. SEO keywords 15–20 + "paste all at once" integrated version tags(separated by half-width commas).
      5. Chapter timecodes(based on subtitle segments, suggested nature).
      6. Pre-publish checklist。
    • Detailed formatting and short-video override rules are entirely based on references/marketing-spec.md .
  8. Package and check

    • The output folder should contain:
      • <標題>.mp4
      • <標題>.srt
      • <標題>.txt
      • cover.png
      • metadata.md
    • When PowerShell checks paths containing [Codex] , use -LiteralPath。
  9. Update handoff

    • Update HANDOFF.md: completed items, output location, cover status, pending review items, next steps.

Stage 2: Short video highlights (only run if a short video is needed)

After the long video is finished (already has cut.mp4 + clean.srt), if the user wants a short video,take over skills/short-video-workflow/SKILL.md the complete process. Key gates:

  1. Mandatory complete read working/<video-id>/<video-id>.srt: Before extracting highlights, you must first watch the entire subtitle file and understand the timecodes; do not grab snippets without reviewing the whole thing.
  2. Highlight detection: Score each segment 0–3 based on a checklist such as pain points/rhetorical questions/numeric promises/strong assertions/reveal twists.
  3. 🛑 STOP 2: Confirm three candidate versions
    • Assemble 3 versions (A pain-point type / B curiosity type / C promise-type hook), each with a three-act structure, ≤120s, written into working/<video-id>/shorts-candidates.md。
    • List the three versions' timecodes and three-act scripts for the user, stop and wait for the user to choose A/B/C(or the user provides their own timecodes). Do not choose on your own.
  4. Slice and assemble clips:clip_cut.py Slice (align to subtitle paragraph boundaries, do not cut in the middle of a sentence) → confirm ≤120s → add_end_card.py ending title card → burn_subtitles.py burn subtitles → make_vertical.py produce a 9:16 vertical version.
  5. Short video title (🛑 STOP 3): Provide 3 shorter, more sensational candidates and wait for the user to choose.
  6. Short video metadata: Likewise Read references/marketing-spec.md, apply the "C. Short video differences" overrides (3 titles, description ≤150 characters,#Shorts required, add at the end of tags Shorts,短影片)。

Specs: 16:9 editing, ≤120s, primary colors Codex bright blue / electric cyan, output output/<短片標題> [Codex] (Short)/, use Codex built-in Image2 for the cover, do not call draw.py. Every short video must also have a 9:16 vertical version produced(for YouTube Shorts publishing): after burning subtitles, run skills/short-video-workflow/scripts/make_vertical.py(blurred background fill, content not cropped, 1080×1920), output filename <短片標題>_直式9x16.mp4, 7 files total in the short video folder.

Pitfalls

  • The Python used by Codex may differ from Claude Code; if auto-editor or other packages are missing, install into the current python。
  • auto-editor.exe not being in PATH is okay, as long as python -m auto_editor is available.
  • Groq transcription will upload audio to a third-party service; if explicit authorization is required, stop first.
  • Chinese filenames, spaces,[Codex] paths need quotes and -LiteralPath。