adobe-illustrator-scripting
Helps your agent create and optimize scripts for Adobe Illustrator. It works with automating repetitive tasks in the program.
What it does
This tool helps create and fix code (scripts) that automate tasks in Adobe Illustrator. It uses a language called ExtendScript (similar to JavaScript) to make Illustrator do things like automatically create or modify designs, layers, and text.
When to use it
- ✓When you want Illustrator to create or change designs automatically.
- ✓If an Illustrator automation script isn't working and you need to fix it.
- ✓To make Illustrator export many designs in different formats at once.
Example of what to ask your AI
“Create a script that changes the color of all blue objects to red in my current document.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
You write code in ExtendScript that tells Illustrator exactly what to do, step by step. The AI can help you write this code or find errors in code you already have.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add github/awesome-copilot --skill adobe-illustrator-scriptingOr download just the file:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/adobe-illustrator-scripting/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Adobe Illustrator Scripting
Expert guidance for automating Adobe Illustrator through ExtendScript (JavaScript/JSX). This skill covers the Illustrator scripting object model, all major API objects, code patterns, and best practices for writing production-quality .jsx scripts.
Bundled Assets
references/object-model-quick-reference.md: Use this as a quick lookup for the Illustrator scripting object model, common document and page item types, and related DOM concepts while writing or debugging scripts.scripts/: Contains example Illustrator automation scripts you can use as starting points or implementation patterns for common tasks such as document manipulation, exports, batch processing, and DOM usage. Review and adapt these examples when you need working JSX patterns or want to compare behavior while debugging.
When to Use This Skill
- Writing new Illustrator automation scripts (
.jsxor.jsfiles) - Debugging or fixing existing Illustrator ExtendScript code
- Manipulating documents, layers, page items, paths, text, or colors programmatically
- Batch-processing Illustrator files or generating artwork from data
- Exporting documents to various formats (PDF, SVG, PNG, EPS, etc.)
- Working with the Illustrator DOM (Application, Document, Layer, PathItem, TextFrame, etc.)
- Creating data-driven graphics using variables and datasets
- Automating print workflows with scripted print options
Prerequisites
- Adobe Illustrator CC or later installed
- Basic JavaScript knowledge (ExtendScript is ES3-based with Adobe extensions)
- Scripts are executed via File > Scripts > Other Scripts, the Scripts menu, or placed in the Startup Scripts folder
- The ExtendScript Toolkit (ESTK) or any text editor can be used to write
.jsxfiles
Scripting Environment
Language and File Extensions
| Language | Extension | Platform |
|---|---|---|
| ExtendScript/JavaScript | .jsx, .js |
Windows, macOS |
| AppleScript | .scpt |
macOS only |
| VBScript | .vbs |
Windows only |
This skill focuses on ExtendScript/JavaScript as the cross-platform, most widely used option.
Executing Scripts
- Scripts menu: File > Scripts lists scripts from the application scripts folder
- Other Scripts: File > Scripts > Other Scripts to browse and run any
.jsxfile - Startup Scripts: Place scripts in the Startup Scripts folder to run automatically on launch
- Target directive: Begin scripts with
#target illustratorwhen running from ESTK or external tools #targetenginedirective: Use#targetengine "session"to persist variables across script executions- External invocation: Scripts are frequently launched from outside Illustrator — by shell scripts, task runners, CI jobs, ExtendScript Toolkit (
ExtendScript Toolkit.exe -run script.jsx), orBridgeTalkmessages from other Adobe apps. See External Invocation & Argument Passing.
Naming Conventions (JavaScript)
- Objects and properties use camelCase:
activeDocument,pathItems,textFrames - The
appglobal references theApplicationobject - Collection indices are zero-based:
documents[0]is the frontmost document - Use
typenameproperty to identify object types at runtime
Object Model Overview
The Illustrator DOM follows a strict containment hierarchy:
Application (app)
├── activeDocument / documents[]
│ ├── layers[]
│ │ ├── pageItems[] (all artwork)
│ │ ├── pathItems[]
│ │ ├── compoundPathItems[]
│ │ ├── textFrames[]
│ │ ├── placedItems[]
│ │ ├── rasterItems[]
│ │ ├── meshItems[]
│ │ ├── pluginItems[]
│ │ ├── graphItems[]
│ │ ├── symbolItems[]
│ │ ├── nonNativeItems[]
│ │ ├── legacyTextItems[]
│ │ └── groupItems[]
│ ├── artboards[]
│ ├── views[]
│ ├── selection (array of selected items)
│ ├── swatches[], spots[], gradients[], patterns[]
│ ├── graphicStyles[], brushes[], symbols[]
│ ├── textFonts[] (via app.textFonts)
│ ├── stories[], characterStyles[], paragraphStyles[]
│ ├── variables[], datasets[]
│ └── inkList[], printOptions
├── preferences
├── printerList[]
└── textFonts[]
Top-Level Objects
- Application (
app): The root object. Provides access to documents, preferences, fonts, and printers. Key properties:activeDocument,documents,textFonts,printerList,userInteractionLevel,version.
…
FAQ
Do I need to be an expert programmer to use this?
It's helpful to have basic JavaScript knowledge, but the AI can assist even if you know little, by explaining commands and logic.
What is 'ExtendScript'?
It's a programming language based on JavaScript that Adobe uses to automate its software, like Illustrator.
Can I use this to create any kind of automation in Illustrator?
Yes, as long as the task can be described in logical steps that Illustrator understands. It covers most of the program's functions.
Details
Original description by the author
Write, debug, and optimize Adobe Illustrator automation scripts using ExtendScript (JavaScript/JSX). Use when creating or modifying scripts that manipulate documents, layers, paths, text frames, colors, symbols, artboards, or any Illustrator DOM objects. Covers the complete JavaScript object model, coordinate system, measurement units, export workflows, and scripting best practices.
repo: github/awesome-copilot
Popularity
- GitHub stars
- 40k
- Ranking position
- #4983
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
acquire-codebase-knowledge
Helps your agent understand and document an existing code project. It's useful for onboarding new people or getting an overview of the architecture.
github/awesome-copilot
acreadiness-assess
Enables your agent to assess a project's readiness for AI and generate a report. It's useful for understanding how well a project is prepared to use AI tools.
github/awesome-copilot
acreadiness-generate-instructions
Helps your agent create instructions for AI tools based on an assessment. It's useful for improving how AI interacts with code and closing identified gaps.
github/awesome-copilot
acreadiness-policy
Enables your agent to help define or apply policies for AI project assessment. It's useful for standardizing how projects are evaluated and ensuring compliance.
github/awesome-copilot
Similar skills
benchmark-optimization-loop
Has your agent improve something's speed in a measured way. It tests multiple versions and chooses the fastest one that still works correctly.
affaan-m/ECC
change-impact
Helps your agent analyze the impact of code changes before making them. It compares the planned vs. actual results afterward, covering paths, data, tests, and documentation. Useful for risky or system-wide changes.
affaan-m/ECC
click-path-audit
Lets your agent trace all user buttons and interactions to find bugs. It finds issues where functions seem to work alone but fail together. Useful when bugs persist even after debugging.
affaan-m/ECC