adapting-formats
Resizes an existing image ad into the other shapes it has to run in — reads the ad first, then regenerates it at each ratio with the original passed in as a…
Skill by SupercmoHQ
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/supercmohq-adapting-formats
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, marketing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/adapting-formats
What's inside
- Skill name
adapting-formats- Description
- Resizes an existing image ad into the other shapes it has to run in — reads the ad first, then regenerates it at each ratio with the original passed in as a reference, so the product, the copy and the look carry across. Each shape is recomposed rather than cropped, with the background extended into the space the new proportions open up and the headline and call to action kept clear of the buttons and captions the platform draws over the top. Use when the user has an ad and needs it in another size, in a ratio family, or in every size a channel takes. Not for making an ad that does not exist yet — that is generating-image-ads; not for writing the words of the ad — that is writing-ad-copy.
- License
- Apache-2.0
- Metadata
- summary: Takes an ad you already have and remakes it in every other size you need it in. It reads your ad first, works out what has to move and what fills the space the new shape opens up, and shows you that plan before it spends anything — then rebuilds each shape around the original so your product, palette and wording stay recognisably the same rather than being stretched, cropped or letterboxed into a mess. · version: 0.3.0 · category: creative · related-skills: generating-image-ads, writing-ad-copy
- Instructions
- 180 lines in SKILL.md · view on GitHub
Files (4)
- SKILL.md
- eval_cases.json · evals/
- ratios-and-safe-zones.md · references/
- recomposing.md · references/
SKILL.md (first lines)
# Resizing an ad Take an image ad that already exists and produce it in the other shapes it has to run in. **Each shape is regenerated, not cropped.** A crop cuts the headline in half and pushes the product out of frame; the ad is rebuilt for the new proportions with the original passed in as a reference, so it stays the same ad rather than becoming a different one. ## Workflow ### Step 1: Get the ad and the shapes - **The ad** — the image file or URL, at the largest version the user has. Without it there is nothing to resize; ask for it and stop. Several ads at once is normal: each is read and planned separately, though they can all be generated in one call at the end. - **The shapes** — the ratios, or the channel they run on. Where the user named a channel rather than ratios, take them from `references/ratios-and-safe-zones.md`. Where neither is given, ask which sizes they need, offering that table's channels and a free-text way out. - **The product photo, where they have one** — a clean shot of the product on its own. It is worth asking for: the ad may show the product small, angled or partly behind copy, and the photo holds its identity far better than the ad can. **Drop the shape the ad is already in.** An ad supplied at `1:1` and asked for the Meta family needs `4:5` and `9:16` — regenerating its own `1:1` bills for a reconstruction of something the user already has. ### Step 2: Read the ad Run `image_analysis` on it once, and separate what the ad is made of — the parts a resize moves, not a description of the picture: - **The product** — what it is, and whatever has to stay identical wherever it appears: its shape, colour and label, the text printed on it, or anything else that would give it away as redrawn. - **Every drawn string** — captured word for word, wherever it sits: a headline, a support line, a call to action, a price or a badge. These are regenerated, so a word read wrong here is a word wrong in the ad. - **The background** — the surface, the scene, the light direction and the perspective, since this is what gets extended into any new area. - **The look** — the palette, the character of the type, and whatever else makes it read as this brand's ad. - **The layout** — what the eye lands on first, and how the parts sit relative to each other. Take what this ad actually has rather than working down the list; an ad with no call to action doesn't need one invented for the reading. Read it once. A second analysis call bills again and tells you what you already have. ### Step 3: Plan each new shape Read `references/recomposing.md` first — it owns this craft: what grows, what moves, what fills the space that opens up, and the things that mark an ad as repurposed. For each shape, decide and write down: - **How far it is from the original.** A `1:1` into `4:5` is a nudge. A `1:1` into `9:16` is a real recomposition. A vertical into `16:9` or `21:9` inverts the frame and keeps very little — close to a new ad than a resize, and worth saying so before it is generated rather than after. - **What fills the new area** — normally the background extended in keeping with its own light and perspective, plus deliberate negative space around the product. Never a new element invented to fill it. - **Where each part goes**, including which part had to move out of the band the platform covers. - **Whether the copy still fits.** The `9:16` safe area is roughly the middle half of the frame, so a copy-dense square ad often cannot move into it at a readable size. **Say that; don't shrink the type until it fits.** The answer is fewer words, and that is the user's call, not this skill's. ### Step 4: Show the plan and wait Nothing has been generated yet, and everything after this costs money. In one short message: the shapes being made, what fills the new space in each, anything significant that had to move, and anything the shape can't carry — copy that won't fit, a ratio far enough from the original that little survives. Then ask, and wait. Where the user has said they don't want to be asked, say in one line what you're going with and carry on. ### Step 5: Choose the model **One model for every shape**, so the set comes back looking like one campaign rather than three ads. A resize redraws every string the ad carries, so how well a model holds text is usually what decides it. | Model | Use it when | How it wants the prompt | | --- | --- | --- | | `gpt-image-2` | the ad is a designed, text-forward layout — a headline, an offer, callouts | short labelled segments on separate lines, every string quoted exactly | | `nano-banana-pro` | the ad leads on a photoreal product or a person and carries lighter text | connected sentences in one narrative paragraph, the drawn copy quoted | | `seedream-5` | a photoreal ad another model refused or keeps failing | a description leading with whatever matters most | Most ads carry real copy, so `gpt-image-2` is the usual choice. Where the user has named a model, use that instead. Call `list_image_models` for what is actually available and for each model's `reference_images` limit rather than assuming this table is the whole roster. ### Step 6: Write each shape's prompt One prompt per shape, built from Step 2's reading and Step 3's plan, written in the shape the model wants. Hold the product, the palette, the type and every drawn string identical across them — **only the arrangement changes.** - **State the new arrangement** — where each part sits in this shape, what the background extends into, and where the negative space falls. Say it as regions of the frame rather than leaving the model to infer it from the reference. - **Keep the copy out of the platform's furniture.** Take the margins from `references/ratios-and-safe-zones.md` and state them. Margin cannot be added to a finished frame, so this is the one thing that cannot be corrected afterwards. - **Quote every drawn string exactly**, in single quotes, with its size and position against the others. - **Say the product is the one in the reference** and reaches the image unchanged — its shape, colour, label and printed text as they are. ### Step 7: Generate Call `image_generate` with a `requests` list, **all of them in the same call** so they render at once. - **One object per shape** — `prompt`, `model`, `aspect_ratio`, `resolution`, `reference_images`. - **The original ad goes in `reference_images` every time**, and the clean product photo alongside it where the user supplied one. They carry the product, the palette and the type; the prompt alone will not. - **`resolution` is `1k`** unless the user asked for a higher tier — raise it where the ad is dense with small type, which is where the extra pixels actually show. - **The model from Step 5 on every object.** Take the accepted `aspect_ratio` values from
From SupercmoHQ/superCMO-skills, Apache-2.0.
More from SupercmoHQ/superCMO-skills
- 0.796score
writing-video-prompts
SupercmoHQ
Writes the motion prompt for a video clip — what moves, how the camera behaves, the physics and the audio, in the shape the chosen model wants.
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
planning-campaigns
SupercmoHQ
Decides what to make next — turns the brand, the product, your own running ads and competitor research into the concepts worth testing next.
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
researching-competitor-ads
SupercmoHQ
Analyzes the ads competitors are running — the ones live now, the ones they have already stopped, and which have run longest.
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
cloning-video-ads
SupercmoHQ
Clones an existing video ad — reads a supplied reference ad, keeps its structure, pacing, shots, camera and hook, and rebuilds it as a new video with the…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
writing-ad-copy
SupercmoHQ
Writes the words of an ad — the headline, primary text, description and call to action that go into the ad platform's own fields, shaped to the channel it…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
generating-ad-videos
SupercmoHQ
Makes a product ad video — a product showcase with no one on screen, or a story or lifestyle commercial where a presenter or actor plays a role in the brand's…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
analyzing-brand
SupercmoHQ
Analyzes a brand from its own website — its colours and fonts, the logo and imagery it uses, how it sounds, who it sells to, the claims it makes, and what it…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
generating-audio
SupercmoHQ
ALWAYS read this skill before generating spoken audio or calling audio_generate — a voiceover, narration, an ad read, a character line, or any script read…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
generating-cartoon-videos
SupercmoHQ
Generates a cartoon video for a product — a drawn, animated, anime, illustrated or painted spot that holds one art style and the same characters across every…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
generating-image-ads
SupercmoHQ
Turns a product photo or URL into a static image ad — one image, or a set.
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
generating-images
SupercmoHQ
ALWAYS read this skill before generating or editing any image, or calling image_generate — text-to-image or image-to-image, simple or complex.
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
generating-product-photos
SupercmoHQ
ALWAYS read this skill before generating a product photography — before writing any prompt or calling image_generate.
SkillAFreshness: A★ 206Claude Code +9
Signals
- Stars
- 206
- Forks
- 23
- Open issues
- 9
- Contributors
- 4
- Last commit (this folder)
- Aug 26, 2026 (2 months ago)
- Last release
- Oct 21, 2026 (6 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 0.3.0
- License
- Apache-2.0
- Repository
- github.com/SupercmoHQ/superCMO-skills
- Website
- getsupercmo.ai
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from SupercmoHQ
- 0.796score
analyzing-brand
SupercmoHQ
Analyzes a brand from its own website — its colours and fonts, the logo and imagery it uses, how it sounds, who it sells to, the claims it makes, and what it…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
analyzing-own-ads
SupercmoHQ
Audits the ads a company is running itself — what's live now, what it has already stopped, and which have run longest.
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
analyzing-products
SupercmoHQ
Normalizes a product into generation-ready facts — from an e-commerce URL (a clean description plus curated product images) or from a photo alone (category…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
cloning-video-ads
SupercmoHQ
Clones an existing video ad — reads a supplied reference ad, keeps its structure, pacing, shots, camera and hook, and rebuilds it as a new video with the…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
generating-ad-videos
SupercmoHQ
Makes a product ad video — a product showcase with no one on screen, or a story or lifestyle commercial where a presenter or actor plays a role in the brand's…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
generating-audio
SupercmoHQ
ALWAYS read this skill before generating spoken audio or calling audio_generate — a voiceover, narration, an ad read, a character line, or any script read…
SkillAFreshness: A★ 206Claude Code +9
Cite this page
adapting-formats skill. Agent Mart. https://agentmart.dev/skills/supercmohq-adapting-formats (last updated 2026-10-24)