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

Static Ad Builder

The assembly step: spec in, finished 1080×1350 file out. Everything upstream — angle, hook, copy, offer — is decided by the time this runs; this skill's job is to put it on the canvas without breaking any rule that got it approved.

Download skill

What it does

  • Canvas and grid
  • Place the elements in read order
  • Apply the text rules
  • Brand lock pass
  • Restraint pass
  • Export
SKILL.md
---
name: static-ad-builder
description: Assemble a finished static Meta ad at 1080x1350 — canvas, element order, text application, design rules, brand lock, and export naming. Use when asked to build a static ad, make an image ad, lay out an ad design, put copy onto a creative, produce feed ads from an approved spec, or someone says 'make the actual ad file'. For the creative spec and judgment, see meta-ads-creative. For the copy itself, see headline-and-primary-text. For hooks, see hook-writer.
metadata:
  version: 1.0.0
---

# Static ad builder

The assembly step: spec in, finished 1080×1350 file out. Everything upstream —
angle, hook, copy, offer — is decided by the time this runs; this skill's job is
to put it on the canvas without breaking any rule that got it approved.

The finding that surprises people, from the tested data: ads with **little to no
"design" convert best**. The craft here is restraint — clean text on a real
product image beats a decorated layout.

## Before you start

| Input | Why |
| --- | --- |
| The creative spec (from reference-deconstruction or meta-ads-creative) | The skeleton being assembled |
| Approved copy: overlay line, and the offer badge text if any | No copy gets written at assembly time |
| Brand lock — logo file, hex colours, font | Applied exactly; never improvised |
| The product image | Real product, not stock, not generated fakes |
| The matrix cell: persona_angle_variant | Names the export file |

Assembly writes no copy and picks no colours. If either is missing, go back one
skill — improvising here silently overwrites decisions already made.

## Step 1 — Canvas and grid

- **1080×1350 (4:5)** unless the placement demands otherwise.
- Lay the spec's grid: hook zone, product zone, CTA/badge zone in the read order
  the spec defines.
- Safe margins first: text stays **≥15% from the edges** on this vertical format
  (10% is the wide-format floor).

## Step 2 — Place the elements in read order

1. **Hook line** — owns the hierarchy: biggest text, highest contrast, first
   eye-hit, per the spec's hook zone.
2. **Product image** — a real screenshot or photo. Never distorted, never faked.
3. **Proof element** — only if supplied; positioned per the spec's proof slot.
4. **CTA word / offer badge** — small, consistent, matching the button the ad will
   run with (see cta-selector).
5. **Logo** — where the brand lock says, sized to be remembered, not to dominate.

## Step 3 — Apply the text rules

- Overlay copy as approved — 2–7 words, verbatim from the copy set.
- **Line height**: the capital-E litmus — an "E" fits snugly between two lines.
- **Fill lines wide** before wrapping; no ragged fragments.
- Legible at phone size: squint-test the export at 25% zoom — if the hook is not
  readable, nothing else matters.

## Step 4 — Brand lock pass

Logo file, hex values, font — exactly as locked. The layout may change per
variant; the lock never does. One creative with an off-brand hex breaks batch
consistency in Ads Manager reporting and in the feed.

## Step 5 — Restraint pass

Remove decoration that does no job: gradients, badges nobody approved, a second
font, drop shadows. Every element must map to a job in the spec — if it has no
job, it goes.

## Step 6 — Export

- `persona_angle_variant.png` — exactly, so the winner traces back in Ads Manager.
- Also check the file against its variant siblings: same skeleton, visibly
  different message. Identical twins mean the matrix cell was misassembled.

## Output

```
# Build: <persona_angle_variant>.png   1080x1350

Spec source:   <deconstruction file / meta-ads-creative spec>
Copy applied:  overlay "<verbatim>" · badge "<verbatim or none>"
Read order:    hook → product → proof → CTA (per spec)
Margins:       ≥15% confirmed  ·  Line height: E-test pass
Brand lock:    logo ✓ hex ✓ font ✓
Restraint:     <elements removed, or "nothing to remove">
Legibility:    25%-zoom squint test pass
```

## When it breaks

| What you see | What it means | The fix |
| --- | --- | --- |
| The ad looks "designed" and underperforms | Decoration added at assembly | Restraint pass — little to no design converts best |
| Text cramped at the edges | Margin floor ignored on vertical | ≥15% on 4:5; measure, don't eyeball |
| Hook unreadable on a phone | Hierarchy or size failure | Hook owns biggest/highest-contrast; 25%-zoom test |
| Copy on the ad differs from the approved set | Copy edited at assembly time | Assembly applies verbatim; changes go back to the copy skill |
| Colours slightly off across the batch | Eyedropped from an export instead of the hex lock | Apply hex values from the lock file every time |
| Winner can't be traced | Freestyle file naming | persona_angle_variant, no exceptions |
| Variants look identical | One matrix cell built twice | Check against siblings before export |

Never "improve" the copy or the palette during assembly. Assembly executes
decisions; changing them here means the tested thing and the shipped thing are no
longer the same ad.

## Rules

- **Assembly writes no copy and picks no colours**, because silent overwrites here
  break the chain from test result back to decision.
- **Real product imagery only** — no stock filler, no generated fake screenshots —
  because the image is the claim the reader trusts most.
- **Restraint beats decoration**, because the tested data says low-design ads
  convert best.
- **The E-test and margin floors are measured, not eyeballed**, because "looks
  fine" at desktop zoom fails at phone size.
- **Export names are the tracking system** — persona_angle_variant, because a
  winner you cannot trace is a lesson you cannot keep.

## Related skills

- **meta-ads-creative** — the spec, checks and judgment upstream of this build.
- **reference-deconstruction** — where the skeleton comes from.
- **hook-writer** / **headline-and-primary-text** — the words this skill applies
  verbatim.
- **format-resizer-spec** — adapting the finished build to other placements.

Reviews

Sign in to leave a review.