Home / Blog / FirstTake – an open-source Claude Code skill for video…
Tech News

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

FirstTake – an open-source Claude Code skill for video shoots, offload

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 PropertyTraditional Clapper / GuessworkFirstTake Measured Implementation
Sync drift detectionSingle-point offsetUp to 10 probe positions measuring drift spread
Frame rate mismatch driftUnmeasured (~70 frames per 40 min)Drift near ±1000 ppm identified and flagged
Media offload verificationUnverified file copyRead-once hashing with MHL 1.1 / ASC MHL verification
FFmpeg master accuracyVisual approximation1.08 codes of 255 against delivered master
Vertical framing toleranceStatic centered cropExcursion 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

FirstTake – an open-source Claude Code skill for video shoots, offload
Illustration · Pexels

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.

Command
npm install -g @anthropic-ai/claude-code

To update an existing local installation of the CLI tooling directly from the terminal, run the update utility.

Command
claude update

When interacting with the repository inside the Claude Code interface, developers can switch models dynamically or pin their session to a specific release.

Command
/model claude-fable-5-1
Command
/model fable

Users can also launch the command-line interface directly pinned to a specific model version from the terminal.

Command
claude --model fable

To 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

Dillip Chowdary

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

5-min tech signal

Weekday briefing for engineers who skip the noise.

No spam · Unsubscribe anytime

Advertisement

✈️ CareerPilot

Your AI job-search copilot

Match your resume against live Ashby, Greenhouse & Lever openings — fit scores, job-specific resume optimization and email alerts.

Find matching jobs →

Free Tools

Browse all tools →