Communityコーディング&開発github.com

reels-maker(フィルム監査)

コードでレンダリングされた映像が公開される前に通過しなければならないゲート。40fpsの衝突検査、ピクセルプローブ、独立監査人による承認が必須です。

reels-maker(フィルム監査) とは?

このスキルは、コード生成映像(リール)の品質保証を自動化するための3段階ゲートプロセスを提供します。第1ゲートでは、`node tools/collide.mjs`を40fpsで実行し、3D空間内のすべてのメッシュ(移動体と静止体)の衝突を検出します。第2ゲートでは、`node tools/probe.mjs`を用いて、画面上のピクセル単位の重なり(顔とオブジェクト、字幕と人物など)やフレーム内収まりを計測します。第3ゲートでは、ビルダーとは独立したエージェントが、レンダリング済みMP4に対して2fps以上でフレームシートを読み、MUST-FIX / NICE-TO-FIXの判定とSIGN-OFFを行います。このスキールは、Claude Code, Cursor, CodexなどのAIエージェント向けに設計されており、`reels-maker`リポジトリの`tools/`ディレクトリ内で動作します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/thativanng/reels-maker/tree/HEAD/skills/film-audit

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

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

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

ドキュメント

film-audit: これらのチェックなしに映像は出せない

キットの場所: このスキルのすべてのコマンドは reels-maker フォルダ(github.com/thativanng/reels-maker のクローンで template/ と tools/ を持つもの)から実行してください。プロジェクトにない場合は、まずそのリポジトリの SETUP.md に従ってセットアップしてください。

ルール: 映像が人のもとへ行くのは、(1) 衝突パスが NO COLLISIONS を返し、(2) 「X は顔の上にあるか」という懸念のすべてにピクセル数が付き、(3) 独立監査人が未解決の MUST-FIX なしで承認したときのみです。ビルダー自身による 1fps の確認はスケッチチェックであり、ゲートではありません。修正は他のものを動かします(吹き出しを動かしたらそれがフレーム外に押し出されたことがあります)。そのため、修正のたびに、影響を受けたウィンドウだけを絞って再チェックします。

ゲート1 · 3D 衝突 (node tools/collide.mjs)

  • ページは window.collide(t) を公開します。これは AUD_M(動くもの)内のすべてのメッシュのバウンディングボックスを AUD_S(静止しているもの)および互いと比較し、各ボックスを 0.03 縮めた後に判定します。
  • 新しい移動体と静止体はすべて登録してください。登録されなければチェックはそれを認識できません。投げられた箱、運ばれるカップ、通り過ぎるキューブ、浮遊するウイルスはすべて移動体としてカウントされます。
  • 意図的な接触(手の中のカップなど)は、HELD に名前で除外します。
  • 高さ 0.12 単位未満のメッシュ(床デカール、道路標示、薄いプレート)はスキップされるため、平らなものが誤報を引き起こすことはありません。本当に薄い移動体は独自のチェックが必要です。
  • 40fps で実行してください(STEP=.025、デフォルト)。10fps では、2つの1フレーム接触(投げられた箱が2人の頭を貫通する)を見逃しました。
  • 出力はペアごとに1行: from–to s A × B depth (frames)。NO COLLISIONS の場合のみ出荷してください。

ゲート2 · 画面上のピクセル (node tools/probe.mjs)

3D では決して接触しない欠陥もあります。誰かの頭の3m後ろにあるボトルキャップが、まるで頭から生えているように見えることがあります。画面を測定します:

node tools/probe.mjs "4.4,4.6,4.8" "D.CUPS[0]" "head"   # カップと主人公の頭の重なり(ピクセル単位)
node tools/probe.mjs "24.5,26" "head" "pill"           # 頭は字幕の後ろにあるか?
node tools/probe.mjs "3.0,3.5" "D.GUESTS[1].v.root"    # 1つの矩形: この人物はフレーム内にいるか?
  • overlap: [x, y](両方 > 0 で重なりあり)、gapY、inside(A が B に完全に収まる)を読み取ります。
  • 任意のページ(2D を含む): sel:<css selector> は要素が実際に描画するもの(その文字、行ごとに測定、背景・境界線・画像を含む)で、safe はプラットフォームのキープクリア領域(window.FILM.safe から取得)です。画面上のすべての単語は、すべてのビートで safe に対して inside: true でなければなりません:
    node tools/probe.mjs --page reels/<name>/page.html --format 9:16 "2,6.4,10.4" "sel:.title,.line,.kicker,.handle,.cap" "safe"
    
  • ファイルを編集せずにカメラキーを試すには、PRE を渡します(毎回前に実行されます): PRE="window._CK.find(k => k[0] === 23.8)[1] = window._dbg.A(72.2, 10, 31, 72, 5.2, 1.5)" node tools/probe.mjs "25,28" "head"。
  • ボックスは保守的です(バウンディングボックスは形状より大きいため)。数ピクセルの重なりは実際には問題ない場合があります。監査人の判断によります。

