adobe-batch-edit-photos
Apply consistent photo adjustments across a set of images so they look like they were edited together.
Skill by xixu-me
Chalk Labs
Need help deploying adobe-batch-edit-photos?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/xixu-me-adobe-batch-edit-photos
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill 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
- Instructions
- 664 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Agent Skills spec issues
- body: 664 lines (spec recommends under 500)
Files (4)
- SKILL.md
- openai.yaml · agents/
- icon-large.svg · assets/
- icon-small.svg · assets/
SKILL.md (first lines)
# 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.
```json
{ "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` |
| **Moody & Cinematic** | `Moody`, `Cinematic`, `Dark`, `Drama`, `Dramatic`, `Shadow`, `Deep` |
| **Cool & Fresh** | `Cool`, `Blue`, `Clear`, `Crisp`, `Sky`, `Azure` |
| **Vibrant & Punchy** | `Vibrant`, `Punchy`, `Bold`, `Vivid`, `Pop`, `Saturate` |
| **Muted & Film** | `Film`, `Muted`, `Fade`, `Faded`, `Analog`, `Grain`, `Vintage`, `Matte` |
**Rules:**
- Assign each preset to at most one look. When a name matches multiple looks (e.g. "Pop" could be Bright or Vibrant), assign it to the look with the closest overall character — a soft warm pop belongs in Warm & Golden, a punchy high-contrast pop belongs in Vibrant.
- Prefer `Adaptive:` prefixed presets for look-driving since they respond to image content.
- Pick at most **2 presets per look** — one primary (strong match) and one optional secondary (complementary). Apply primary first, secondary only if it adds something different (e.g. adds a color grade the primary doesn't cover).
- If no preset matches a look, that look runs with color-temperature and manual adjustments only (no preset applied).
- If `image_list_presets` returns empty or 403: skip Step 5b for all images; note "Presets unavailable on this plan" in the summary. The rest of the look pipeline (color temp, manual adjustments) still runs.
Store the completed Look→Preset Map before Step 2. You'll reference it in Step 5b.
### Selective Adaptive Preset Buckets (for Step 5e)
From the same preset list, also build a **Selective Adaptive Map** — a separate set of buckets used only when the user opts into selective enhancements (Step 5e). These presets target specific detected scene elements rather than the whole image:
| Bucket | Naming signals | Applied when |
|--------|---------------|--------------|
| **Subject / Person** | `Subject`, `Person`, `Pop`, `Warm Pop`, `Portrait`, `Skin`, `Body` | Face, Torso, or Skin detected |
| **Sky** | `Sky`, `Blue Drama`, `Dark Drama`, `Cloud`, `Horizon`, `Outdoor` | Sky detected |
| **Background** | `Background`, `BG`, `Blur Background`, `Bokeh`, `Depth`, `Defocus` | Background detected |
| **Body Parts / Clothes** | `Clothing`, `Outfit`, `Clothes`, `Hair`, `Torso`, `Body Part` | Clothing or Hair detected |
- Pick at most **1 preset per bucket**.
- If no preset matches a bucket, leave it empty — do not force a poor fit.
- These buckets are separate from the Look→Preset Map; a preset can appear in both if it genuinely fits.
---
## Step 1: Image Ingestion
Call `asset_add_file` with no parameters to open the file picker:
```
Tool: asset_add_file
Params: {}
```
`asset_add_file` always returns `imageURIs: []` — this is expected and NOT an
error. Wait for the user to select files; the real URIs arrive in the next
message. Then call `read_widget_context` with `asset_add_file` to get the
correct presigned S3 URLs. Use those for all subsequent tool calls.
`dcx-stage.adobe.io` URIs are network-blocked; resolve them via `read_widget_context` first.
Collect the resulting presigned URLs as `sourceURIs[]` and continue to Step 2.
> **No-widget fallback** *(only if `asset_add_file` is unavailable on this surface, e.g. Codex)* — don't open a picker; get the source URIs from where the files already are. `image_*` tools only accept Creative Cloud storage URIs, never raw local paths, so any local file must be staged to CC first.
>
> **Egress check first:** check egress status from `adobe_mandatory_init` (Step 0). If egress is disabled — do NOT call `asset_initialize_file_upload` / `asset_finalize_file_upload`.
>
> | Source | Action |
> |--------|--------|
> | File(s) at a local path AND egress **enabled** | Stage each file programmatically: get its size and MIME type, call `asset_initialize_file_upload({ path: "<filename>", media_type: "<mime>" })`, PUT the file bytes to the returned upload URL, then `asset_finalize_file_upload({ filename: "<filename>", transfer_document: <from the initialize response> })`. Use each returned presigned CC URL as a source URI. |
> | File(s) already in Creative Cloud | Reference them directly by their CC URI. |
> | File(s) at a local path AND egress **disabled**, no picker on this surface | Programmatic staging is blocked and there is no file picker here — tell the user staging isn't possible on this surface and ask them to run the workflow where the `asset_add_file` picker is available. |From xixu-me/scps, Apache-2.0.
More from xixu-me/scps
- 0.565score
adobe-design-from-template
xixu-me
Create any visual design using Adobe Express templates — flyers, posters, social media posts (Instagram, Facebook, LinkedIn), business cards, invitations…
SkillAFreshness: AClaude Code +9 - 0.565score
adobe-create-mockups
xixu-me
Use when a user wants to see their logo, design, or sketch on a product or scene mockup — mugs, t-shirts, business cards, hats, phone screens, posters…
SkillAFreshness: AClaude Code +9 - 0.555score
adobe-retouch-portraits
xixu-me
Bulk-retouch a folder of portrait photos using Adobe tools — designed for wedding photographers and event photographers who need fast, walk-away batch…
SkillAFreshness: AClaude Code +9 - 0.409score
alphafold-skill
xixu-me
Submit compact AlphaFold Protein Structure Database API requests for prediction, UniProt summary, sequence summary, and annotation lookups.
SkillDFreshness: DClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 8, 2026 (23 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 3.1.0
- License
- Apache-2.0
- Repository
- github.com/xixu-me/scps
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from xixu-me
- 0.565score
adobe-design-from-template
xixu-me
Create any visual design using Adobe Express templates — flyers, posters, social media posts (Instagram, Facebook, LinkedIn), business cards, invitations…
SkillAFreshness: AClaude Code +9 - 0.565score
adobe-create-mockups
xixu-me
Use when a user wants to see their logo, design, or sketch on a product or scene mockup — mugs, t-shirts, business cards, hats, phone screens, posters…
SkillAFreshness: AClaude Code +9 - 0.555score
adobe-retouch-portraits
xixu-me
Bulk-retouch a folder of portrait photos using Adobe tools — designed for wedding photographers and event photographers who need fast, walk-away batch…
SkillAFreshness: AClaude Code +9 - 0.409score
alphafold-skill
xixu-me
Submit compact AlphaFold Protein Structure Database API requests for prediction, UniProt summary, sequence summary, and annotation lookups.
SkillDFreshness: DClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get adobe-batch-edit-photos running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
adobe-batch-edit-photos skill. Agent Mart. https://agentmart.dev/skills/xixu-me-adobe-batch-edit-photos (last updated 2026-10-24)