FirstTake – an open-source Claude Code skill for video shoots, offload
Sklarstad launched FirstTake, an open-source Apache 2.0 Claude Code skill running on Python 3.12+ and FFmpeg to automate video production, sync, and offload.
By Dillip Chowdary • Oct 25, 2026 • Source: github.com
Sklarstad launched FirstTake, an open-source Claude Code skill released under the Apache 2.0 license designed to automate video shoots and post-production workflows from initial kit profiling to a final signed-off master, according to github.com's report. Built for situations where a subject will only sit once and nobody is dedicated strictly to monitoring audio and video levels, the system runs on Python 3.12+, FFmpeg, and NumPy. Every utility in the toolkit operates standalone without requiring an AI assistant or third-party API keys, transforming production parameters into strictly measured, reproducible numbers across lighting, camera placement, audio levelling, and offload verification.
This report covers the three-act architecture of FirstTake, examining how it prepares gear, secures recorded camera media, conformed timelines, and exports masters across DaVinci Resolve, Adobe Premiere Pro, and standalone FFmpeg workflows. The toolkit targets solo videographers, technical operators, and production crews handling tight, non-repeatable interviews where equipment clock drift and visual mismatches cannot be fixed on set. By replacing guesswork with explicit measurements, FirstTake provides predictable production pipelines for creators producing standard landscape programme masters alongside vertical social cuts.
What shipped in FirstTake – an open-source Claude Code skill
FirstTake delivers a structured three-act pipeline starting with Act 1, which profiles physical gear, evaluates locations from photographs, and outputs concrete setup numbers like lantern height, distance, angle, and output percentage. The onboarding and location-scouting templates construct deterministic run sheets, camera placement instructions, and call orders. Because hardware measurements are mapped to specific camera bodies, cards, drives, and microphones, the preparation phase deliberately avoids abstract guidelines and enforces literal numbers that require no recalculation or re-derivation once operators step onto the set.
The capture and finishing phases introduce dedicated command-line utilities to eliminate unattended failures during recording and editing. Act 2 deploys offload.py to verify footage by reading media cards once, hashing on input, and comparing the checksums against every disk destination using MHL 1.1, optional generation-chained ASC MHL, and self-contained HTML reports. Act 3 coordinates six discrete post-production stages—conform, edit, grade, mix, caption and document, and deliver—relying on sync_cameras.py and assemble_ffmpeg.py to place unclocked media onto unified timelines, match body color, align words, and generate final multi-format exports.
What improved in FirstTake – an open-source Claude Code skill
FirstTake replaces manual top-of-take clapperboard alignment with multi-point onset envelope correlation using sync_cameras.py, probing footage across up to ten positions to detect silent timeline drift. While a clapperboard only establishes a single offset point, cameras running 29.97 frames per second against 30.000 frames per second drift apart by roughly one frame every 33 seconds, creating an error of approximately 70 frames over a forty-minute shoot. Probing onset envelopes rather than spectral audio waveforms ensures synchronization locks even when multiple disparate microphones record inside the same room.
| Metric or Workflow Property | Traditional Clapper / Guesswork | FirstTake Measured Implementation |
|---|---|---|
| Sync drift detection | Single-point offset | Up to 10 probe positions measuring drift spread |
| Frame rate mismatch drift | Unmeasured (~70 frames per 40 min) | Drift near ±1000 ppm identified and flagged |
| Media offload verification | Unverified file copy | Read-once hashing with MHL 1.1 / ASC MHL verification |
| FFmpeg master accuracy | Visual approximation | 1.08 codes of 255 against delivered master |
| Vertical framing tolerance | Static centered crop | Excursion budget (48 px for up to 1.25 s) |
The suite also enforces strict tolerance gates when rendering timelines outside traditional non-linear editors. When running without DaVinci Resolve or Premiere Pro, assemble_ffmpeg.py rebuilds a 2228-frame cut from an application-neutral plan within 1.08 codes of 255 against the delivered master, provided the grade is baked once rather than re-applied. For vertical social reformatting, FirstTake ditches rigid crops, allocating an excursion budget across pixels and seconds—such as 48 pixels for up to 1.25 seconds—to accommodate head sway up to 588 pixels across a 1051-pixel union window while preserving compositional margins.
What you gain from FirstTake – an open-source Claude Code skill

