Communitygithub.com

jsath/claude-skills

Turns one raw talking-head take into a finished 1080x1920 vertical reel in Claude Code with free local tools (ffmpeg, whisper.cpp, headless Playwright): transcribes, keeps the last take of repeated lines, cuts pauses, captions every word, adds real screenshots and official logos, and runs measured QA gates. Use when someone wants a raw phone take edited into a Reel, TikTok or Short, retakes and silences cut, word-by-word captions, or a finished video checked. In Claude.ai it only produces a cut list, shot plan and .srt from a pasted transcript.

claude-skills とは?

claude-skills is a Claude Code agent skill that turns one raw talking-head take into a finished 1080x1920 vertical reel in Claude Code with free local tools (ffmpeg, whisper.cpp, headless Playwright): transcribes, keeps the last take of repeated lines, cuts pauses, captions every word, adds real screenshots and official logos, and runs measured QA gates. Use when someone wants a raw phone take edited into a Reel, TikTok or Short, retakes and silences cut, word-by-word captions, or a finished video checked. In Claude.ai it only produces a cut list, shot plan and .srt from a pasted transcript.

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/jsath/claude-skills/tree/HEAD/skills/video/raw-to-reel

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Raw to Reel

Five agents, run in order, turn raw/<take>.mov into out/<take>/final.mp4. This is the simple version. For the full engine (per-line layouts, synthesised SFX, more QA gates), use ../edit-style. For setting up whisper.cpp in depth, see ../use-local-whisper.

Where it runs

  • Claude Code on macOS or Linux: full pipeline. Needs ffmpeg, whisper.cpp (whisper-cli) with a model, Python 3 with Pillow and OpenCV, and Playwright with headless Chromium.
  • Claude.ai: cannot open or export video. plan mode only: paste a transcript, get a tightened script, a shot plan and an .srt.

Commands

CommandRunsOutput
setuptool check belowmissing tools + install commands; installs only after the user says yes
edit raw/<file>agents 1, 2, 4, 3, 5out/<name>/ files below
plan raw/<file> or plan + pasted transcriptagent 1 (transcript, retakes), 2 (cut list only), 4 (shot plan only)tables, no render
check <file>agent 5QA.md

Captions (agent 3) run after the visual build (agent 4) because layouts change caption position, and captions are always the top layer.

setup check

ffmpeg -version | head -1; ffprobe -version | head -1
whisper-cli --help >/dev/null 2>&1 && echo WHISPER_OK || echo WHISPER_MISSING
ls ~/whisper-models/ggml-*.bin 2>/dev/null || echo NO_MODEL
python3 -c "import PIL, cv2; print('PY_OK')"
python3 -c "import playwright; print('PW_OK')"

Install commands to offer (macOS shown; on Linux use the distro package for ffmpeg and build whisper.cpp from source):

brew install ffmpeg whisper-cpp
mkdir -p ~/whisper-models && curl -L -o ~/whisper-models/ggml-small.en.bin \
  https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-small.en.bin
python3 -m pip install pillow opencv-python playwright && python3 -m playwright install chromium

Use ggml-small.en (about 466 MB) as the default; ggml-base.en if the machine is slow, multilingual ggml-small for non-English takes.

Agents

Read the agent file before running that step. Each file is the only place its detailed rules live. In Claude Code you can copy them into .claude/agents/ to run as real subagents.

  1. agents/01-footage-prep.md: probe, colour fix, word-level transcript, retake table.
  2. agents/02-cutter.md: removes earlier takes, dead air and pauses without clipping words.
  3. agents/03-captions.md: every word captioned, timed from a transcript of the cut audio.
  4. agents/04-visual-planner.md: face / graphic / split shot plan, real screenshots and logos, layered render.
  5. agents/05-qa-checker.md: measured gates, contact sheet, claims list, READY or NOT READY.

If an agent fails, fix and rerun that agent only, then everything after it.

Shared files