レンダリング前に、以下のすべてを数値で確認してください:

  • すべての単語、キャプション、ロゴがプラットフォームのキープクリアゾーン(safe、template/formats.json から)内にあること。オーガニックな 9:16 リールではそれは中央帯(アプリが下部4分の1と右側のボタンレールを覆う)です。有料リールでは、下部 35% より上のすべて
  • 顔の近くにあるもの: キャップ、頭の後ろの画面(後光)、通り過ぎるキューブ、口元の小道具
  • カメラ移動中の主人公と字幕ピル
  • フレーム端と近くの小道具に対する吹き出し
  • フレーム端に対する人と車両(24px 以上は安全)
  • 飛翔物(投げられた箱、コイン、ウイルスクラスター)が通過するすべての頭

ゲート3 · 独立監査人

新しいエージェント(決してビルダーではなく、ビルドを見たことのないもの)を references/auditor-brief.md で起動してください。

  • ライブページではなく、レンダリングされた MP4 を読み取ります: ffmpeg -i out/film.mp4 -vf fps=2 …、次にタイムスタンプ付きシート(tools/sheet.py)。
  • フィルム全体で ≥2fps、変更された各ウィンドウで ≥4fps、接触点(ピックアップやハンドオフなど)では 30fps でフレームごとに確認します。
  • アイテムごとに: FIXED / NOT FIXED / REGRESSED / NEW を回答し、MUST-FIX / NICE-TO-FIX でランク付けし、最後に1行: SIGN-OFF または NOT。
  • 修正後の再チェックは絞られます: 修正が触れたウィンドウのみ、および短い回帰チェック。全履歴を持ち越すエージェントを再開するよりも、新しいエージェントを開始する方が安価な場合があります。

監査人が常に見つけていたもの(最初にこれらを確認してください)

  • 頭に触れたり後ろにあるもの: 髪の毛の中のボトルキャップ、頭の後ろの地図ピン、頭の後ろで光るモニター、あごを横切るキューブ
  • 物体同士の貫通: 建物を通り抜けるトラック、互いを通り抜けるトラック、机の下に停められたバン
  • 論理: トラックが先頭からドッキングする、2台目のトラックが1台目を追い越す、テーブルの端に置かれているのに落ちるはずのカップ
  • 人物: 2人が非常に近くに立ち、頭が1つの図形に融合する; 誰かがフレームの半分外にいる
  • 動き: 1フレームのジャンプ(テレポート)、0.1秒で床を突き抜けて落ちるもの、シーン間で主人公が消える
  • 文字: プラットフォームのボタンが覆うゾーン内のテキスト、単語の途中で分割される中国語、シーンと同期していないバナー、英米スペルの混在、誰も説明できない数字、主人公を覆う字幕
  • 音: ウィッシュ音、音楽の下で聞こえないキュー、挿入されたビート後にずれるキュー

Individual skills in this repo

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

thativanng/reels-maker

Build and render a film, reel or animation as code. One HTML page draws any frame on demand with window.seek(t), and a headless browser renders every frame at 2x into an MP4 with sound. Use it whenever someone wants a video made with code rather than a video generator, says "make a film / reel / animated explainer / career video", "render this to MP4", "turn this page into a video", or needs the finishing steps (audio cues, loudness, colour-safe encode, phone preview). It is style-agnostic and renders 9:16, 4:5, 1:1 or 16:9. It runs after reel-intake (the brief) and reel-style (the look), builds on template/starter.html or a style pack such as voxel-walk, and passes film-audit before anything is shown to anyone.

thativanng/reels-maker

The interview before any video is built. It reads what the person already gave (source text, CV, links, brand files), then asks the rest in a few short rounds of numbered questions with a recommended answer marked, always including the format (platform, reel or video, ratio, layout, length, sound). It ends in a one-screen brief that splits "you said" from "I assumed", plus a storyboard, and builds nothing until the person says yes. Use it whenever someone asks for a reel, a video, an explainer, a career film, an animation or a "make a video about X", before film-engine or any style pack, and again when a request changes its purpose, platform or audience mid-way.

thativanng/reels-maker

Picks the look of a reel or film before it is built. It shows three genuinely different looks as stills of the same opening frame with the same words, so the person judges the look and not the content. It keeps a log of every look ever shown, so no look comes back unless asked for, and it locks one look on purpose for a series. Use it after reel-intake's brief is signed and before any test strip, whenever someone says "what should it look like", "give me options", "make it look different from last time", "it looks cheap", or starts a new reel or a new series.

thativanng/reels-maker

The voxel career-film style. A blocky 3D version of the person walks, without ever vanishing, through one scene per role. Their outfit changes as they walk, each scene rises out of the floor ahead of them, and a dark banner tracks year, company and role. Use it when someone wants their career, a journey or a "how I got here" told as a short 3D film for LinkedIn or a portfolio, says "make my career film", "turn my CV into a video", "voxel film", or wants a new chapter added to an existing one. It runs on film-engine (render, audio, finish) and must pass film-audit before anything is sent.

関連スキル