コンテンツ制作 · iart-ai/ad-video-skills

ad-creative-video

This skill should be used when the user asks to "make a video ad", "create an animated ad", "build a performance/UGC-style ad", "batch-produce ad creative variations", "generate ad variants for A/B testing", "swap headline/offer/CTA across many ad versions", or "export one ad in multiple aspect ratios for Meta/TikTok/Reels". Covers ad hook structures, hook→CTA message-match, data-driven variant generation (1 template × CSV = N ads), multi-aspect export, and platform specs.

L4 高権限 · 段階的認可と監査V1 コミット固定コマンド実行ネットワーク通信ファイル書き込みDual-pass Audit
Author iart-aiGitHub iart-ai/ad-video-skills ↗Stars 8License MIT(仓库根 LICENSE:「MIT License」/「Copyright (c) 2026 iart.ai」;.claude-plugin/plugin.json 与 README「## License」同声明 MIT)Commit 0de0f2a1c1
管理レベルは Skill の能力と推奨統制措置を示すものであり、品質や安全性の認証、利用可否の判定ではありません。使用の可否はユーザーおよび管理者が決定します。Agent 環境によって制約が異なるため、自動保護を仮定しないでください。第三者製 Skill の著作権は原著作者に帰属し、利用リスクは利用者が負います。

1仕組みと動作原理

一括処理メカニズム:データ駆動型テンプレート1つ × CSV = N個のバリアント。各行にメッセージが整合(message-matched)した完全な広告を定義し、行単位でレンダリング。

skills/ad-creative-video/SKILL.md
The payoff: author the ad once, then let a CSV drive the matrix. Each row is one fully-formed, message-matched variant. Render once per row.
テンプレートファイルの複製ではなく、props化によって「一括生成」を実現します。

決定論的レンダリング規律:テンプレートは1つのvariantオブジェクトのみを読み込み、すべてのアニメーション値はuseCurrentFrame()の純粋関数でなければならない。

skills/ad-creative-video/SKILL.md
Make every animated value a pure function of `useCurrentFrame()` so each frame renders deterministically (no CSS transitions, no library timers — they desync the render).
CSSやライブラリのタイマーはフレームレンダラーと非同期になり、書き出し時のジッター(カクつき)の原因になります。

実験の解釈可能性に関する規律:一度に変更するフィールドは1つのみとし、それ以外のレイアウト/アニメーション/配色/再生時間はすべて固定する。

skills/ad-creative-video/SKILL.md
Hold layout, motion, colors, and timing constant; swap *only* the field under test (hook, or offer, or CTA). Mixing two changes makes the winner uninterpretable.
実験設計をスキルの出力規律として組み込みます。

フック(Hook)とCTAのメッセージ整合性:最初の3秒間の約束=ボタンで実現される約束。

skills/ad-creative-video/SKILL.md
The promise made in the first 3 seconds must be the promise the button pays off.
サンプルCSVの各行のCTAは、必ずその行のフックと対応しています。

複数アスペクト比での書き出し:フック/製品/CTAをすべて1:1の中心スクエア内に配置し、レターボックスではなくリセンタリング(再中央揃え)で対応。

skills/ad-creative-video/SKILL.md
Design the hook text, product, and CTA inside the **1:1 center square** so they survive every crop.
アスペクト比はpropで制御し、referenceはcalculateMetadataを使用して寸法を解決します。

プラットフォームのセーフゾーンは厳格な仕様:9:16の下部3分の1はプラットフォームのUIで占有されるため、bottomSafeを必ず確保する。

skills/ad-creative-video/references/platform-specs.md
The 9:16 bottom third is the single most violated zone — captions, the CTA button, and the handle stack there.
目分量ではなく、レイアウト定数内にkeep-clear bandを確保します。

不正データは即座にエラー停止(fail loud):パーサーはエラーを蓄積してexit 1で終了し、欠陥のある広告を出力しない。

skills/ad-creative-video/references/batch-ad-pipeline.md
error(s) — no broken ads written.
必須フィールドの欠落、重複ID、不正なHEXカラーなどはすべて検出・阻止されます。

検証ループ:低コストなPNG静止画を先にレンダリングし、defaultPropsではなくshipped props(実データ行)で判定する。

skills/ad-creative-video/SKILL.md
Cheap PNGs first, full encode only once they're clean. Render with the **shipped** props (the real row), not just `defaultProps`.
複数アスペクト比の一括書き出しを行う前に、アスペクト比ごとに代表的なバリアントを1つ検証します。

2コア機能

01データ駆動型広告テンプレート(1テンプレート × CSV = Nバリアント)
02単一変数テストマトリックス生成器(「一度に変更するのは1つだけ」をコードの制約として定義)
03マルチプレイスメント/複数アスペクト比の仕様とセーフゾーン(9:16 / 4:5 / 1:1 / 16:9)
04フックタクソノミー(5種類のフックテンプレートと適用シナリオ)
05ブランドロック用theme単一オブジェクト(40個のバリアントでテスト対象フィールドのみを変更)
061つのコンポジションから任意のアスペクト比を出力するcalculateMetadata

3外部依存関係

KindDependency / Endpoint
packageremotion(帧驱动渲染框架)
clinpx remotion render / still
packagezod(输出契约要求的 props schema)
cliffmpeg / ffprobe(仓库共享 contact-sheet.sh、probe-mp4.sh)
networkiart.ai(reference 尾部推广链接,具 utm 参数;仅读者点击才请求)

4推奨統制措置と判定根拠

安全運用のための推奨統制措置
Agent 向け
段階的・都度認可、サンドボックス推奨
管理者向け
承認フロー、ロールバック可能、全履歴監査
判定根拠(ファイルパスと抜粋)
  • scripts/: ローカルスクリプトまたはコマンドの実行: スキルディレクトリ内に同梱スクリプトはなし。SKILL.mdがエージェントに `node csv-to-props.js variants.csv ./pr の実行を指示。
  • 网络端点: 外部ネットワークアクセスの宣言: 実行時にビジネスAPIの呼び出しやビジネスエンドポイントへのリクエストはなし。広告データと素材はすべてローカル由来。
  • 本地工作目录: ファイルの読み書きと成果物の出力: ユーザープロジェクト内で `props/<id>.json`、`out/<id>.mp4`、`out/demo.gif` を書き込み。contact-sheet.sh が出力を書き込み。
監査ノート: 。トリガー項目は分類基準の「サードパーティ製プラグイン、ミラー、リモートパッケージへの依存」:スキルディレクトリ自体は純粋なMarkdown(スクリプトなし、クレデンシャルの読み取りなし、envの読み取りなし)ですが、宣言された配信パスにおいてリモートパッケージ `remotion`(+ zod契約)および `@remotion/cli` を導入し、`npx` 経由でnpmから取得・実行する必要があります。同一バッチ・同一リポジトリ・同一ツールチェーンの `remotion-video` が同一基準でオレンジ判定されており、本件もこれに準じています。**明確に非該当の項目**:process.env / APIキー / トークン / クッキー / キーチェーンの読み取りなし(リポジトリ全体のトークンスキャンで実質的なヒットはゼロ)、ユーザー素材を外部生成サービスへ送信しない(レンダリングは完全にローカル)、TLSダウングレードなし、`--no-verify` なし、サンドボックスの無効化なし、アンチオートメーションの回避なし。トリガー条件:実際に動画をレンダリングする際(リモートツールチェーンのインストールと実行時)にのみ発生します。チームが事前にremotionをローカルのnode_modulesにロックし、オフラインレンダリングを行う場合、影響範囲は「ユーザー自身のプロジェクトコードのローカル実行」へと収束します。

5二重目の独立検証

  • [ok] skill 目录内是否藏脚本或凭证读取 — 目录只有 README.md(0B)/SKILL.md/references/*.md;全仓 token 扫描 process.env|API_KEY|TOKEN|cookie|keychain|Bearer 零实质命中(唯一命中是 product-demo reference 的 `.cookie-banner{display:none!important}`,属 UI 清理样式,非凭证读取)。
  • [ok] SKILL.md 与 reference 的渲染命令是否自洽 — SKILL.md 走「扁平 props/ + --props-merge 传 aspect」,reference 走「props/<ar>/ 目录 + calculateMetadata 解析尺寸」;两条路线实现同一目标,非矛盾。
  • [discrepancy] CSV 解析器校验的真实行为 — `if (errors) return;` 用的是全局错误计数:首个坏行之后,后续原本合法的行也不会写盘(注释宣称的语义是「不产出坏广告」)。行为偏保守、不会产出错误广告,但会让使用者误以为只有 1 行坏。
  • [ok] hook 长度告警阈值与平台规格是否一致 — 解析器 `if (row.hook && row.hook.length > 60) console.warn(...)` 与 platform-specs 的 hook 在 9:16 ≤ ~60 chars 的规格对得上。
  • [discrepancy] `Packaged helper (scripts/)` 的路径可解析性 — SKILL.md 写 `scripts/contact-sheet.sh` / `scripts/probe-mp4.sh` 这类相对路径,但这些脚本位于**仓库根** scripts/,skill 目录内并无 scripts/(skill 位于 skills/ad-creative-video/);从 skill 目录直接执行会找不到文件。
  • [ok] 跨 skill 指名与边界声明 — SKILL.md 用结构描述而非 skill 名排除促销与证言类("Not for sale/discount countdown promos, and not for testimonial/review-driven ads"),不存在跨仓库依赖或指纹不明的外部 skill 调用。

6結論

  • 「実験の解釈可能性」を実行可能な制約に変換
  • テンプレート複製ではなくprops化による一括生成能力を実現し、40個のバリアントで1つのブランドロックを共有
  • データの完全性を前置:フィールド欠落、ID重複、不正なHEXカラーは即座にexit 1で終了
  • プラットフォーム仕様を抽象的な推奨事項ではなく、ピクセル単位の実行可能なセーフゾーンとして定義
  • 低コストな検証(PNG静止画)を優先し、shipped propsによる検証を強制
  • 最適な用途: 複数プレイスメント・複数バリアントの動画広告配信を行うパフォーマンス/グロースチーム:フックのテスト、A/Bテスト設計、1つのテンプレートから9:16/4:5/1:1/16:9を一括生成する必要があり、すでにNode/Remotionの開発能力を持っている環境。
    不向きな用途: 動画を1本だけ編集したいユーザー(一括生成と実験設計こそが本スキルの真価です)、割引カウントダウンプロモーション(promo系を使用)や顧客の声/レビュー(testimonial系を使用)が必要なシナリオ、Nodeツールチェーンがない環境。
    Install Agent-Ready
    ① Verified Mirror 2026-09-28
    Option A · Direct DownloadDownload ad-creative-video.tar.gz
    sha256: 6cc9db5805b68bad…
    Option B · Copy Guide for Agent
    install.json
    Agent はこの JSON ガイドから自動的にダウンロードして検証します。
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit 0de0f2a1c1.