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

testimonial-video

このスキルは、ユーザーが「アニメーション付きのお客様の声を作成したい」「引用文動画を作りたい」「レビュー動画を構築したい」「顧客の声をグラフィック化したい」「顧客レビューをアニメーション化したい」「ソーシャルプルーフ動画を作成したい」「アニメーション付き星評価を追加したい」「レビュー一覧を動画に変換したい」と要求した際に使用します。引用タイポグラフィ、段階的なテキスト表示(staggered reveal)、重要フレーズのキネティックな強調、アニメーション星評価、作成者ブロック(氏名/役職/アバター/会社名)、および複数レビューへの1テンプレートの適用(カードテンプレ化)をカバーします。

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仕組みと動作原理

最優先ルールは「信頼性が先、モーションは後」:抑制された表現は信頼感を与え、過剰なアニメーションは広告と見なされます。

skills/testimonial-video/SKILL.md
A testimonial earns its job by feeling *real*, not produced. Restraint reads as credibility; over-animation reads as an ad people skip.
すべての設計方針(控えめなモーション、原文通りの引用、実在のアバター)はこのルールから導出されます。

読書順に従って行ごと/文ごとに段階的表示(reveal)。すべてフレームから導出し、CSS transition や JS タイマーは厳禁とします。

skills/testimonial-video/SKILL.md
drive every line off `useCurrentFrame()` so it renders deterministically — never a CSS transition or a JS timer, which desync from the frame renderer.
reference の toLines() は、固定文字数での強制改行ではなく節の境界で改行します。

強調フレーズは1か所のみとし、該当行が静止した後に適用(ハイライトスイープ/ウェイト変更/色変化)。

skills/testimonial-video/SKILL.md
let it arrive *after* its line has settled
「2か所のハイライトはハイライトが存在しないことと同じ」という引き算の法則に基づきます。

小数点星評価は2層グリフの幅トリミングで表現:4.5も5.0と同様に正確であり、半星素材は不要です。

skills/testimonial-video/SKILL.md
Use one full row of star glyphs as a mask, then wipe a filled layer to `rating / max` width — this handles 4.5 as cleanly as 5.0, with no half-star sprite.
BT補足:rating/max*100% により任意の小数に対して正確であり、4.3は正確に4.3としてレンダリングされます。

作成者ブロックは最後に配置し静止を維持。アバターは実在の人物必須、ない場合は非表示とします。

skills/testimonial-video/SKILL.md
Use a real avatar or none — a generic placeholder face actively destroys trust.
静止したクレジットブロックにより、帰属が広告ではなく事実の記録として伝わります。

データ整合性:highlight は引用文の完全一致部分文字列である必要があり、そうでなければレンダリングを即座にブロックします。

skills/testimonial-video/references/batch-and-typography.md
The `highlight ⊂ quote` check is the important one: it guarantees you only ever emphasize words the customer actually wrote.
「顧客の原文を決して改変しない」という方針を実行可能なバリデーションに落とし込みます。

評価の正確性とアクセシビリティは同源:データにない中空/塗りつぶし星は一切表示せず、評価のないレビューに星を補完することも禁止します。

skills/testimonial-video/references/batch-and-typography.md
never show more filled stars than the data supports
BT補足:「評価がない場合は行全体を省略し、デフォルトで星5にしないこと」。

テンプレート × レビューリスト → 1レビュー1動画。ビジュアルスタイルは単一の theme オブジェクトに集約します。

skills/testimonial-video/SKILL.md
The payoff: make every field a prop, hardcode nothing, then render once per review.
一括処理時はテキストと評価値のみが変化し、50件の証言全体でピクセル単位のブランド一貫性を保ちます。

検証ループ:「引用文 → 星評価 → 作成者」の順で各1フレームを抽出し、リリース用 review の props を使用して検証します。

skills/testimonial-video/SKILL.md
**Verify loop — render stills → inspect → encode.** Cheap PNGs first; render with the **shipped** review's props, not just `defaultProps`.
チェック項目には「引用の完全一致、強調は1か所のみ、星の塗りつぶしと数値の一致」が含まれます。

2コア機能

01行/文単位のスタッガー表示(spring damping 200、オーバーシュートなし + 14px 上昇)
02キーフレーズのグラデーションハイライトスイープ(単一 mark タグで保持、複数行対応)
03小数点星評価コンポーネント(2層アスタリスクグリフのトリミング + aria-label 実数値)
04作成者ブロック(氏名/役職/会社/アバター、最後に入場し静止を維持)
05レビュースキーマ + highlight⊂quote バリデーション(一括処理前に行単位でエラーを防止)
06引用タイポグラフィ設計(スマートクォート、ぶら下げクォート、文脈に基づく改行、孤立単語(orphan)制御)
07テンポ管理:後半はカード全体を完全静止させ、スクリーンショットや共有を容易化

3外部依存関係

KindDependency / Endpoint
packageremotion(frame/spring/interpolate/Img)
packagecsv-parse(reviews.csv → props)
clinpx remotion render(逐条评论渲染 MP4)
cliffmpeg / ffprobe(仓库共享 contact-sheet.sh、probe-mp4.sh)
networkiart.ai(reference 尾部推广链接,具 utm 参数;仅读者点击才请求)

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