Adopting FirstTake allows operators to bridge disparate non-linear editing software without rebuilding sequences by hand or losing critical edit decisions. The toolkit models timelines inside an application-neutral intermediate representation, which nle_ir.py checks against backend capability gates. If an editor cannot natively execute an easing curve on a fade or keyframe a spatial push-in, the compilation halts and explicitly names the unsupported attribute instead of quietly flattening values or dropping parameters, ensuring identical timing whether working on a primary rig or exchanging project files with collaborators.
Teams also gain software independence because assemble_ffmpeg.py acts as a completely free backend requiring no commercial editor licenses to generate deliverables, loudness-mastered tracks, burned-in subtitles, and PR clips. While DaVinci Resolve supports external Python shell automation and color scripting, and Premiere Pro operates via an in-app panel lacking color and retime scripting, the standalone FFmpeg path processes the entire intermediate plan directly. Operators retain the freedom to profile setups, conform drifted tracks, align transcripts per word, and output verified distribution assets without commercial vendor lock-in.
Advertisement
Tech Pulse Daily
Get tomorrow's pulse first
Join engineers who read Tech Pulse before stand-up. Free, weekday mornings.
How to get FirstTake – an open-source Claude Code skill
FirstTake is distributed as an open-source codebase under the Apache 2.0 license on GitHub, and users can install or update the host Claude Code environment using the standard package manager.
npm install -g @anthropic-ai/claude-codeTo update an existing local installation of the CLI tooling directly from the terminal, run the update utility.
claude updateWhen interacting with the repository inside the Claude Code interface, developers can switch models dynamically or pin their session to a specific release.
/model claude-fable-5-1/model fableUsers can also launch the command-line interface directly pinned to a specific model version from the terminal.
claude --model fableTo establish a persistent default model across all future interactive sessions, configure the setting in the local configuration file or via the environment profile before invoking standalone utilities like offload.py, sync_cameras.py, or scripts/resolve_connect.py --check.
What to watch after FirstTake – an open-source Claude Code skill
Post-production teams integrating FirstTake must evaluate backend differences between DaVinci Resolve and Adobe Premiere Pro before choosing a primary handoff pathway. While DaVinci Resolve can script color modifications directly from an external Python module, the preference permitting external script connections is documented as Studio-only, requiring verification with scripts/resolve_connect.py --check on machines running the free edition. Conversely, Premiere Pro support remains in early access via an internal panel, lacking programmatic color grading and retime features, which forces editors to bake color transforms into source media before timeline assembly.
Users must also adhere strictly to media retention rules and transformation limits to prevent silent rendering corruption. FirstTake mandates keeping original camera cards intact until the final deliverable is live and the archive checksums are verified, guarding against corrupted copies. Furthermore, because differing implementations of identical color transforms agreed on geometry to r ≥ 0.9989 but diverged by 14% to 18% in the final grade, operators must ensure that LUTs and grades are baked once rather than re-rendered during automated FFmpeg timeline assemblies.
Developer Action Items
- ☐ Diff the official changelog for Claude / GitHub / Python 2.0 before you bump — APIs, defaults, and removed flags only.
- ☐ Install through the vendor's documented channel in staging; keep a one-command rollback and time-box the canary.
- ☐ Grep your repo for old flag names, lockfile pins, and plugin versions that the notes mark as breaking.
- ☐ Prefer the first patch cut over the day-zero tag unless you have a reason to be on the leading edge.
- ☐ If HN Claude/Codex/Fable did not name a region, plan, or SKU, screenshot the official availability line before you promise it to users.
FirstTake – an open-source Claude Code skill FAQ
What dependencies and software licenses are required to run FirstTake?
FirstTake runs on Python 3.12+, FFmpeg, and NumPy under the Apache 2.0 license, and all of its core tools operate standalone without commercial software licenses or API keys.
How does FirstTake handle camera drift without a shared timecode?
The sync_cameras.py utility probes up to ten places across the timeline and correlates onset audio envelopes rather than waveforms, identifying clock drift near ±1000 ppm such as 29.97 fps against 30.000 fps.
Can FirstTake assemble video masters without DaVinci Resolve or Adobe Premiere?
Yes, assemble_ffmpeg.py acts as a standalone backend that assembles full-quality masters, subtitles, loudness leveling, and speed ramps directly from the application-neutral timeline plan.
Sources
Author
Dillip Chowdary
Writes Tech Bytes coverage of AI, engineering, and the tools that actually ship. Editor of Tech Pulse Daily.
Related on Tech Bytes
Advertisement