Skip to content

Simplify the transformation skill#7

Open
carlevison wants to merge 7 commits into
mainfrom
simplify_transformation_skill
Open

Simplify the transformation skill#7
carlevison wants to merge 7 commits into
mainfrom
simplify_transformation_skill

Conversation

@carlevison

Copy link
Copy Markdown
Contributor

Simplified cloudinary-transformations into a compact agent playbook that treats Cloudinary docs as the source of truth for exact syntax, current limitations, and costs.

Key changes:

  • Reduced the skill from large duplicated reference content to a concise SKILL.md.
  • Replaced eight bulky reference files with three focused playbooks:
    - agent-playbook.md
    - debugging-playbook.md
    - cost-and-caching.md
  • Preserved core agent guidance: requirement gathering, defaults, validation, debugging order, common footguns, and cost/caching heuristics.
  • Added guidance to present transformation parameters in SDK-style alphabetical order within components.
  • Validated the skill with quick_validate.py.

@njb90 njb90 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One comment but otherwise it is definitely an improvement.

Comment thread skills/cloudinary-transformations/references/agent-playbook.md Outdated
@strausr strausr self-requested a review June 5, 2026 18:12

@strausr strausr left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I ran 15 prompts against the new skill (resize, face crop, bg removal, gen fill / 16:9, w_auto, named transforms, baseline strategy, video trim + mute, debugging, g_auto)
First, using only SKILL.md + references, then checking whether the docs-first path (llms.txt) fills the gaps.

Result: path works well (resize, fill crop, overlays, bg removal, f_auto:video, debugging). Without a doc fetch, several common cases were partial or failed: face-focused crops (no g_face), gen fill, w_auto + Client Hints setup, named/baseline URL shape, video trim, and invalid g_auto + c_scale.

Left some comments on where I found some issues.

Comment thread skills/cloudinary-transformations/references/agent-playbook.md Outdated
Comment thread skills/cloudinary-transformations/SKILL.md
Comment thread skills/cloudinary-transformations/references/agent-playbook.md
Comment thread skills/cloudinary-transformations/SKILL.md Outdated
Comment thread skills/cloudinary-transformations/SKILL.md
Comment thread skills/cloudinary-transformations/SKILL.md
Comment thread skills/cloudinary-transformations/references/cost-and-caching.md
# Conflicts:
#	skills/cloudinary-transformations/SKILL.md
#	skills/cloudinary-transformations/references/advanced-features.md
#	skills/cloudinary-transformations/references/debugging.md
#	skills/cloudinary-transformations/references/examples.md
#	skills/cloudinary-transformations/references/named-transformations.md
#	skills/cloudinary-transformations/references/responsive-images.md
#	skills/cloudinary-transformations/references/transformation-costs.md

@eitanp461 eitanp461 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2 findings

Comment thread skills/cloudinary-transformations/references/agent-playbook.md Outdated
Comment thread skills/cloudinary-transformations/references/agent-playbook.md Outdated
Comment thread skills/cloudinary-transformations/references/cost-and-caching.md Outdated
@strausr strausr self-requested a review June 9, 2026 15:35
# Conflicts:
#	skills/cloudinary-transformations/SKILL.md
#	skills/cloudinary-transformations/references/advanced-features.md

@sharon-yelenik sharon-yelenik left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Some minor thoughts


## Default Decisions

- Add `f_auto/q_auto` near the end for most production image URLs.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we should point out that the / syntax is required, if we want to ensure that we don't fall into comma-separated.

For resize/crop requests, determine:
- At least one dimension.
- Whether the result must fill a fixed box, fit inside a box, pad empty space, or only limit maximum size.
- Whether the crop should favor faces, a known subject, center, a compass position, or Cloudinary automatic gravity.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"a known subject" isn't that add-on specific?


Choose focal point:
- Use automatic gravity for varied content.
- Use face/person/object-specific gravity only when it matches the asset and task.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same comment - isn't object-specific gravity available only via an add-on? What's the best way to handle that?


- Bare dimensions can imply default behavior. Make the crop mode explicit.
- `c_scale` with both width and height can distort if aspect ratios differ.
- Qualifiers belong in the same component as the action they modify.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did we state that components are separated by / and qualifiers within components by , ?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See bullet below where we reference comma-separated components. This might not be consistent with the way we state our conventions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants