after-effects
This skill should be used when the user asks anything about Adobe After Effects — to "write an After Effects expression", "make a wiggle / loopOut / inertial bounce", "rig a control with a slider / null", "build a MOGRT / Essential Graphics template", "export AE to Lottie or Media Encoder"; OR to "export from After Effects", "export with transparency / an alpha channel", "fix a black background on export", "choose ProRes vs H.264", "which codec / what bitrate for 1080p / 4K", "stop H.264 disappearing from the Render Queue"; OR when "After Effects is slow / laggy / crashing / froze", "RAM preview won't play in real time", "AE is using all my memory / render takes forever", "how do I speed up After Effects"; OR to "organize my After Effects project", "relink missing footage", "fix broken links after moving files", "set a folder structure / naming conventions", "batch rename layers", or "write an ExtendScript / .jsx script". Covers expressions & rigging, export recipes, performance triage, and project hygiene.
1How It Works & Mechanism
Positioned as a "knowledge-based skill": AE is a GUI application where outputs are not rendered files, but pasteable assets (expressions, rigging schemes, export recipes, diagnostic workflows, naming conventions, and 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 serves as a 4-domain routing hub: expressions/rigging/MOGRT, export recipes, performance triage, and project hygiene each route to a dedicated reference, keeping the root file minimal with actionable conclusions.
| Write/debug an expression, rig sliders & nulls, build a MOGRT, export to Lottie | `references/expressions.md` (deep cookbook in `references/expression-library.md`) |
Expressions are ready to copy-paste immediately, grounded in AE expression evaluation semantics: JS evaluates on that property, value/time/index/thisLayer/thisComp are in scope, and expressions override keyframes by default.
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.
Export confusion is traced back to "engine mismatch" (Render Queue = master/mezzanine, AME = delivery), establishing the black background issue caused by H.264 lacking an alpha channel as an architectural fact rather than a bug.
Two engines, and choosing wrong is the root of most export confusion:
Transparent exports require switching codecs (ProRes 4444 / PNG-TIFF sequences / HEVC-alpha + VP9-alpha) rather than tweaking matte settings.
**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.
Performance triage is organized into three sequential symptom-based workflows (from least intrusive to most intrusive, stopping upon resolution) rather than a flat list of adjustable settings.
Work top-down by symptom, cheapest fix first, and stop when it clears.
Project hygiene establishes "delivery projects must Collect Files" and ".jsx batch operations must wrap in UndoGroup and apply effects by matchName" as hard rules.
**Always hand off projects via `File > Dependencies > Collect Files`**, never a bare `.aep`.
The three bundled .jsx scripts are templates intended for "editing top constants and running manually via Run Script in AE," not entry points for automated agent execution.
select layers in a comp, then File > Scripts > Run Script File...
2Core Capabilities
3External Dependencies
| Kind | Dependency / Endpoint |
|---|---|
| cli | ffmpeg(透明 WebM/VP9 转码示例) |
| package | Adobe After Effects 的两个导出引擎(Render Queue / Adobe Media Encoder) |
| package | Bodymovin / Lottie 导出链(AE 扩展 + lottie-web;示例代码,产物期引入) |
| cli | Creative Cloud 的 Other Versions 回滚流程(崩溃/回归时的用户侧动作) |
4Recommended Governance & Evidence
- scripts/: Execute local scripts or commands: skills/after-effects/scripts/batch-rename.jsx (modifies the name of selected layers in the active comp)
- 本地工作目录: File read/write and artifact output: .jsx scripts only manipulate in-memory AE project objects (layer names, in-points, effect stacks); disk persistence is determined by the user saving in AE; scripts do not write to the file system directly.
5Second-Pass Verification
- [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,故不验证其数值正确性,只作为「文档声明」记录,不在结论里当作已核事实。
6Verdict & Scenarios
7cd8155a90d8ab34…