1实现原理 · 为什么它能做到
定位是「知识型 skill」:AE 是 GUI 软件,产出不是渲染文件,而是可粘贴的资产(表达式、绑定方案、导出清单、诊断流、命名方案、ExtendScript)。
After Effects is GUI software, so this skill delivers knowledge and ready-to-paste assets — expressions, rig setups, export checklists, diagnostic flows, naming schemes, and ExtendScript — rather than a rendered file.
SKILL.md 是四领域路由中心:表达式/绑定/MOGRT、导出配方、性能分诊、项目卫生各指向一本 reference,根文件只留最小可用结论。
| Write/debug an expression, rig sliders & nulls, build a MOGRT, export to Lottie | `references/expressions.md` (deep cookbook in `references/expression-library.md`) |
表达式能直接粘贴即用,取决于 AE 表达式求值语义:JS 在该属性上求值,value/time/index/thisLayer/thisComp 在作用域内;表达式默认覆盖关键帧。
Expressions are JavaScript evaluated on the property they are pasted on; `value` is that property's value, `time` is comp time in seconds, and `index`, `thisLayer`, `thisComp` are in scope.
导出混乱被归因到「选错引擎」(Render Queue = 母版/中间片,AME = 交付),并把 H.264 无 alpha 的「黑底」写成定论而非 bug。
Two engines, and choosing wrong is the root of most export confusion:
透明导出必须换编解码器(ProRes 4444 / PNG-TIFF 序列 / HEVC-alpha + VP9-alpha),而不是改 matte 设置。
**H.264/MP4 cannot store alpha**, so a transparent comp exported to H.264 always fills with black; that is the classic "black background" complaint and not a bug.
性能分诊按症状分三条有序流,从最省事到最侵入,命中即停——而不是罗列一堆可调项。
Work top-down by symptom, cheapest fix first, and stop when it clears.
项目卫生把「交付项目必须 Collect Files」与「.jsx 批处理必须包 UndoGroup、按 matchName 施加效果」写成硬规则。
**Always hand off projects via `File > Dependencies > Collect Files`**, never a bare `.aep`.
三个内置 .jsx 是「改顶部常量后手动在 AE 里 Run Script」的样板,不是 agent 自动执行的入口。
select layers in a comp, then File > Scripts > Run Script File...
2核心能力
3外部依赖
| 类型 | 依赖 |
|---|---|
| cli | ffmpeg(透明 WebM/VP9 转码示例) |
| package | Adobe After Effects 的两个导出引擎(Render Queue / Adobe Media Encoder) |
| package | Bodymovin / Lottie 导出链(AE 扩展 + lottie-web;示例代码,产物期引入) |
| cli | Creative Cloud 的 Other Versions 回滚流程(崩溃/回归时的用户侧动作) |
4风险提醒 风险提醒:蓝色 · 知晓即可
- references 建议开启 AE 的脚本写文件/联网权限 — project-hygiene.md 的 Scripting setup 指导开启「Allow Scripts to Write Files and Access Network」。这是扩大宿主能力的用户侧开关(Adobe 官方流程),本 skill 的脚本并不需要它;但一旦开启,之后任何 .jsx(含来源不明的)都能写文件与联网——建议只在确实需要渲染/保存的脚本上临时开启。
- 表达式/.jsx 是可执行代码,粘贴即执行 — 交付物形态本身是代码片段;若被替换成恶意版本(供应链面在本目录之外),在 AE 中粘贴/运行就等于任意 ExtendScript 执行。使用时以 pin commit 校验来源。
- 领域结论无出处、无法在源码内复核 — gamma、MFR、编解码等数值声明均为经验性断言(见 second_pass 的 unlocatable 条)。它们决定导出与排障动作,若与你的 AE/编码器版本不符,应以实测为准。
- 锁定在 Adobe 生态与商业软件前提 — 内容全部围绕 AE 的菜单与偏好路径;AE 版本更新(MFR 引入、H.264 输出模块移除)会让部分路径失效,文档本身也承认版本相关回归。
- skill 目录 README.md 为空文件 — 五个 skill 目录的 README.md 都是 0 字节占位;若站点/镜像按 README 取摘要会取到空内容(本 pack 九例全同)。
5第二遍独立确认
- [ok] 三个 .jsx 是否含网络/文件系统/动态执行调用 — 逐行读完:只有 app.project.activeItem 类型守卫(CompItem/AVLayer)、sel[i].name、layers[j].startTime、layer.property("ADBE Effect Parade").canAddProperty/addProperty,以及 beginUndoGroup/endUndoGroup;无 XMLHttpRequest/fetch/File/socket/eval/Function。
- [ok] SKILL.md 或 reference 里是否藏着会被 agent 执行的 shell/CLI 指令 — 全目录搜 npx/curl/wget/brew/npm:均无。本 skill 与同仓 color-motion 的关键差异正在这里——color-motion 的验收回路含 npx playwright screenshot,after-effects 没有任何需要跑的命令。
- [ok] ffmpeg 示例是否构成「执行期外发」 — `ffmpeg -i master.mov … out.webm` 是纯本地转码,输入输出都在本机,不涉端点;列在 external_deps 只为交代工具链,不代表网络行为。
- [ok] 「Allow Scripts to Write Files and Access Network」是否被本 skill 用来做事(是否该升档) — 该句出现在 references/project-hygiene.md 的 Scripting setup 段,是 AE 脚本能力的通用说明(AE 需开此开关脚本才能保存/渲染)。本 skill 的三个 .jsx 都不使用文件或网络 API;按判级口径(对象=skill 自身目录的程序行为),档位仍为蓝,该点只写入 risks。
- [unlocatable] AE 行为类结论(QuickTime gamma、MFR 需每核数 GB、H.264 无 alpha)是否可在源码内验证 — 均为领域知识声明,pin 仓库内没有复现脚本、也没有引用来源(无外链、无数据集)。本次为只读侦查且不运行 AE,故不验证其数值正确性,只作为「文档声明」记录,不在结论里当作已核事实。
6结论
7cd8155a90d8ab34…3c129f769d