Skip to content

kevinkiklee/adobe-plugin-skills

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Adobe Plugin Development Skill

Release License

An agent skill that teaches AI coding agents the Adobe Photoshop UXP and Lightroom Classic plugin SDKs: what the APIs actually are, what the platforms don't support, and the mistakes that cost hours.

Why this exists

Model training data is full of ExtendScript examples, browser JavaScript, and old forum posts. Without current SDK knowledge, agents produce plugin code that looks right and fails at runtime:

  • Canvas pixel calls that don't exist in UXP (getImageData, toDataURL, drawImage)
  • ExtendScript-era property names that UXP renamed or dropped
  • Path strings passed to document.saveAs.*(), which takes storage File entries
  • CSS that UXP silently ignores (Grid, transitions, transforms without the CSSNextSupport flag)
  • Lightroom dialogs that leak gigabytes because f:picture was written to the same path on every update
  • Guessed Lua signatures for LrDevelopController functions and publish-service callbacks

The skill puts the correct API in front of the agent before it writes the wrong one.

How it works

Three markdown files, loaded progressively so they only cost tokens when needed:

File Loads Contents
SKILL.md on activation (500 lines) Capability matrix, critical pitfalls, quick-reference snippets, common-mistakes table
ps-uxp-sdk.md on demand (~1,400 lines) Full Photoshop UXP reference, organized by use case
lrc-sdk.md on demand (~1,200 lines) Full Lightroom Classic SDK reference, organized by use case

The frontmatter description triggers activation when a task involves plugin work (manifest.json, Info.lua, batchPlay, LrView, and so on). Most tasks are answerable from SKILL.md alone; the deep files hold the complete API tables and signatures.

What's covered

Photoshop UXP (ps-uxp-sdk.md)

  • Document class (36 properties, 29 methods) and Layer class (28 properties, 55 methods — 38 filters + 17 other)
  • Selection class, LayerComp, ColorSampler, PathItem, Guide, HistoryState
  • Manifest v5 configuration, permissions, and feature flags (CSSNextSupport, enableSWCSupport)
  • Imaging API: getPixels, putPixels, createImageDataFromBuffer, encodeImageData, masks, selection, ImageBlob lossless display
  • File I/O & storage: localFileSystem pickers and plugin folders, session/persistent tokens (batchPlay _path), secureStorage, settings-persistence decision table
  • batchPlay reference forms (ID, Index, Name, Enum, Property), multiGet, Action Recording (v25.0+)
  • .psjs script mode, photoshop.constants (100 enum groups), shell/openExternal, host info
  • UXP Developer Tools workflow, XMP metadata module (XMPMeta/XMPFile), programmatic path creation (PathPointInfo), localization/platform detection
  • Canvas API limitations (no drawImage, getImageData, putImageData, toDataURL)
  • Full Spectrum UXP component catalog (19 sp-* widgets, 36 icons) + SWC overview
  • HTML/CSS support matrix with CSSNextSupport feature flag details
  • Text APIs: TextItem, CharacterStyle (33 properties), ParagraphStyle, WarpStyle
  • Color management: SolidColor, color classes, convertColor, getColorProfiles
  • Event system, executeAsModal (with timeOut, registerAutoCloseDocument)
  • App/Core module APIs, Preferences (12 groups), prototype extensions
  • Hybrid plugin C++ bridge, WebView (panels since v6.4), network APIs
  • 37-item known issues catalog