raw/<name>.mov              never modified
work/<name>/LOG.md          one line per finished step, so a stopped run can resume
work/<name>/words.json      agent 1 transcript (word, start, end)
work/<name>/cuts.csv        agent 2
work/<name>/shotplan.md     agent 4, with assets/SOURCES.md
out/<name>/final.mp4        1080x1920, H.264 + AAC, BT.709 limited range
out/<name>/captions.srt
out/<name>/contact.png      12 frames
out/<name>/QA.md

Safety rules (every agent)

  • Never modify or overwrite the raw file. One work folder per video.
  • Never post or upload anything.
  • Re-time the picture, never the voice: no speed changes on the audio to make something fit.
  • Real things only on screen: real websites, real app screens, official logos. No generated UI, no fake dashboards, no pill badges, stickers or emoji.
  • No private data on screen (inboxes, bank pages, client names, logged-in dashboards) unless the user supplied the image and confirmed it is safe.
  • No number or claim as on-screen text without a source from the user.
  • Browsers run headless only. Run renders with nice -n 10. If the user says they are recording, stop rendering.

End-of-run output

RAW TO REEL: take1
1 Prep      4K HDR -> SDR BT.709, 212 words, 3 retakes found, kept last take of each
2 Cutter    58.4 s -> 41.2 s, 19 pause cuts, 3 retake cuts, 1 cut flagged at 00:17.3
4 Visuals   11 shots (4 FULL, 3 GFX, 4 SPLIT), 3 screenshots, 2 official logos
3 Captions  96 cues, 2 words unaligned (listed in QA.md)
5 QA        READY (8/8 gates PASS)  -> out/take1/QA.md
Decide:     "doubles your output" is said on camera with no source (CLAIMS list)
Nothing has been posted. Watch final.mp4 once before you upload it.

Individual skills in this repo

This repo contains 11 individual skills — each has its own dedicated page.

jsath/claude-skills

Writes captions for a finished video from its transcript: pulls the line worth repeating, writes first-line options, writes per-platform versions (Instagram, TikTok, YouTube title and description, others on request), keeps the creator's voice using their best past captions, and checks the call to action matches what the video actually says. Use when a creator asks for captions, a caption hook, a YouTube title and description, or a CTA check. Drafts only; never posts or schedules.

jsath/claude-skills

Write CAPTIONS-PLATFORMS.md for one finished short video: a per-platform post caption for Instagram, TikTok, YouTube Shorts (title + description), Facebook, Threads, Bluesky and X, each within that platform's limits, with your comment-keyword CTA on the platforms where it belongs and never on X. Keyword, CTA, platforms, hashtags and limits come from a config file; a checker script fails the file on any miss. Use after an edit is finished, when asked to 'write the captions', 'caption this reel for every platform', or before scheduling.

jsath/claude-skills

Transcribe audio or video on your own machine with Whisper (mlx-whisper, faster-whisper or whisper.cpp) and get word-level timestamps as words.json, a plain .txt and an .srt. No API key, nothing uploaded. This is the transcription step the editing skills (edit-style, longform-edit, reel-captions) depend on. Use when asked to transcribe a take, get word timings, make an SRT, re-transcribe a final render for a caption sync check, or 'run whisper locally'.

jsath/claude-skills

Turns one published long-form video or podcast transcript into up to thirty pieces: 10 clips with new hooks and exact timestamps, 8 X posts, 4 LinkedIn posts, 3 carousels, 2 threads, a newsletter, a community post and a blog post, laid out on a two-week plan, all built only from what was said. In Claude Code it also cuts, reframes and captions the clips with ffmpeg. Use when someone wants to repurpose a long video, find clips, or write social posts from a transcript. Never posts or schedules.

jsath/claude-skills

