# onetake: a Claude skill that scores whether each beat of a motion film carries into the next

> onetake is an Agent Skill for product launch films, teasers and feature demos shot as one continuous camera move. A script called probe.py scores continuity at every boundary, and a film whose beats merely replace each other fails.

**feitangyuan/onetake** — Motion films that never cut to the next slide: every beat grows out of the one before, one continuous camera, continuity measured by an oracle. Product launch films and feature demos, made with a coding agent.

- Repository: https://github.com/feitangyuan/onetake
- Website: https://onetakemotion.com
- Stars: 3,914 · Forks: 272
- Language: Python
- License: NOASSERTION
- Published: 2026-10-16 · Updated: 2026-10-30 · Language: en
- Canonical page: https://hysenlabs.com/projects/feitangyuan-onetake

## Scenes that replace each other read as a slideshow even when every shot looks fine

The project starts from a complaint about AI-made motion video. Most of it, and most template tools, comes out loose: title card, fade, UI shot, fade, feature card, fade, logo. Each shot can look fine and the whole still reads like a slideshow, because nothing connects one beat to the next. Scenes replace each other.

onetake is a Claude Agent Skill that targets that failure for product launch films, teasers and feature demos. Its premise is that the boundary between two beats is the thing to design. At every boundary, something on screen survives and visibly becomes the next beat. The result is meant to be a single continuous take. The README is bilingual, English and Chinese, with the same claims in both, and the site onetakemotion.com carries the finished films and a paid onetake Pro. The skill itself is written down in SKILL.md at the repository root.

## Carried beats are specific moves: a bar collapses into a line, a card grows into a page

The project lists concrete carries. A prompt bar opens into the app window, and the window reflows into the phone. A bar collapses into a line, the line shoots across the desk and becomes the first grid line of the next film. A card grows into the page, a stage opens from the character, and the camera pushes through a card until it is the next scene. At the end, the cast folds into the lockup, and in the launch film a block cursor writes the product name in one stroke.

One camera holds this together and never cuts. It follows the subject a beat ahead, whips to where the next thing will land, floats like a hand-held operator and shakes when something hits. Then it holds dead still, because rests are what make the moves land. That last rule is also a test target, since the oracle penalizes films with no stillness.

## probe.py records every frame and scores what carried across each boundary

Every film is checked by an oracle before a human watches it. The script probe.py records what is on screen in every frame, finds each boundary and asks what carried across it. A film whose beats replace each other fails. The table in the project shows how the score separates drafts:

An earlier launch film, version 1, had perfect rhythm and was still a slideshow. It was rejected at a carry score of 0.00. The same film as version 2 was rejected at 0.40. Version 3, where every beat grows out of the last, was accepted at 0.75. The onetake launch film itself was accepted at 0.83.

The numbers give a range, not a rule: 0.40 fails and 0.75 passes, and the exact cutoff between them is not stated in the visible text. A badge in the README links scripts/verify_promo.py, so the verification entry point is a file you can read before trusting the verdicts.

## The same oracle rejects uniform cadence, clipped audio and subjects that leave the frame

Continuity is not the only gate. The oracle also fails a film with uniform cadence, meaning shots that are all the same length. It fails a film with no stillness, clipped audio, fast moves without motion blur, and a subject that leaves the frame.

These are rejections a human editor would make by eye, moved into code so an agent can iterate against them. The loop is: the coding agent produces a film, the oracle returns a verdict, and a failed film goes back for another pass before a person watches it. The earlier launch film that had perfect rhythm shows why a single check is not enough; rhythm alone gave a 0.00 carry score. A film that passes cadence and fails continuity is still rejected.

The cost is that the oracle's definition of good is fixed. A deliberate hard cut, a held title card or a sequence where the subject exits on purpose is something the listed checks would flag.

## Product UI is rebuilt in HTML on the camera plane, and every frame is deterministic

Several choices make the output look finished. The product's interface is rebuilt in HTML from screenshots and placed on the camera's plane, so the camera can fly into it at any zoom. No screen recording is used. About 38 moves, covering springs, entrances, carries, contact, sims, camera and fluid grounds, are each a pure function of time with a measured speed curve. The project says none is a hand-rolled ease.

Motion blur is real: every moving frame is several captures across an open 180 degree shutter, averaged in linear light, so fast moves smear and do not strobe. Foley and synthesized sound are placed from the film's own events in one reverb, with the music ducking under hits.

Rendering is deterministic: seek to any time and get the same frame. Drafts render at 1080p30 and finals at 4K60. Rebuilding UI from screenshots means a team needs good screenshots of its own product first.

## Each case ships the finished film and a breakdown but not the source code

The cases folder holds twelve or more films grouped as concept ad, launch film, app promo and feature demo. Titles include domino, where 12,346 phones fall and a picture resolves from 1 to 100 by 100 in one take; overlap; infra; one-dot; pith, a window growing from one phosphor pixel from 440x down to 0.52x in one move; knockon; clearing, a zoom from 1x to 300x and back; and ebb. Every case has a film and a breakdown covering the concept, the beat sheet, the numbers, and what was rejected and why.

The films' source code is not included. A reader can study how a take is built from the breakdowns but cannot rerun or fork a specific film. The repository does hold reusable parts: lib, looks, references, scripts and templates directories next to a gallery folder. The visible README does not show install commands, so setup steps must be taken from SKILL.md.

## The public release is tagged lite, and the license field is blank

The one release is v1.1.0-lite, titled onetake 1.1.0-lite and dated 2026-10-08. The README sends readers to onetakemotion.com to see the films and get onetake Pro, and the visible text does not say what the lite release leaves out compared with Pro. Anyone planning a project on the free version should ask that before committing.

GitHub reports the license as NOASSERTION. The README shows a license badge linked to a LICENSE file in the repository, so the terms are in that file and not in GitHub's summary. Read it before using the skill commercially.

The last push was on 2026-10-21, and the repository is not archived. New films are promised every week on X under the handle paojiaofty. The skill runs inside a coding agent, so output quality depends on the agent and model you run it with.

## Conclusion

onetake suits a designer or founder who already works with a coding agent and wants launch films where continuity is a pass or fail test, not a matter of taste. It is a weaker fit if you need the source of the example films, which the project does not ship, or a clear license, which GitHub reports as NOASSERTION. Before building a film, open SKILL.md and scripts/verify_promo.py to see exactly what the oracle checks.

## FAQ

### What is a onetake?

onetake is a Claude Agent Skill for making product launch films, teasers and feature demos as one continuous camera take. Every beat grows out of the one before it.

### What does one take mean in onetake?

It means one camera that never cuts, with something on screen surviving each boundary to become the next beat. The script probe.py scores that continuity, and a film whose beats replace each other fails.

### Does onetake include the source code of its example films?

No. Each case ships the finished film and a breakdown with the concept, beat sheet and numbers, but the films' source code is not included.

## Sources

- [feitangyuan/onetake on GitHub](https://github.com/feitangyuan/onetake)
- [Issues](https://github.com/feitangyuan/onetake/issues)
- [Project website](https://onetakemotion.com)
- [README](https://github.com/feitangyuan/onetake/blob/main/README.md)
- [Releases](https://github.com/feitangyuan/onetake/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/feitangyuan-onetake
