Skip to content
AI & Agents
Skill

/adobe-batch-edit-photos

Apply consistent photo adjustments across a set of images so they look like they were edited together. Use this skill whenever the user says "make my photos look cohesive", "give all these the same style", "apply a warm and golden feel to all of these", "make this cinematic",

From plugin
adobe-skills
162160 skills6 agents4 MCP
Install
$ npx -y skills add adobe/skills --skill adobe-batch-edit-photos --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/adobe-batch-edit-photos

Context preview

The summary Claude sees to decide when to auto-load this skill.

Apply consistent photo adjustments across a set of images so they look like they were edited together. Use this skill whenever the user says "make my photos look cohesive", "give all these the same style", "apply a warm and golden feel to all of these", "make this cinematic",

SKILL.md

adobe-batch-edit-photos.SKILL.md
name: "adobe-batch-edit-photos"
description: >
  Apply consistent photo adjustments across a set of images so they look
  like they were edited together. Use this skill whenever the user says
  "make my photos look cohesive", "give all these the same style", "apply
  a warm and golden feel to all of these", "make this cinematic", "match
  the look across my photos", "edit all my travel photos the same way",
  "batch edit these", "make these consistent", "fix my phone photos",
  or uploads a folder of photos and wants a unified, polished result.
  Also triggers for requests like "apply a preset to all of these",
  "make these look professional", or "they were shot in mixed lighting
  — can you fix them all". Outputs direct final image URLs plus an in-chat
  preview grid and optional Firefly Board link.
  Access: 🔐 Signed-In required | Gen AI: ❌
license: Apache-2.0
compatibility: "Runs on both widget-capable surfaces (e.g. Claude Cowork, which supports the asset_add_file picker and asset_preview_file preview widgets) and non-UI agents (e.g. Codex, where those widgets are unavailable). The default flow uses the widgets; each widget step has a text-only fallback. Local files reach Creative Cloud via the asset_add_file picker or (no-widget) asset_initialize_file_upload -> PUT -> asset_finalize_file_upload; raw local paths are never passed to image tools."
allowed-tools: adobe_mandatory_init image_list_presets asset_add_file read_widget_context asset_initialize_file_upload asset_finalize_file_upload image_auto_straighten image_apply_auto_tone image_apply_adjustments image_apply_preset image_select_subject image_apply_gaussian_blur image_crop_and_resize asset_preview_file create_firefly_board
metadata:
  version: 3.1.0
  visibility: public
  surface: [claude, codex]

Adobe Batch Edit Photos

A batch editing pipeline focused on **visual cohesion** — making a set of photos look like they were edited together. The user picks a look (or describes one), and the agent applies it consistently across every image using Adobe creativity tools.

The core insight: users who want "cohesion" care less about per-image perfection and more about the whole set reading as intentional. Prioritize consistency of tone and color over squeezing the best out of any single image.

> **Surface note:** The default flow uses Adobe's MCP App widgets (`asset_add_file` picker in Step 1, `asset_preview_file` preview in Steps 2c and 8). Follow it as written. Only if a widget tool is **not available on this surface** (e.g. Codex) use the *No-widget fallback* attached to that step. Present `AskUserQuestion` prompts as plain-text labeled options wherever no question widget exists.

---

Tool Reference

| Step | Tool | Notes | | ------------------- | ------------------------------------------------- | ---------------------------------------------- | | Ingest | `asset_add_file` (+ `read_widget_context`) | Interactive file picker; resolve picker results via `read_widget_context` | | Ingest *(no-widget fallback)* | `asset_initialize_file_upload` + `asset_finalize_file_upload` | Only when `asset_add_file` is unavailable — stage local files to CC programmatically | | Discover presets | `image_list_presets` | Once at startup; builds look→preset map | | Straighten | `image_auto_straighten` | Per image | | Auto-tone | `image_apply_auto_tone` | Per image, `type: "cameraRawFilter"` | | Look adjustments | `image_apply_adjustments` | Batch — color temp + vibrance/sat + brightness/contrast in one call | | Fine-tune tweaks | `image_apply_adjustments` | Batch — all selected tweaks in one call | | Look preset | `image_apply_preset` | Per image, core style vehicle | | Element detection | `image_select_subject` with full bodyParts array | Per image, Step 5e opt-in; also crop focus | | Background blur | `image_apply_gaussian_blur` | Per image, only if explicitly requested | | Crop | `image_crop_and_resize` | Per image, optional | | Sample preview | `asset_preview_file` | Before/after on image[0] only *(no-widget fallback: present the 2 URLs directly)* | | Final preview | `asset_preview_file` | Batch assets array *(no-widget fallback: present the URLs directly)* | | Firefly Board | `create_firefly_board` | All edited outputs |

---

Step 0 - prereq: Initialize Adobe Tools

Call `adobe_mandatory_init` first. This returns file handling rules and tool routing guidance required for the rest of the workflow.

{ "skill_name": "adobe-batch-edit-photos", "skill_version": "3.1.0" }

---

Step 0b: Discover Available Presets

Call `image_list_presets` immediately after init — before ingestion or user questions. This gives you the full pool of presets available on this user's plan, so Step 5b can select the best match for each look rather than relying on hardcoded names.

Tool: image_list_presets
Params: {}

From the returned list, build a **Look→Preset Map** by classifying each preset into the look category it best serves. Use the naming signals below as heuristics:

| Look | Naming signals to match | |------|------------------------| | **Auto (balanced)** | `Auto`, `Balanced`, `Natural`, `Neutral`, `Default`, `Adobe Color`, `Standard` | | **Warm & Golden** | `Warm`, `Golden`, `Glow`, `Sunset`, `Cozy`, `Amber`, `Warm Pop` | | **Bright & Airy** | `Airy`, `Bright`, `Light`, `Clean`, `Pop`, `Lift`, `Fresh` |

Read more
Ships withadobe-skills

Repository of Adobe skills for AI coding agents.

Get the whole plugin

Other skills on adobe-skills.