Lightroom Classic SDK (lrc-sdk.md)

  • Complete Info.lua manifest reference (23 fields), plugin lifecycle, packaging (.lrplugin/.lrdevplugin), Lua 5.1.5 sandbox details
  • 5-stage export pipeline, programmatic export (LrExportSession + destination/naming/format keys), export filter provider
  • Publish-service callback catalog (all documented callbacks: collections, comments/ratings, deletion, lifecycle) + provider properties
  • Memory leak prevention rules (6 non-negotiable rules with code) for long-running floating dialogs
  • LrCatalog method inventory: write gates and assertions, keywords, collections, folders, view filters, import triggers, batch develop/AI operations, findPhotos with search descriptors
  • LrPhoto methods, 50+ getRawMetadata keys, 90+ getFormattedMetadata keys, custom metadata
  • Plugin develop presets (addDevelopPresetForPlugin, LrDevelopPreset) with the documented-API traps
  • LrView 25 factory methods, 6 property categories, data binding patterns (basic, transform, multi-key, cross-table)
  • LrDialogs 14 functions, LrDevelopController 95 functions grouped by category
  • Complete develop-parameter catalog by panel, local adjustment parameters (process versions 2-6)
  • Controller SDK architecture (LrSocket, external driver, TCP protocol)
  • 45+ module quick reference (LrApplication, LrSelection, LrHttp, LrDigest, LrDevelopPreset, etc.)
  • External binary bridge patterns with platform detection (Lua to Rust/C++ CLI)

Quick reference (SKILL.md)

  • Side-by-side capability matrix (PS UXP vs LrC) with DOM model, AI features, Selection API, file I/O
  • Critical pitfalls with code examples (CSSNextSupport flag, executeAsModal anti-patterns, storage tokens, memory leaks)
  • File I/O + settings-persistence quick reference; develop-parameter and LrDevelopController essentials (full catalogs live in lrc-sdk.md)
  • Info.lua essentials (grouped summary; full table in lrc-sdk.md)
  • Data binding patterns for LrView
  • Common mistake/fix table (20 entries)
  • Ready-to-use code snippets for the most frequent operations

Installation

skills CLI

npx skills add kevinkiklee/adobe-plugin-skills

Add -g to install user-globally instead of into the current project, or -a claude-code to target a specific agent. The skills CLI supports Claude Code, Codex, Cursor, and 70+ other agents.

Claude Code (manual)

# Clone into your skills directory
git clone https://github.com/kevinkiklee/adobe-plugin-skills.git ~/.claude/skills/adobe-plugin-development

# Or symlink if you cloned elsewhere
ln -s /path/to/adobe-plugin-skills ~/.claude/skills/adobe-plugin-development

The skill activates automatically when you work on Photoshop UXP or Lightroom Classic plugin code.

Other agents

Copy or symlink the skill directory into your agent's skill discovery path. The skill follows the agentskills.io specification with standard YAML frontmatter in SKILL.md.

Updating

New releases ship API corrections and coverage for newer SDK versions. Pick the path that matches how you installed:

npx skills update                                # skills CLI
git -C ~/.claude/skills/adobe-plugin-development pull   # manual clone
git -C /path/to/adobe-plugin-skills pull         # symlinked checkout

To hear about new releases, click Watch → Custom → Releases on the GitHub repo. CHANGELOG.md lists what changed in each release; the current version is in SKILL.md's metadata.version frontmatter field.

SDK versions and accuracy

  • UXP: v9.2.0, Manifest v5
  • Photoshop: API changelog 27.4 (the app is past 27.4, but Adobe has documented no plugin-API changes since — this reference stays current until the API changelog advances). PS 27.8 began a UXP plugin-rendering replatform with no documented API changes.
  • Lightroom Classic SDK: v15.3 (latest published; LrC 15.4 shipped without a new SDK)

Every API claim has been audited against Adobe's official documentation (AdobeDocs/uxp-photoshop, the LrC 15.3 SDK LuaDoc and Programmers Guide) across four audit passes since April 2026; CHANGELOG.md records every correction. Where Adobe's own docs are wrong, the skill says so — the LuaDoc points to an applyDevelopPresetFromPlugin method that doesn't exist, and getDevelopSettings returns keys with typos (HueAdjustmentMagenha) that plugins must match exactly.

Last verified: July 2026. Content was compiled from Adobe's documentation repositories and the LrC 15.3 SDK, plus lessons from building Chromascope, a chrominance vectorscope plugin for both hosts.

Contributing

Found an error, outdated API, or missing pattern? PRs welcome. The goal is to keep this current with Adobe's SDK releases so agents don't write code against deprecated or non-existent APIs.

License

MIT

About

AI coding agent skill for building Adobe Photoshop UXP and Lightroom Classic plugins

Resources

License

Stars

8 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors