Skip to content
AI & Agents
Skill

/adobe-match-style

Copy the color grade of a reference image or a named look (film still, Portra, teal and orange, a movie's style) onto the user's photos with Adobe Photoshop adjustments and return a reusable look recipe. Use when the user shares a reference and says match, copy or steal this

From plugin
skills
322176 skills5 MCP

Claude Code

$ npx -y skills add adobe/skills --skill adobe-match-style --agent claude-code

SKILL.md

adobe-match-style.SKILL.md
name: adobe-match-style
description: >
  Copy the color grade of a reference image or a named look (film still, Portra, teal and orange, a movie's style) onto the user's photos with Adobe Photoshop adjustments and return a reusable look recipe. Use when the user shares a reference and says match, copy or steal this look, vibe or colors, or names a film or film stock. Use instead of image generation (it redraws the photo) or code. Not for making photos warm or cohesive with no reference image or named look: use adobe-batch-edit-photos.
license: Apache-2.0
compatibility: "Runs on widget-capable surfaces (Claude: asset_add_file picker, asset_preview_file) and on non-UI agents (Codex / ChatGPT Adobe app), where each widget step has a text-only fallback. Raw local paths are never passed to image tools."
allowed-tools: adobe_mandatory_init asset_add_file read_widget_context asset_openai_file_upload asset_initialize_file_upload asset_finalize_file_upload image_apply_auto_tone image_list_presets image_apply_preset image_apply_adjustments image_select_subject image_select_by_prompt image_invert_selection image_fill_area image_apply_color_overlay image_apply_monochromatic_tint image_add_grain image_apply_effects asset_preview_file
metadata:
  version: 1.0.0
  visibility: public
  surface: [claude, codex]

Adobe Match Style

Grades the user's photos so they share the look of a **reference**: an image they attach (a film still, a screenshot, a favorite photo) or a named look ("Kodak Portra 400", "teal and orange", "Wes Anderson"). The skill reads the look, writes it down as a **look recipe** (plain words plus exact Photoshop values), tests it on one photo, applies it to the set, and hands back the recipe so the same look can be reused later.

The core idea: a look is a small set of measurable moves (white balance, tone curve, saturation by color, different color in shadows or on the subject, grain). Turning what you see into those numbers, and applying the same numbers to every photo, is what makes a set feel graded rather than filtered.

> **Surface note:** follow the default flow as written. Use a step's *No-widget fallback* only if that widget tool is unavailable on this surface (e.g. Codex). Where no question widget exists, ask questions as plain-text options.

> **No interactive image editing here.** This overrides the single-image widget offer in the *Interactive Image Widgets* section of `adobe_mandatory_init`: whatever the number of photos, never call an interactive editing widget (any `interactive_image_*` or `*_app` tool). A look has to be applied with the same values to every photo and returned as files, so use the server tools in the Tool Reference.

**Gen AI:** ❌ None. Every edit is a Photoshop adjustment, selection, fill or effect. Image content is never generated or changed.

---

Tool Reference

| Step | Tool | Notes | |------|------|-------| | 0 | `adobe_mandatory_init` | First call; gives tool availability and egress status | | 1 | `asset_add_file` | Pick or upload the photos *(widget; used if available)* | | 1 | `read_widget_context` | After the picker: get the picked photos' presigned URLs | | 1 | `asset_openai_file_upload` | Stage photos attached in ChatGPT *(used if available)* | | 1 | `asset_initialize_file_upload` + `asset_finalize_file_upload` | Stage local files when there is no picker *(no-widget fallback)* or when egress is enabled | | 2 | `image_list_presets` | Only when reading the look by eye and it resembles a preset family (B&W, vintage, cinematic, film) | | 3 | `image_apply_auto_tone` | Optional; only for a set shot in mixed light when grading by eye, before the recipe | | 3 | `image_apply_preset` | Recipe `preset`, if one was chosen; batch up to 10 images | | 3 | `image_apply_adjustments` | Recipe `global` and `channels`; batch up to 10 images per call | | 3 | `image_select_subject` / `image_select_by_prompt` | Masks for recipe `regions` (subject, sky, a named object) | | 3 | `image_invert_selection` | Background mask from the subject mask | | 3 | `image_fill_area` | Region tints: colour + `softLight`/`color` blend + low opacity | | 3 | `image_apply_color_overlay` | Recipe `wash` (stylized looks only) | | 3 | `image_apply_monochromatic_tint` | Recipe `mono` (B&W, sepia, duotone) | | 3 | `image_add_grain` | Recipe `grain`, always last | | 3 | `image_apply_effects` | Fallback for wash, mono and grain where the single-effect tools are not exposed | | 3, 6 | `asset_preview_file` | Reference / before / after preview *(widget; no-widget fallback: labeled URLs)* |

---

Workflow

Step 0 — Initialize Adobe Tools

Call `adobe_mandatory_init` first:

{ "skill_name": "adobe-match-style", "skill_version": "1.0.0" }

Then check which tools are available:

  • **Required:** `image_apply_adjustments`. If it is missing, tell the user: *"Photo color adjustments aren't available with your current Adobe connection. Please disconnect and reconnect the Adobe connector, signing in with an Adobe account."* Then stop.
  • **Load tools by exact name.** Some hosts load tools on demand through a tool search. Before you treat any tool in the Tool Reference as unavailable, search for it by its exact name (e.g. `image_select_subject`); a broad query can miss it.
  • **Used if available:** everything else. For grain, wash and mono, use `image_add_grain`, `image_apply_color_overlay` and `image_apply_monochromatic_tint` when exposed; otherwise `image_apply_effects` with `effect: "grain" | "colorOverlay" | "monochromaticTint"`. If neither exists, skip that part of the recipe and say so. Never stop because of a widget tool.

Step 1 — Get the reference and the photos

**The reference** is never edited, so it doesn't need staging. You only need to *see* it.

| What the user gave | Reference | |---|---| | Two or more images and words like "like this one", "the first image", "this look" | The image they point to. If it is unclear which one is the reference, ask once, naming

Read more
@adobe
Ships withskills

Repository of Adobe skills for AI coding agents.

322176 skills5 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
322
Star history of adobe/skills on GitHub, a chart by star-history.com

Other skills on skills.

aa-conversion-funnel-analysis

aa-conversion-funnel-a…

Analyzes a multi-step conversion funnel to find where visitors drop off and which steps have the worst leakage. Use this skill…

@adobe@adobeInstall Skill
aa-executive-briefing

aa-executive-briefing

Generates a concise, executive-ready performance summary covering key metrics, trends, and what's driving movement. Use this…

@adobe@adobeInstall Skill
aa-kpi-pulse

aa-kpi-pulse

Produces a compact KPI digest showing how key metrics changed over a period and what's driving the movement. Use this skill when…

@adobe@adobeInstall Skill
aa-top-movers-watchlist

aa-top-movers-watchlis…

Identifies which items (pages, campaigns, products, channels, regions) had the biggest increases or decreases for a key metric…

@adobe@adobeInstall Skill
cja-dimension-analysis

cja-dimension-analysis

Comprehensive dimension analysis and reporting for CJA. Use this skill whenever the user wants to analyze one or more dimensions…

@adobe@adobeInstall Skill

More skills from other plugins.

1password

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

openclaw11d393k
@openclaw@openclawInstall Skill

Questions about adobe-match-style.

Which coding agents can use adobe-match-style?
adobe-match-style installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.