安全運用のための推奨統制措置
Agent 向け
段階的・都度認可、サンドボックス推奨
管理者向け
承認フロー、ロールバック可能、全履歴監査
判定根拠(ファイルパスと抜粋)
  • scripts/: ローカルスクリプトまたはコマンドの実行: skill ディレクトリ内に同梱スクリプトなし。SKILL.md/reference がエージェントに `node` の実行を指示(CSV→props スクリプト、ソースコードは refer 内に記載)
  • 网络端点: 外部ネットワークアクセスの宣言: 実行時に業務 API の呼び出しなし。レビュー本文およびアバター素材はユーザー提供(ローカルファイルまたはユーザー指定の URL)
  • 本地工作目录: ファイルの読み書きと成果物の出力: ユーザープロジェクト内に `reviews/*.json`(CSV→props 生成物)、`out/*.mp4`、`out/demo.gif` を書き込み
監査ノート: トリガー項目は分類基準の「サードパーティプラグイン、ミラー、リモートパッケージへの依存」:skill ディレクトリ自体は純粋な Markdown(スクリプトなし、認証情報読み取りなし、env 読み取りなし)ですが、宣言されたデリバリーパスでリモートパッケージ `remotion` および一括パイプライン用の `csv-parse` の導入が必須であり、npm レジストリから `npx` 経由で取得・実行されます。同リポジトリの `remotion-video` と同一基準でオレンジ判定としています。**明確に該当しない項目**:認証情報/Cookie/環境変数の読み取りなし(トークンスキャンで実質的な検知ゼロ)、ユーザー素材を外部生成サービスへ送信しない(レンダリングはローカルで完結)、TLS ダウングレードなし、`--no-verify` なし、サンドボックス無効化なし、対自動化回避なし。トリガー条件:実際に動画をレンダリングするか CSV を解析する際にのみ発生します。

5二重目の独立検証

  • [discrepancy] 批量脚本是否可直接运行 — batch-and-typography.md 的 `rows.forEach(...)` 内部调用 `slug(r.name)`,而 `const slug = ...` 定义在 forEach **之后**——直接运行会触发 TDZ ReferenceError(应把 slug 定义提前)。这是照抄会失败的实现瑕疵。
  • [ok] 星级/分值口径是否两处一致 — SKILL.md 的 StarRating 与 quote-card.md 都用 `(rating/max)*100` 宽度裁切,都挂 role=img + aria-label 真实分值;BT 另补充「无评分就不画星,不默认 5 星」。
  • [ok] 时序表与公式是否自洽 — quote-card 的时序表(8–48 行、44–54 高亮…)对应 `hlStart = 8 + lines.length * 6 + 4`:5 行时 hlStart=42(表列 44),6 行时 48(表列 44–54 上沿)——量级一致,表以 5–6 行引文为例。
  • [ok] SKILL.md 与 reference 的 schema 是否同构 — quote/highlight/rating/max/name/role/company/avatar 八个字段在 SKILL.md 示例、quote-card.md 的 Review 类型、BT 的 Review 类型三处完全一致。
  • [ok] 顺序纪律是否有一致论证 — 本 skill 的顺序是「引文→星→作者」(claim → proof → who);SKILL.md 与 quote-card.md 的 Why these choices 均说明重排会削弱可信度。
  • [ok] 凭证/外发面反查 — token 扫描零实质命中;无 env、无 keychain、无 cookie 读取;批量脚本只读本地 CSV、只写本地 JSON 与 MP4。

6結論

  • 「顧客の原文を改変してはならない」を実行可能な検証に変換(highlight は引用文の部分文字列でなければレンダリングをブロック)
  • 幅トリミングによる小数点星評価。半星素材への依存がなく、任意の小数で高精度を維持
  • アクセシビリティと真実性を連動:aria-label に実数値を格納し、評価なしなら星を描画しない
  • 具体的かつ実行可能なタイポグラフィ設計(スマートクォート、ぶら下げクォート、孤立行バインド、モーションは移動+透明度のみに限定)
  • 依存関係ゼロの HTML/CSS バリエーションを提供し、Remotion パイプライン以外でも利用可能
  • 最適な用途: 顧客レビュー/レビュー一覧をソーシャルプルーフ用ショート動画に変換したいチーム:50件のレビューを一括レンダリングし、ブランドガイドラインを固定し、正確な星評価を表示し、原文通りのテキストを維持し、かつアクセシビリティと組版品質を重視する場合に適しています。
    不向きな用途: セール・割引プロモーション(promo-video を使用)、一般的な広告クリエイティブ(ad-creative-video を使用)、帰属可能な実在人物や正規のスコアが存在しないシナリオ(当スキルは匿名の証言や架空の評価を明確に否定します)。
    Install Agent-Ready
    ① Verified Mirror 2026-09-28
    Option A · Direct DownloadDownload testimonial-video.tar.gz
    sha256: e005b1884e39df9a…
    Option B · Copy Guide for Agent
    install.json
    Agent はこの JSON ガイドから自動的にダウンロードして検証します。
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit 0de0f2a1c1.