huashu-design Agent Skills & AI Rules

GitHub

Huashu Design · HTML-native design skill for Claude Code · Claude Code 里 HTML 原生的设计 skill · 高保真原型 / 幻灯片 / 动画 + 20 设计哲学 + 5 维评审 + MP4 导出 · Agent-agnostic

25,713 stars HTML HTML 1 file · ~3,269 tokens
RAW Rules
33 Discovered Rules • ~72,496 Estimated Tokens
Quick:
Loading skill content...

References Skill

references/ai-video-review.md anthropic-skill ~1,606 tokens
Raw
# AI看片评审闭环(scripts/cloud/ai-review-video.py)

> 终渲MP4喂给视频理解模型(seed-2.0-lite),按固定checklist出结构化评审报告。
> 定位:**终渲后、交付前**的最后一道质检,替代人肉全片重看。不替代逐帧verify-video.sh。
> ⚠️ 可选云能力:压缩后的视频段会发送到火山方舟官方接口(ark.cn-beijing.volces.com),
> 使用你自己的ARK_API_KEY,需`--yes`或`HUASHU_CLOUD_OK=1`显式确认。见仓库根`SECURITY.md`。
> 不想用云:`scripts/verify-video.sh`截帧人工看,全程本地。

## 何时用

- 终渲60fps成片出来后、交付/混音前,跑一遍
- SFX混音版出来后再跑一遍(onset核对只在有音轨时生效)
- 改完大问题重渲后复检
- 不要在试渲30fps阶段跑(分辨率/节奏未定,浪费调用)

## 怎么用

```bash
cd 项目目录 && unset ALL_PROXY   # 脚本内已免疫代理,unset是双保险
uv run ~/.claude/skills/huashu-design/scripts/cloud/ai-review-video.py \
  --video 成片.mp4 \
  --context 导演稿.md \      # 强烈建议带上:模型靠它区分「设计意图」和「bug」
  --yes                      # 确认视频段发送火山方舟(或 HUASHU_CLOUD_OK=1)
```

- ARK_API_KEY 配在 skill 根目录 `.env`(已 gitignore)或环境变量,脚本只提取这一个变量

- 报告落盘:视频同目录 `<视频名>-AI评审.md`(`--output`可改)
- `--segment-len` 默认60秒一段;`--model` 默认 doubao-seed-2-0-lite-260215
- 210秒片实测:6次API调用,6-10分钟,tokens约18万in/2万out(lite档,费用分钱级)

## 调用链路(三层混合,不是纯模型)

1. **ffmpeg客观检测**(确定性,不会漏):
   - `silencedetect` → 音效onset时间表(模型**听不到**视频音轨,2026-07-17实测)
   - `freezedetect` → ≥3秒完全静止段清单
2. **模型分段看片**:60s/段压缩后送审(1280宽/15fps/crf28,扁平动画约0.5MB/分钟),
   每段prompt含checklist+导演稿+该段的onset/静止段数据,时间点换算成原片时间
3. **模型全片低清pass**:960宽/10fps全片单独送审,专查跨段叙事连贯/hero贯穿/整体节奏
4. 文本汇总call按①-⑧合并;分段原始记录+客观检测数据全部保留在报告附录

## checklist与严重度

①黑帧/渲染残缺 ②文字裁切/错字 ③元素重叠遮挡 ④叙事连贯(过渡按 camera-language.md §7 三层词汇识别:六式[流白/穿暗场/虚焦接力/黑场字卡/whip-pan/mask-wipe]、hidden-cut、travel[共享元素归位/字腔穿越];裸切=未包装的硬切,记⚡)
⑤hero贯穿性 ⑥节奏死段(客观清单+模型判断刻意hold还是真死段)⑦音效打点(onset+画面事件核对)
⑧构图失衡/空白

⚠️致命=交付前必修 | ⚡重要=观感明显受损 | 💡建议=锦上添花

## 局限(用报告前必读)

- **模型听不到声音**:⑦是「音轨onset时刻画面有没有事件」的单向核对,
  判断不了音效选得对不对、音量对不对、BGM情绪对不对
- **看不到帧级细节**:1-2帧的闪烁、细微抖动、精确色值偏差、亚像素对齐抓不到,
  这些仍靠 verify-video.sh 截帧人工看
- **过渡类型判断偏严**:压缩到15fps后,快速交叉淡出可能被报成「硬切」,
  分段与全片pass矛盾时汇总会标「存疑」——存疑项自己抽帧确认再改
- **「刻意hold vs 死段」是模型意见**:b-roll垫口播的长定格常被放行,成片独立观看时要自己再判
- 调用失败(网络/key/额度)会如实写进报告头,绝不编造评审结果;失败段的时间范围会标出

## 实测基准

首跑对象:B00-前三分钟主线-SFX.mp4(210s)。模型自主发现幕间过渡问题和hero断点方向正确
但把fade误报硬切;纯模型抓死段只中3/14,接入freezedetect后全覆盖。结论:客观检测层是
这个闭环的下限保证,模型负责语义判断。