bama
BAMA: 모든 Mac 앱을 만들 수 있습니다
오픈소스 스킬: 모든 프레임은 코드, 모든 사운드는 합성. Codex와 Claude Code가 이를 사용한·사용하지 않은 영화를 비교합니다
An open-source skill: every frame is code, every sound is synthesised. Watch Codex and Claude Code make the same film with and without it.
스킬JavaScript · HTMLGitHub @msmahdinejad온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Cinewright — teach Codex, Claude Code & co. to make cinema-grade videos entirely from code. GPU film engine, 239-technique atlas, synthesised music, Persian/RTL.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Your coding agent can now direct films. An open-source skill for Codex, Claude Code and friends. Every frame is a deterministic WebGL/canvas page, every sound is synthesised — no stock footage, no video model, no cloud. Same prompt, same agent: the difference is the skill. Website — watch the films with sound · Getting started · Atlas · Prompt cookbook · Benchmark · فارسی Formerly pure-code-video. Renamed in 2.1.0 — same project, shorter name. To upgrade, run the installer again: it removes the old copy and installs cinewright. The agent prompt is $cinewright.README 전문 보기 ↗
Your coding agent can now direct films.
An open-source skill for Codex, Claude Code and friends. Every frame is a deterministic WebGL/canvas page, every sound is synthesised — no stock footage, no video model, no cloud. Same prompt, same agent: the difference is the skill.
Website — watch the films with sound · Getting started · Atlas · Prompt cookbook · Benchmark · فارسی
Formerly
pure-code-video. Renamed in 2.1.0 — same project, shorter name. To upgrade, run the installer again: it removes the old copy and installscinewright. The agent prompt is$cinewright.
We gave each agent the identical request in a clean folder. The only difference: the skill. Codex ran unattended at xhigh reasoning; every agent is compared with itself, never with another agent. First the jobs people ask for most — plain motion graphics, no 3D spectacle — with prompts that ask for real motion design, not a slideshow (both conditions get the same text), then the résumé showreel:
Introduce a person
$cinewright Make a 15-second motion graphics video that introduces a person: Maya Chen, a senior product designer from Toronto (invent the details). Show her name and role, three skills, three numbers (years of experience, projects shipped, awards) and a short quote, and end on her handle @mayachen. Clean, modern, energetic — the kind of intro a personal brand would open a talk or a portfolio with. It has to feel like real motion design, not a slideshow: objects and type travel and transform from one scene into the next, the camera moves, and every cut lands on the beat. Original music and sound design. Go all out.
Codex · gpt-6-astra · xhigh: frame fill 12% → 25% · near-static 54% → 0% · 3.4× the tokens · one run per cell
Vertical social promo
$cinewright Make a 12-second vertical (9:16) social-media promo for a fictional coffee shop called "Brew & Co." announcing three autumn drinks with prices — Maple Latte €4.50, Spiced Cold Brew €4.00, Pumpkin Mocha €4.80 — and a call to action: "Open daily 7–19 · Main Street". Bold type, flat shapes and simple icon drawings (cups, leaves, beans), a beat-synced edit, punchy sound. It has to feel like real motion design, not a slideshow: objects and type travel and transform from one scene into the next, the camera moves, and every cut lands on the beat. Go all out.
Codex · gpt-6-astra · xhigh: frame fill 35% → 33% · near-static 0% → 0% · 5.6× the tokens · one run per cell
YouTube channel intro
$cinewright Make an 8-second YouTube channel intro for a fictional tech-review channel called "Pixel Pulse": a logo mark that builds itself, the name, a one-line tagline you write, punchy transitions and sound design (a hit, whooshes, a short musical sting). Bold, bright, memorable. It has to feel like real motion design, not a slideshow: objects and type travel and transform from one scene into the next, the camera moves, and every cut lands on the beat. Go all out.
Codex · gpt-6-astra · xhigh: frame fill 16% → 31% · near-static 36% → 14% · one run per cell
Animated infographic
$cinewright Make a 20-second animated infographic explainer titled "Why sleep matters" with three facts — adults need 7–9 hours; one night of poor sleep can cut focus by about a third; a regular bedtime improves mood — each with an animated icon or chart (moon, brain, clock), counting numbers, a clear visual hierarchy, upbeat original music and sound design. It has to feel like real motion design, not a slideshow: objects and type travel and transform from one scene into the next, the camera moves, and every cut lands on the beat. Go all out.
Codex · gpt-6-astra · xhigh: frame fill 12% → 22% · near-static 57% → 5% · 4.4× the tokens · one run per cell
Vertical data story
$cinewright Make a 15-second VERTICAL (9:16) social video that makes people feel one statistic: in the fictional city of Lumen, daily bike-share rides grew from 12,000 in 2021 to 87,000 in 2025. Hook in the first second (a number slams in), one hero visual (a city of dots growing into a river of light), big readable numbers that count up, a map or line-chart moment, a beat drop where 87,000 lands, safe areas for phone UI, punchy music with a drop, and an end card with a one-line takeaway. Go all out.
Codex · gpt-6-astra · xhigh: frame fill 16% → 26% · near-static 14% → 0% · 3.4× the tokens · one run per cell
Prestige title sequence
$cinewright Make a 25-second main-title sequence for a fictional prestige thriller series called "THE HOLLOW HOURS" (a night-shift detective in a city that never sleeps) — Saul Bass meets a modern streaming title. Build everything from abstract shapes, light, grain and type: cut-paper layers that peel apart, a flickering neon sign, rain streaking down glass with bokeh street lights, a clock whose hands unravel into thread, a silhouette made of falling particles. Credit-style typography with invented names ("Created by …", "Starring …"), a brooding original score with a heartbeat pulse and a low brass swell, and a final title lock-up that holds for two seconds. Go all out.
Codex · gpt-6-astra · xhigh: frame fill 21% → 38% · near-static 59% → 9% · 3.6× the tokens · one run per cell
Ambient landscape, no text
$cinewright Make a 15-second meditative cinematic landscape with no text at all: dusk over a procedural terrain with layered mountain ridges, drifting mist, an aurora ribbon in the sky, a slowly rising moon, fireflies, a slow crane move. A gentle original ambient score (pads, a soft pluck, sparse bells). Palette: deep indigo to rose gold. Make it so beautiful that someone would loop it. Go all out.
Codex · gpt-6-astra · xhigh: frame fill 35% → 46% · near-static 100% → 100% · 1.3× the tokens · one run per cell
App explainer
$cinewright Make a 20-second explainer video for "Pocketwise", a fictional app that turns shared household expenses into a simple monthly summary. Show the problem, the app UI (invent the screens), one satisfying data moment (numbers/chart), and end with the name and a one-line tagline. Original music and UI sound design. Go all out.
Codex · gpt-6-astra · xhigh: frame fill 15% → 48% · near-static 65% → 16% · 3.8× the tokens · one run per cell
Résumé showreel
$cinewright make a dynamic 15-second motion graphics video that shows what an incredible motion designer you are, like it's your showreel for a résumé. Go all out.
Codex · gpt-6-astra · xhigh: frame fill 25% → 30% · near-static 25% → 11% · 5.5× the tokensClaude Code · Sonnet 5.5: frame fill 16% → 48% · near-static 21% → 0% · one run per cell
▶ Watch every pair with sound — the soundtrack is part of the result. Heavier, cinematic prompts (a launch film, a sci-fi teaser, a visualizer, an interface boot) are in the benchmark report too — including the ones the skill did not win.
Real motion graphics, Codex · gpt-6-astra · xhigh (second pass) — the prompts ask for motion design, not a slideshow; every complete pair we ran, not a selection (each cell = frame fill % ↑ · static % ↓ · loudness range LU ↑; bold = the better cell on balance; one run per cell — details & caveats):
| prompt | without Cinewright | with Cinewright |
|---|---|---|
| Introduce a person | 12% · 54% · 0.5 | 25% · 0% · 1.8 |
| Vertical social promo | 35% · 0% · 0.7 | 33% · 0% · 0.6 |
| YouTube channel intro | 16% · 36% · 4.1 | 31% · 14% · 1.1 |
| Animated infographic | 12% · 57% · 0.9 | 22% · 5% · 1.2 |
Other kinds of film, Codex · gpt-6-astra · xhigh (third pass) — a data story, a title sequence, an ambient landscape, an app explainer; every complete pair (same cells):
| prompt | without Cinewright | with Cinewright |
|---|---|---|
| Vertical data story | 16% · 14% · 2.3 | 26% · 0% · 2 |
| Prestige title sequence | 21% · 59% · 4.6 | 38% · 9% · 3.4 |
| Ambient landscape, no text | 35% · 100% · 2 | 46% · 100% · 1.3 |
| App explainer | 15% · 65% · 1.2 | 48% · 16% · 4.1 |
Everyday motion graphics with plain prompts, Codex · gpt-6-astra · xhigh (first pass, skill 2.2.0) — also every complete pair (same cells):
| prompt | without Cinewright | with Cinewright |
|---|---|---|
| Introduce a person | 14% · 57% · 1.2 | 50% · 0% · 1.5 |
| Vertical social promo | 36% · 41% · 0.4 | 37% · 0% · 0.8 |
| YouTube channel intro | 9% · 57% · 7 | 31% · 14% · 0.7 |
| Animated infographic | 12% · 73% · 0.8 | 26% · 8% · 2.2 |
The résumé showreel prompt, each agent against itself:
| agent | without Cinewright | with Cinewright |
|---|---|---|
| Codex · gpt-6-astra · xhigh | 25% · 25% · 0.2 | 30% · 11% · 1.2 |
| Codex · gpt-6.1-sol · xhigh | 30% · 11% · 1.4 | 30% · 14% · 2.3 |
| Claude Code · Sonnet 5.5 | 16% · 21% · 2 | 48% · 0% · 1.9 |
Strong cinematic prompts, Codex · gpt-6-astra · xhigh — also every complete pair, including the ones the skill did not win:
| prompt | without Cinewright | with Cinewright |
|---|---|---|
| Product launch film — ARC | 11% · 32% · 6.2 | 13% · 64% · 5.4 |
| Sci-fi teaser — LAST SIGNAL | 14% · 46% · 11.8 | 8% · 54% · 9.2 |
| Audio-reactive music visualizer | 37% · 0% · 4.6 | 22% · 16% · 4.6 |
| Sci-fi interface boot sequence | 9% · 82% · 9.5 | 26% · 25% · 6.4 |
The numbers check motion and sound hygiene, not beauty — watch the films with sound.
One run per cell: an anecdote, not a verdict. The Claude pair was made in an interactive session by the same Claude that wrote the skill — not blind. We publish every run, including the ones the skill does not win (development log).
Frame Summit 2026 — a 15-second event promo
Make a 15-second motion graphics promo for a fictional design conference, "Frame Summit 2026 · Oct 14–16 · Lisbon": three speakers with their talk titles, a big date moment, bold typography and shapes, and the call to action "Get tickets at framesummit.io". Energetic, modern, with a beat-synced edit and sound design. Go all out.
LUMEN — a 15-second vertical data story
Make a 15-second VERTICAL (9:16) social video that makes people feel one statistic: in the fictional city of Lumen, daily bike-share rides grew from 12,000 in 2021 to 87,000 in 2025. Hook in the first second (a number slams in), one hero visual (a city of dots growing into a river of light), big readable numbers that count up, a map or line-chart moment, a beat drop where 87,000 lands, safe areas for phone UI, punchy music with a drop, and an end card with a one-line takeaway. Go all out.
Pocketwise — a 20-second app explainer
Make a 20-second explainer video for "Pocketwise", a fictional app that turns shared household expenses into a simple monthly summary. Show the problem, the app UI (invent the screens), one satisfying data moment (numbers/chart), and end with the name and a one-line tagline. Original music and UI sound design. Go all out.
Kinetic manifesto — “We build it”
Make a 20-second kinetic typography film that delivers this manifesto word for word: "We don't wait for inspiration. We build it. Frame by frame. Line by line. Until the thing you imagined starts to move." Type is the only hero — at least six different typographic treatments (mask reveal, slice, 3D extrusion with perspective, outline-to-fill, scale-through, glitch, per-letter physics) on a driving original drum-and-bass track at 174 BPM with every cut on the beat. Two saturated colours plus one neutral, huge type (at least 40 % of the frame height), a full-bleed colour flood every ~4 s, one camera flight through the letters in 3D and one beat of total silence before the last line. Sound: drums, bass, risers and a synth stab on every key word. Go all out.
THE HOLLOW HOURS — a prestige title sequence
Make a 25-second main-title sequence for a fictional prestige thriller series called "THE HOLLOW HOURS" (a night-shift detective in a city that never sleeps) — Saul Bass meets a modern streaming title. Build everything from abstract shapes, light, grain and type: cut-paper layers that peel apart, a flickering neon sign, rain streaking down glass with bokeh street lights, a clock whose hands unravel into thread, a silhouette made of falling particles. Credit-style typography with invented names ("Created by …", "Starring …"), a brooding original score with a heartbeat pulse and a low brass swell, and a final title lock-up that holds for two seconds. Go all out.
Dusk, moonrise, fireflies — no text
Make a 15-second meditative cinematic landscape with no text at all: dusk over a procedural terrain with layered mountain ridges, drifting mist, an aurora ribbon in the sky, a slowly rising moon, fireflies, a slow crane move. A gentle original ambient score (pads, a soft pluck, sparse bells). Palette: deep indigo to rose gold. Make it so beautiful that someone would loop it. Go all out.
Ask a coding agent for a video and you usually get a slideshow: a few fades over a gradient, no camera, silent or flat sound. This skill changes the outcome at three levels:
| level | what it adds |
|---|---|
| Engine | a motion-graphics kit — eleven scene types cut into one-idea shots (not slides), seven themes, 50 self-drawing icons, counters and charts, a carried object and travelling transitions (whip, push, zoom, iris) instead of slide-to-slide wipes, kinetic type — on top of a GPU toolkit: 32 GPU transitions, 50 000-particle morphs, 25 shader backgrounds, 26 filters, camera tools and a 3D renderer for the occasional scene that needs one, and a sound engine (drums, bass, pads, strings, keys, risers, impacts…) scored from the same spec as the picture |
| Knowledge | an atlas of 256 techniques in 17 families — each a short recipe (use / how / avoid / pairs-with) with code that is executed in CI — plus genre playbooks (data story, title sequence, ambient loop, app explainer, logo sting, kinetic type, visualizer, product reveal: structure, look, what fails), a visual gallery so the agent can see options, and inspire.mjs, which turns any brief into three different creative directions |
| Process | a "studio mode" protocol — brief → look-dev → skeleton → three polish rounds → gates — with objective checks: an anti-slideshow motion metric, a frame-fill floor, audio QC, a craft gate (brief written? shots of 1–2 s, not slides? a carried object and travelling transitions? ≥ 6 techniques from ≥ 4 families? three real review rounds?) and a determinism proof |
Because a video is just renderFrame(t) — a pure function of time — an agent can render any single frame, look at it, fix one number and render again. That is how it checks its own work. How it works →
You need Node ≥ 18, Chrome/Edge/Chromium and ffmpeg (the installer checks and tells you what is missing). No npm install.
# Windows PowerShell
irm https://raw.githubusercontent.com/msmahdinejad/cinewright/main/install.ps1 | iex
# macOS / Linux / Git-Bash
curl -fsSL https://raw.githubusercontent.com/msmahdinejad/cinewright/main/install.sh | bash
Restart the agent afterwards so it rescans skills. (-Target codex|claude, -Project for one repository, -Ref v2.3.0 to pin a version — see the header of the script.)
/plugin marketplace add msmahdinejad/cinewright
/plugin install cinewright@cinewright
npx skills add msmahdinejad/cinewright
docker build -t cinewright https://github.com/msmahdinejad/cinewright.git
docker run --rm -v "$PWD/film:/work" cinewright scaffold /work --template showreel
docker run --rm -v "$PWD/film:/work" cinewright render
In an empty folder, start your agent and ask. In Codex the skill is invoked with $; say "go all out" to switch it into studio mode.
$cinewright make a dynamic 15-second motion graphics video that shows what an incredible
motion designer you are, like it's your showreel for a résumé. Go all out.
You get out/*.mp4, plus the artefacts that make the work reviewable: brief.md (concept, style bible, shot list with technique ids), video.html + audio.mjs (the film's source), qc/ (contact sheets and written review rounds). More prompts — product films, logo stings, trailers, explainers, vertical reels, music visualizers — in the prompt cookbook; the complete source of the Claude showreel above (brief, code, three review rounds) is in examples/.
256 techniques in 17 families. Browse the full catalogue or ask the atlas from your terminal: node skills/cinewright/scripts/atlas.mjs search carry transition whip. The reels below are rendered by the atlas itself.
Every entry above is real code from the atlas — render any of them yourself: node skills/cinewright/scripts/atlas.mjs clip logo-shatter-in --gif.
Claims are cheap, so the repo ships the means to measure them. benchmark/ gives a coding agent (Codex by default, any agent through --agent-cmd) the same prompt in a fresh folder with and without the skill — the baseline run has any installed copy of the skill disabled — then measures each film (motion, frame fill, loudness, process) and offers a blind A/B rating page for taste.
node benchmark/run.mjs --suite headline --models gpt-6-astra,gpt-6.1-sol --effort xhigh # the proof above
node benchmark/rate.mjs <run-id> # blind human rating
node benchmark/report.mjs # → docs/benchmark.md
Full tables, contact sheets, the development log (including the first run, where the skill lost) and caveats: docs/benchmark.md. Run it with your agent and share the result — especially if it contradicts us.
| Getting started | install per agent, check your machine, first film, Docker, troubleshooting |
| How it works | the engine, the atlas, the protocol and gates |
| Prompt cookbook | prompts that work, per domain, and how to steer |
| Atlas | all 256 techniques with galleries |
| Benchmark | method, metrics, results, development log |
| FAQ | limits, licensing, safety |
| Site guide | how the website is built — and tools/new-site.mjs, which generates one like it for any repository from a JSON file |
examples/ | the source of the films above: brief, code, review rounds |
SKILL.md · protocol.md · |
K.loadFonts).New atlas techniques, benchmark results, bug reports and translations are welcome — see CONTRIBUTING.md. Please follow the Code of Conduct; security issues go through SECURITY.md.
MIT © Mohammad Saleh Mahdinejad and contributors — see LICENSE. Bundled fonts: SIL OFL 1.1, see THIRD_PARTY_NOTICES.md. If this helps your work, a ⭐ and a link to what you made is the nicest thank-you. Citation metadata: CITATION.cff.
engine.md| what the agent reads |