用途:一个自动操作 Adobe After Effects 的技能。用户提出创建、修改或查询 AE 项目内容(图层、关键帧、表达式、合成、效果、素材、渲染等)时,技能生成 ExtendScript(.jsx)并通过 osascript 执行;查询脚本读取项目状态,规则文件提供领域知识,所有改动包在撤销组中。\n\n首次设置:用 scripts/runner.sh 运行任意查询脚本以检测 AE 版本;若装了多个版本,runner.sh 会提示用户选择;需在 AE 偏好设置 > 脚本与表达式 中启用“允许脚本写入文件和访问网络”。\n\n工作流:每次请求先自动收集上下文——运行 bash scripts/runner.sh scripts/active-state.jsx,再读 /tmp/ae-assistant-result.json 获取活动合成、选中图层和 CTI;首次交互或上下文未知时运行 scripts/project-overview.jsx,默认返回摘要,可用 {"mode": "folder", "folderName": "Images"} 下钻,仅在确实需要全部条目时用 full 模式。必要时运行 comp-detail.jsx、layer-detail.jsx(省略 compName 用活动合成,省略 layerNames 用选中图层)。额外查询脚本有 expression-errors.jsx、font-inventory.jsx、project-audit.jsx。\n\n生成动作脚本前必须解析技能真实(非符号链接)路径:SKILL_SCRIPTS="$(readlink -f ~/.claude/skills/after-effects-assistant/scripts 2>/dev/null || readlink ~/.claude/skills/after-effects-assistant/scripts)",因为 ExtendScript 的 #include 无法穿过符号链接。脚本须使用相对 #include "lib/json2.jsx"、"lib/utils.jsx",包在 IIFE 中,用 var(ES3),以 app.beginUndoGroup()/endUndoGroup() 包裹,结果经 writeResult() 写入 /tmp/ae-assistant-result.json;禁止 ES5+ 语法、map/filter/forEach、未包含 json2.jsx 就 JSON 解析、绝对路径 #include、硬编码图层索引、未确认就执行破坏性操作,也不要用 heredoc 写脚本(用 Write 工具写入 $SKILL_SCRIPTS/ae-action.jsx 后用简短 bash 执行)。\n\n内置动作脚本覆盖:真实合成深拷贝、字体替换、项目清理、批量重命名、图层错峰、表达式替换、项目整理、批量合成设置、缓动预设、锚点移动、反转关键帧、选择/排序图层、智能预合成、复制缓动、重新链接素材、SRT 导入、文本导出导入、批量表达式、属性随机化、取消预合成、从 CSV 生成合成、批量加入渲染队列、炸开形状图层、增量保存、清除缓存。只读查询与非破坏性新增可自动运行;删除、移除关键帧、替换素材、清除表达式、渲染队列操作和项目清理需先确认;字体替换、项目清理和重新链接素材建议先 dryRun。\n\n故障排查顺序:~/.ae-assistant-log、/tmp/ae-assistant-error.txt、~/.ae-assistant-extendscript.log,并确认 AE 偏好设置已启用脚本写文件与网络权限。AE 版本兼容性细节见 references/ae-api-versions.md。具体收费、价格与平台信息暂未提供。
after-effects
设计与创作
更新于 10-16 06:50