Scholar HeistScholar Heist
← All skills
Productionv1.0.0 · 2026-08-07

Format Resizer Spec

A resize is a re-composition, not a crop. Each placement has its own canvas, its own safe area, and its own attention pattern — cropping a 4:5 feed ad into 9:16 Stories is how hooks lose their heads and CTAs vanish under interface buttons.

Download skill

What it does

  • Know the target canvases
  • Re-compose per placement
  • Run the invariants check
  • Preview before export
SKILL.md
---
name: format-resizer-spec
description: Adapt one finished ad creative across Meta placements — 4:5 feed, 9:16 Stories and Reels, 1:1 — re-composing per format instead of cropping. Use when asked to resize an ad, adapt a creative for Stories or Reels, make placement versions, fix a creative that gets cut off, prepare one design for all placements, or someone says 'the ad looks wrong in Stories'. For the original build, see static-ad-builder. For what may never change between versions, see meta-ads-creative.
metadata:
  version: 1.0.0
---

# Format resizer spec

A resize is a **re-composition, not a crop**. Each placement has its own canvas,
its own safe area, and its own attention pattern — cropping a 4:5 feed ad into
9:16 Stories is how hooks lose their heads and CTAs vanish under interface
buttons.

What never changes across versions: the message, the claims, the brand lock, and
the persona_angle_variant identity. What re-composes: layout, sizes, and where
elements sit.

## Before you start

| Input | Why |
| --- | --- |
| The master creative and its spec | The elements and read order being re-composed |
| Target placements | Each is its own re-composition |
| The element inventory — hook, product, proof, CTA, logo | The invariant list that must survive every format |

## Step 1 — Know the target canvases

| Placement | Ratio | Master rule |
| --- | --- | --- |
| Feed (FB/IG) | 4:5 · 1080×1350 | The corpus default — usually the master |
| Stories / Reels | 9:16 full-screen | Re-compose; UI overlays eat top and bottom |
| Square (some feeds/placements) | 1:1 | Tightest canvas; hierarchy must simplify |

Placement menus and exact overlay geometry change — **verify in Ads Manager's
placement preview before export**; this skill's percentages are the working
method, not a frozen spec.

## Step 2 — Re-compose per placement

**Feed 4:5 (master):** built per static-ad-builder — margins ≥15%, hook owns the
hierarchy.

**Stories/Reels 9:16:**
- Treat roughly the **top 10–15% and bottom 15–20% as unsafe** — profile chrome
  above, CTA/reply UI below. Nothing load-bearing lives there; confirm against
  the current preview.
- The extra height is for **breathing, not more content** — same elements, larger
  hook, more space.
- Full-bleed background; the 4:5 master centered on a canvas reads as a poster on
  a wall, not a native ad.

**1:1:**
- Cut secondary elements before shrinking everything — hierarchy survives by
  dropping, not scaling. Proof badge or subhead goes; hook, product, CTA stay.

## Step 3 — Run the invariants check

Per placement version:

- [ ] Hook readable at phone size (25%-zoom squint test)
- [ ] All invariant elements present — or consciously cut (1:1), never cropped out
- [ ] Copy verbatim from the approved set — a resize never rewrites
- [ ] Brand lock intact — same hex, font, logo treatment
- [ ] Nothing in the placement's unsafe zones
- [ ] File named `persona_angle_variant_<placement>.png`

## Step 4 — Preview before export

Load each version in the Ads Manager placement preview (or on-device). The
preview is the authority on current overlay geometry — not this document, not
last quarter's template.

## Output

```
# Resize spec: <persona_angle_variant> → <placements>

| Placement | Canvas | Re-composition notes | Cut elements | Safe-zone check |
| feed 4:5 | 1080x1350 | master | — | ✓ |
| stories 9:16 | 1080x1920 | hook enlarged, CTA raised above bottom 20% | — | ✓ preview |
| square 1:1 | 1080x1080 | proof badge dropped | proof | ✓ |

Invariants: message ✓ claims ✓ brand lock ✓ naming ✓
Copy: verbatim across all versions ✓
```

## When it breaks

| What you see | What it means | The fix |
| --- | --- | --- |
| Hook cut off in Stories | 4:5 cropped to 9:16 | Re-compose on the 9:16 canvas; never crop up |
| CTA hidden behind the reply bar | Bottom unsafe zone ignored | Load-bearing elements out of the bottom ~15–20%; confirm in preview |
| Stories version looks like a poster on a wall | Master pasted onto a taller canvas | Full-bleed background, re-set the elements |
| 1:1 version illegible | Everything scaled down to fit | Cut elements to keep hierarchy; drop proof/subhead first |
| Versions drift apart in message | Copy "adjusted" during resize | Resize never rewrites — verbatim or back to the copy skill |
| Preview shows new UI overlap | Platform moved its chrome | The preview is the authority; adjust and re-export |
| Winner untraceable per placement | Placement suffix missing | `persona_angle_variant_<placement>` — the suffix is part of the system |

Never ship the auto-generated placement crop unreviewed. Automatic cropping
centers on pixels, not on the hook — the one thing the ad cannot lose.

## Rules

- **Re-compose, never crop**, because crops decapitate hooks and bury CTAs under
  UI.
- **A resize never rewrites copy or claims**, because placement versions must stay
  the same tested ad.
- **Cut before you shrink** on smaller canvases, because hierarchy survives by
  losing elements, not legibility.
- **The placement preview is the authority** on safe zones, because platform
  chrome changes and frozen pixel specs go stale.
- **Placement suffix on every export**, because per-placement winners are a real
  finding you cannot recover from unnamed files.

## Related skills

- **static-ad-builder** — builds the 4:5 master this skill adapts.
- **meta-ads-creative** — the invariants (message, claims, brand lock) and checks.
- **ugc-style-video-script** — 9:16 video is native there; this skill covers
  static adaptation.
- **creative-diversity-audit** — placement versions are one creative, not
  diversity; the audit counts them as such.

Reviews

Sign in to leave a review.