Turn a raw talking-head take into a dynamically edited 1080x1920 reel: full-face, full-graphic and split layouts that switch every 2 to 5 seconds, real UI and official-logo panels, captions on every word timed by Whisper, voice plus synthesised SFX (no music bed) mastered to -14 LUFS, and hard QA gates (caption sync on the final render, A/V length, loudness, colour, framing, contact sheet, claims). Also covers writing the script so it does not read as AI. Use when asked to 'edit this reel', 'make it look edited', 'add captions / dynamic layout / graphics', or 'write a reel script'.

jsath/claude-skills

Edits a raw long-form YouTube recording (screen recording export, camera file, or either plus a separate mic) into a publish-ready video automatically, like Descript on autopilot: transcribes with word timestamps, removes retakes and keeps the last take, tightens dead space while keeping silent on-screen action (speeding up long waits), masters the voice to -14 LUFS / -1.5 dBTP with no music bed, re-transcribes the FINAL render for an every-word SRT (optional burned-in captions), drafts chapters, titles and a description, and fails loudly on QA gates (words, A/V sync, caption sync per chapter, caption coverage, loudness) plus contact sheets you look at. Use when someone says edit this long-form, clean up my recording, cut the retakes and dead space, process the long-form inbox, or descript this. Needs Claude Code with ffmpeg, whisper.cpp and Python 3.

jsath/claude-skills

Turns one podcast episode transcript into a week of written content: an Episode Prep agent that checks the transcript and speaker names, a Clip Spotter that picks the best short-clip moments with exact timestamps and hooks for an editor to cut, a Show Notes Writer that writes show notes and chapter markers, a Repurpose Writer that turns the big ideas into a newsletter, a LinkedIn post and Instagram captions, and an Episode Planner that spreads it all over the week. Works from a transcript the user supplies or exports from their transcription tool. It does not edit audio or video and does not cut clips. Use when a podcaster asks for show notes, chapters, clip timestamps, or posts from an episode, or says \"repurpose this episode\". Drafts only; never posts.

jsath/claude-skills

Turns notes, voice-note transcripts and half ideas into Reel, TikTok and YouTube scripts in the creator's own voice: ranks an idea bank, writes ten hooks per idea, writes the script at the right length, rewrites anything that sounds like AI using transcripts of the creator's past videos, and fact-checks every claim with a source and date. Use when someone wants a video script, hooks, a ranked list of what to film, a voice pass, a claims check, or a record sheet to read from while filming.

jsath/claude-skills

Reviews and rewrites a video script (YouTube long-form, a short, or a talking-head reel) so it sounds like one person talking to one friend and holds attention: kills forced analogies and presenter phrases, fixes framing, checks hooks, open loops and re-engagement beats, and suggests titles. Use when someone says fix this script, polish my script, make it sound like me, tighten this before I film, or asks for a hook or title for a video. Returns the rewritten script plus a short change log.

jsath/claude-skills

Make a 1280x720 YouTube thumbnail (or a banner/cover) that reads at phone size: a text-free background plate (generated or from a real frame), a real cutout of the person, 1 to 3 words in tight colour blocks, an official logo, composed by a script that checks overlaps and frame edges and renders the 320px and 168px views you must look at. Use when asked for a thumbnail, cover, banner, 'make this clickable', or to fix a thumbnail that looks cluttered or small.

jsath/claude-skills

Runs five agents that keep a YouTube channel's titles and descriptions matched to what people search for now: a Channel Reader that pulls the user's own video list and stats with their YouTube Data API key, YouTube Analytics OAuth or a pasted YouTube Studio export, a Niche Watcher that finds what is working right now for similar-size channels from public search results the API returns or the user provides, a Title Writer that drafts titles, descriptions and chapters for new videos, a Back Catalogue agent that picks old videos worth a refresh and drafts new versions, and a Change Tracker that records every change the user makes and compares before and after on matched windows. Use when a creator asks for YouTube SEO, better titles or descriptions, what is working in their niche, a back catalogue refresh, or says \"seo run\". Never invents search volumes or stats and never changes a video; drafts only.

関連スキル