Skills
Skill 7 of 200
Build, debug, package, and document Adobe Illustrator integrations: CEP extension panels, C++ SDK plug-ins (.aip), the coming UXP plugins, MCP servers that drive Illustrator…
5 minutes · 1,185 words · 8 sections
Install
npx skills add github/awesome-copilot --skill adobe-illustrator-integrationsnpx skills add github/awesome-copilot/plugin marketplace add github/awesome-copilotThe first command installs just this skill, by the name in its SKILL.md; the second installs the whole repository.
Guidance for everything that sits around an Illustrator script: the panel a user clicks, the native plug-in that adds a tool, the command line or AI agent that starts Illustrator work from outside, and the documentation that ships with it. For the Illustrator DOM itself (documents, layers, paths, colors, exports), use the adobe-illustrator-scripting skill.
.aip) with the Illustrator SDK.jsx scripts from batch, PowerShell, bash, Python, or AppleScript, including passing parameters and reading resultsAdobe’s own terms:
.jsx), AppleScript, or VBScript run against Illustrator’s scripting object model. It has no persistent UI beyond ScriptUI dialogs.CSInterface.evalScript..aip). In apps that already run UXP (Photoshop, InDesign, Premiere Pro), “plugin” also means a UXP plugin; Illustrator UXP plugins are not public yet.| Option | What it is | UI | Installs to | Ships as | Pick it when |
|---|---|---|---|---|---|
| Manual instructions | Steps a person follows | Illustrator’s own | Nothing | A document | The task is rare, or needs judgment at every step |
| ExtendScript script | .jsx run in Illustrator | Optional ScriptUI dialog | Presets/<locale>/Scripts or anywhere (File > Scripts > Other Script) | .jsx file | One action, batch work, or a step another tool calls |
| CEP extension | HTML panel plus ExtendScript host | Dockable panel | CEP extensions folder | Signed .zxp | Users need a persistent panel with controls and previews |
| C++ plug-in | Native .aip from the Illustrator SDK | Tools, menus, notifiers, native dialogs | Plug-ins folder or the Additional Plug-ins Folder | .aip per OS and major version | You need a custom tool, live effects, speed, or events scripts cannot reach |
| UXP plugin | Modern JavaScript plugin model | Panels and dialogs | Through Creative Cloud | .ccx | Plan for it; Illustrator’s public beta is due by Spring 2027 |
| MCP server | A process an AI tool calls, which runs scripts in Illustrator | The AI tool’s chat | The AI tool’s MCP config | A package or repo | An agent should create or inspect artwork through tools |
| OS automation | Batch, PowerShell, bash, or AppleScript that starts scripts | None | Anywhere | Script files | Illustrator work is one step of a larger pipeline |
Start with the lowest tier that meets the need. A script that works is the core of every higher tier: a CEP panel, an MCP tool, and an OS script all end up calling ExtendScript.
From Adobe’s announcement “Investing in the future of Creative Cloud extensibility” (blog.developer.adobe.com, September 2026):
So a CEP extension built today has a working life of a few years. Keep its logic in plain ExtendScript files the panel calls, which carry over to a UXP plugin or an MCP server unchanged.
CSInterface, debug mode, signing, install).aip for plug-ins, a versioned folder or package for scripts and servers.| Platform | Route | Notes |
|---|---|---|
| Windows | COM Illustrator.Application | DoJavaScriptFile(JavaScriptFile, [Arguments], [ExecutionMode]) and DoJavaScript(JavaScriptCode, [Arguments], [ExecutionMode]); ExecutionMode 1 never shows the debugger |
| macOS | AppleScript do javascript | do javascript "$.evalFile(new File(arguments[0]))" with arguments {scriptPath}, with the path passed to osascript as an argument so it never enters script source; check the exact app name for your version |
| Both | VS Code ExtendScript Debugger | Adobe’s extension for running and debugging .jsx against a running app |
| Windows (legacy) | ExtendScript Toolkit -run | 32-bit, does not run on macOS 10.15 or later; keep only for old pipelines |
Pass parameters through a sidecar key=value file (no JSON parser or eval needed in ES3) and have the script write its result to a file, because arguments handling differs between launchers. The patterns are in references/automation-and-mcp.md (opens in a new tab).
When the deliverable is a set of steps rather than code (for a complex graphic, or for an asset someone downloads):
Object > Path > Offset Path).Stroke panel: Weight 2 pt, Align Stroke to Inside).PlayerDebugMode) belongs on development machines only. Ship signed ZXPs to users.CSInterface.js, ZXPSignCMD): Adobe-CEP/CEP-Resources (opens in a new tab)Build, debug, package, and document Adobe Illustrator integrations: CEP extension panels, C++ SDK plug-ins (.aip), the coming UXP plugins, MCP servers that drive Illustrator, computer-use automation, and OS scripts (batch, PowerShell, bash, AppleScript) that run ExtendScript in Illustrator. Use when creating or fixing an Illustrator extension or plug-in, choosing between a script, extension, or plug-in, connecting an AI tool to Illustrator, automating Illustrator from the command line, or writing install and usage docs for an Illustrator tool someone will publish. Pairs with adobe-illustrator-scripting for the ExtendScript DOM.
The verbatim description from this skill’s front matter — the string an agent matches on to decide whether to load it.
main, last pushed 6 November 2026.SKILL.md, not by matching a directory convention. 2 distinct layouts observed: .github/skills/*/SKILL.md, skills/*/SKILL.md.h1 and no skipped levels:.github/plugin/marketplace.json by GitHub, declaring 207 plugins. It is read for editorial metadata only — never as the skill index, which is always the repository tree./github/awesome-copilot.md, and each skill at its own .md URL.4 files · 30 KB
Everything this skill ships beside its prose. All of it is set here, as subchapters of skill 7.
Documentation the agent loads on demand, rather than up front.