首页 / 全部技能 / 内容创作 / testimonial-video
内容创作 · iart-ai/ad-video-skills

testimonial-video

This skill should be used when the user asks to "make an animated testimonial", "create a quote video", "build a review video", "turn a customer testimonial into a graphic", "animate a customer review", "make a social proof video", "add an animated star rating", or "turn a list of reviews into videos". Covers quote typography, staggered line reveals, kinetic emphasis on key phrases, animated star ratings, the author block (name/role/avatar/company), and templating one card across many quotes.

风险提醒:橙色 · 评估后使用AI 侦查报告
作者 iart-aiGitHub iart-ai/ad-video-skills ↗Stars 8许可 MIT(仓库根 LICENSE:「MIT License」/「Copyright (c) 2026 iart.ai」;.claude-plugin/plugin.json 与 README「## License」同声明 MIT)commit 0de0f2a1c1
agent 宿主通常会约束 skill 执行权限;风险提醒为 AI 侦查观点,不构成质量或安全保证。第三方 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.
注:取值方向(保守动效、verbatim 引文、真实头像)都由这条推出。

逐行/逐句按阅读顺序揭示,全部由帧推导,禁止 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() 按子句边界切行,不按固定字符数硬切。

重点短语只允许一处,且在所属行稳定之后才落(高亮 sweep / 字重 / 变色)。

skills/testimonial-video/SKILL.md
let it arrive *after* its line has settled
注:「两处高亮等于没有高亮」的减法定律。

分数星级用两层字形按宽度裁切: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 星」。

模板 × 评论列表 → 一评一条视频;视觉全在单一 theme 对象里。

skills/testimonial-video/SKILL.md
The payoff: make every field a prop, hardcode nothing, then render once per review.
注:批量时只有文案与分值变化,50 条证言逐像素品牌一致。

验证环:按「引文→星级→作者」顺序各采一帧,且用 shipped 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`.
注:检查项含「引文逐字、仅一处强调、星填充与分值一致」。

2核心能力

01逐行/逐句 stagger 揭示(spring damping 200,无过冲 + 14px 上升)
02关键短语渐变高亮 sweep(单个 mark 承载,可跨行)
03分数星级组件(两层星字裁切 + aria-label 真实分值)
04作者块(name/role/company/avatar,最后入场并静止)
05评论 schema + highlight⊂quote 校验(批量前逐行挡错)
06引文排版工艺(智能引号、悬挂引号、按语义切行、orphan 控制)
07节奏纪律:后半段整卡静止不动,便于截图与转发

3外部依赖

类型依赖
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风险提醒 风险提醒:橙色 · 评估后使用

风险提醒:橙色 · 评估后使用
  • 批量脚本有可运行性缺陷 — slug 在 TDZ 中被调用,照抄即报错;使用者需自行修正才能跑通批量。
  • 远程包与本地代码执行 — npx 取回 remotion/csv-parse 并执行;Remotion 渲染会在本地无头 Chromium 内运行项目代码。
  • 评论内容不做真伪审核 — quote/name/company 原样上屏,skill 只校验结构;伪造评价在技术上不会被拦下(但文档有明确的反伪造价值观)。
  • 远程头像 URL 会成为渲染期请求 — avatar 允许任意 URL,渲染器会去拉取;来源与隐私由使用者自负(skill 未限制域名)。
  • 商业引流位 — reference 尾部固定 iart.ai 推广段与 utm 链接。
风险提醒:橙色,评估后使用。触发项是分级范式「依赖第三方插件、镜像、远程包」:skill 目录为纯 Markdown(无脚本、无凭证读取、无 env 读取),但声明的交付路径必须引入远程包 `remotion` 与批量管线的 `csv-parse`,并由 `npx` 从 npm registry 获取执行;同仓 `remotion-video` 已按同口径判橙,此处与之一致。**明确不成立的项**:无凭证/cookie/环境变量读取(token 扫描零实质命中);不把用户素材送外部生成服务(渲染本地完成);无 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 承载真值,无评分就不画星
  • 排版工艺具体可执行(智能引号、悬挂引号、orphan 绑定、动效只用位移+透明)
  • 提供零依赖 HTML/CSS 变体,非 Remotion 管线也能用
  • 适合:把客户评价/评价列表做成社交证明短视频的团队:需要 50 条评论批量出片、品牌锁、分数星级准确、文案逐字不改,且在意无障碍与排版质量。
    不适合:促销/折扣类(用 promo-video)、通用广告创意(用 ad-creative-video)、没有可归属真人或真实评分的场景(skill 明确反对无名证言与虚构分数)。
    安装 agent 直装可复制
    ① 本站镜像 更新 2026-09-28
    方式 A · 人下载镜像包下载 testimonial-video.tar.gz
    sha256: e005b1884e39df9a…
    方式 B · JSON 格式安装指南,复制给 agent
    安装指南
    agent 读 JSON 指南后会自动从本站下载安装,无需更多说明。
    ② 上游 GitHub · 原始来源
    能访问 GitHub?直接去上游安装(实时版,可能已更新)GitHub 原始 ↗
    本页镜像锁定 commit 0de0f2a1c1;上游为实时仓库。
    来源信息 GitHub 原始
    作者 / 仓库iart-ai / iart-ai/ad-video-skills
    Stars8
    最近推送2026-06-22
    本 skill commit0de0f2a1c1
    许可MIT(仓库根 LICENSE:「MIT License」/「Copyright (c) 2026 iart.ai」;.claude-plugin/plugin.json 与 README「## License」同声明 MIT)
    本站信息
    收录日期2026-09-06
    分类内容创作
    侦查报告AI 侦查 · 2 遍 · 2026-09-06
    本站镜像与 GitHub 原始是不同来源:本站锁定 commit 快照经 /r2 分发;GitHub 为实时上游,内容可能已更新。
    同分类邻近