Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add alphacornutum/layercake --skill drive-after-effectsgit clone --depth 1 https://github.com/alphacornutum/layercakeWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/alphacornutum/layercake/drive-after-effects)<a href="https://agentmods.dev/skills/alphacornutum/layercake/drive-after-effects"><img src="https://agentmods.dev/badge/skills/alphacornutum/layercake/drive-after-effects.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00168 | $0.03052 |
| Opus 5 | $0.00084 | $0.01526 |
| Sonnet 5 | $0.00034 | $0.00610 |
| Haiku 4.5 | $0.00017 | $0.00305 |
Grade A, and why
drive-after-effects scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 78 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Drive After Effects via MCP
Safe, id-correct workflow against the live AE GUI session.
Session assumption
LayerCake assumes a 1:1 agent ↔ After Effects session. There is no app-level lock. Concurrent agents or a human editing the same AE instance can race; stale fingerprint errors on patch/save are the only runtime detection.
Steps
- Check host — Call
ae_host_status. If unavailable, fix platform config: macOSAE_APP_NAMEand/orAE_EXECUTABLE(year suffix must match/Applications); WindowsAE_EXECUTABLEpointing atAfterFX.exe. - Open project —
ae_open_projectwith an absolute.aep/.aetpath when the needed project is not already open. If another project is open at a different path, open refuses (dirty or clean) — callae_save_project/ae_close_projectfirst. Never open over another project without an explicit close. - Bind context — Call
ae_project_contextfor the cheap fingerprint token (path,dirty,revision,fingerprint). Re-poll before every patch or save (or reuse a successful patch response fingerprint when no other mutator intervened). - Project summary (when needed) — Call
ae_project_summaryfor heavier health/portability orientation (third-party effects, missing footage/fonts). Prefer this before deep inventory when those concerns matter; skip for trivial single-layer edits. Do not use summary for fingerprint polling — that isae_project_context. - Inventory as needed — Prefer
ae_list_comps(composition settings forset_comp_settingsplanning: dims/PAR/rate, integer duration/display-start/work-area frames, renderer, composition switches; plus layer switches, parent/matte ids, integer frame timing, Solidsource.footageKind),ae_list_sources, and/orae_list_foldersbefore writing custom scripts. For cleanup planning, callae_get_item_refs— whenunknownRefsPossibleis true, do not treat the item as safe to delete. Panel ops need realItem.idhandles from inventory (includingrootFolder.id— never a magic0). - Docs when unsure —
ae_docs_search→ae_docs_get(orae://docs/...) before inventing DOM APIs. - Optional backup / copy-first — Before risky or broad patches,
ae_save_projectwithmode: "create_backup"and the current fingerprint (requires a clean, saved project; dirty projects must usesave_copyinstead). Agents MAYsave_copy(or otherwise work on a copy) before mutating when the original project file must remain pristine.create_backupcopies the.aeponly — it does not collect linked footage (not Collect Files). - Typed patch — Prefer
ae_patch_project(apply-only) over raw eval for:set_text_style(partial TextDocumentstylebag — font, size, leading/autoLeading, fill/stroke, justification, text, box geometry, allCaps/smallCaps, …; omit key = preserve; plan viaae_get_layerSourceText projection onextended/full; evidence is authoredstyle/fontsplus optionalevaluatedStyle/evaluatedFonts; post-condition on authored supplied keys only; fingerprint guards only — no expected-current bag; does not clear Source Text expressions),create_text(comps-onlytarget+layoutpoint|box+text; box requiresboxTextSize; optionalname/stylesame allowlist asset_text_style; always newLayer.id),rename_layer,rename_project_item,set_layer_index,create_solid(optionalname),replace_layer_source,set_layer_timing(integer frames; not remapping; verified keyframe preservation — see Gotchas for source slip vs drag),set_layer_switches(timeline/layer switches — supply only keys to change inswitches; omitted switches and non-switch state are preserved; evidence is a full switch snapshot before/after; use this fortimeRemapEnabled, mute-video / keep-audio, solo/shy/locked, etc.),set_comp_settings(comps-onlytarget.compIdXORcompName+ partialsettingsbag; omit key = preserve; optional nestedsettings.switches; integer-frame evidence; duration shrink clamps work area unless explicit work area would overrun — that fails; place beforeset_layer_timingin mixed batches, especially when changingframeRate),set_property_expression(prefermatchNamesfromae_get_layer; nexrenderpropertyPathwith./->is an alternative — exactly one selector),set_layer_transform(authored 2D Transform — supply only keys to change in nestedtransformbag; omit=preserve; evidence is actual authored/pre-expression numeric before/after snapshots; prefer over eval for slot repair afterreplace_layer_source, e.g. set Position to the new Anchor Point; no op-level expected-current bag — use matchingproject.fingerprint),reset_layer_surface(resetTransformsapplies/verifies AE defaults with value evidence, not a transforms boolean; typically Position at composition center — not “match new Anchor”;clearExpressionsis separate),delete_layer, panelcreate_folder(optionalname) /move_project_item, and guarded cleanup viasafe_delete_project_item. Passproject.path+project.fingerprintguards. All layer-targeting patch ops accept id or unique name with the same ambiguity rules asae_get_layer(no ids-only exceptions). Prefer stable ids when names may collide. Forae_get_layerextended/full, Transform and SourceText may includeauthoredValue/evaluatedValue— wrapper purity MUST use authored/pre-expression samples, not post-expression alone. SourceText is projected as{ kind: "textDocument", style, boxText?, pointText? }.safe_delete_project_itemrefuses in-use /unknownRefsPossibleand empty-folder-only (non-recursive);delete_project_itemremains AE-permissive (recursive folders; in-use allowed) — prefer safe delete +ae_get_item_refsfor cleanup. Cover/Contain expression bodies, protected control-layer name policy, render-backed visibility, andmain/configreachability stay agent/domain concerns — LayerCake does not enforce them. On success, reuse the returned fingerprint when no other mutator intervened; otherwise re-bind context. - Persist —
ae_save_projectwithmode: "save_copy"(and an absolute destination) when you want changes on disk. Patch never saves implicitly. - Eval escape hatch —
ae_eval_scriptbypasses typed safety and fingerprint guards. Use only for one-offs the patch vocabulary cannot express. After Effects is an ES3-like dialect — readreferences/extendscript.md(MCP:skill://drive-after-effects/references/extendscript.md) before writing scripts (var/function/for; notconst, arrows, orArray.map). That reference also covers the wrap return contract (top-levelreturnfor payloads; empty success is normal for void scripts; bare IIFE inner-returnis a footgun). Look up targets by id:
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago First seen · 78 lines · 168 tokens per session scan A 13f464dbfc6a
drive-after-effects is a skill published in the GitHub repository alphacornutum/layercake (0 stars, last pushed 1mo ago), licensed MIT. It adds 168 tokens to every session and 3,052 once invoked, about $0.0008 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
after-effects-scripting
Drive a running After Effects instance directly from the shell to build, edit and render motion graphics — no MCP, plugin or panel required. Use whenever the user wants Claude to work inside After Effects: building animations, title sequences, logo stings, UI/product motion, data visualisations, or fixing an existing…
skin-creator
Create and apply a two-asset LobsterAI visual skin from the user's style description. Use only when the AI Skin Designer kit supplies the structured skinpack workflow marker; do not use for ordinary theme or image requests.
canvas-design
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.
shogun-screenshot
A screenshot tool for getting images from a computer or web page and then cropping, resizing, or masking sensitive information. Playwright is a browser-automation tool used here to capture web pages.
cli-anything-photoshop
A command-line tool that controls Adobe Photoshop through Windows automation. It can work with Photoshop documents, layers, selections, text, image adjustments, and exports.
canvas-design
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.