agentleFS
pbc-ospbc-os/smb-starter-kit/skills/tier-4-growth/creative-matrix/SKILL.md

creative-matrix

Skill10 starsChanged 7 months agoMITView on GitHub

Generate Meta/Facebook ad creative concepts using a 3x3x3 Creative Multiplication framework (3 messaging angles x 3 formats x 3 funnel stages = 27 unique concepts). Produces structured briefs with copy, format specs, and targeting. Optionally generates draft image and video assets.

  • Reads credentials

We split this skill into the rules it gives an agent

6 rules. About 0 are common, 6 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈6

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Before generating concepts, collect the following from the user.

    line 38
  2. Distinctive:

    When the user selects Starter tier or does not specify, generate these 6 as a minimum viable test:

    line 81
  3. Distinctive:

    If asset generation tools are available and the user requests assets:

    line 92
  4. Distinctive:

    Product cutouts on colored/gradient backgrounds: Use the 4-pass transparent PNG pipeline:

    line 109
  5. Distinctive:

    If fal.ai video is not available, output a detailed script/storyboard instead:

    line 142
  6. Distinctive:

    After generating all concepts, provide a summary table:

    line 151

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Creative Matrix

Overview

Generate a full set of ad creative concepts for any brand using the Creative Multiplication framework by Curtis Howland. The framework produces 27 unique creative concepts by combining 3 messaging angles (Pain Point, Desire, Social Proof) x 3 creative formats (Static, Video, Carousel) x 3 funnel stages (TOF, MOF, BOF). Each concept is distinct enough to avoid auction overlap in Meta's algorithm.

Attribution: The Creative Multiplication framework was created by Curtis Howland, based on $30M+ in Meta ad spend. This skill implements his methodology as published on LinkedIn.

Prerequisites — Asset Generation (Optional)

Brief/copy generation requires no additional tools. Asset generation is optional:

  • Static image generation: Requires nano-banana skill (Gemini). Verify: python3 -c "from google import genai; print('ok')" and GEMINI_API_KEY in environment. Alternatively: fal.ai MCP server (Flux, SDXL)
  • Transparent product cutouts (for compositing on ad backgrounds): Requires nano-banana's full 4-pass web-asset pipeline (generate_image.py → edit_image.py → make_transparent.py → pngquant). See nano-banana skill's references/web-asset-workflow.md
  • Video generation: Requires fal.ai MCP server (Kling, MiniMax, Wan)
  • No tools available: Output briefs only — the user or their production team handles asset creation

To detect availability, check if nano-banana scripts are accessible before offering asset generation:

python3 -c "from google import genai; print('nano-banana: ok')"

Workflow

Phase 1: Gather Brand Context

Before generating concepts, collect the following from the user. Ask concisely — do not overwhelm with questions. Prioritize the first three; the rest are helpful but optional.

  1. Brand/Product — What is the product or service?
  2. Target Audience — Who is the ideal customer? Demographics, psychographics, pain points.
  3. Offer — What is the current offer? (discount, bundle, free trial, etc.)
  4. Product Category Signal — Is the value immediately visible (fashion, jewelry, food) or does the customer need to believe a transformation (skincare, supplements, coaching)? This determines the static vs video weighting.
  5. Existing Creative Winners — Any ads that have worked well? What angle/format were they?
  6. Budget Tier — Starter (5-10 concepts), Growth (15-18 concepts), or Full Matrix (all 27).
  7. Platform Notes — Stories-heavy? Feed-heavy? Reels? This affects format specs.

Phase 2: Generate the Creative Matrix

Load references/framework.md for the full framework reference including angles, formats, funnel stages, sub-triggers, benchmarks, and combination examples.

For each concept in the matrix, produce a structured brief:

## [Cell ID] — [Funnel] x [Format] x [Angle]

**Hook/Headline**: [The opening line or visual hook]
**Body Copy**: [Supporting copy, 2-3 sentences max]
**CTA**: [Call to action]
**Sub-Angle**: [Which sub-angle: frustration/fear/regret, aspiration/freedom/status, testimony/authority/relatability]
**Triggers**: [Psychological triggers activated]
**Format Spec**: [Dimensions, duration, card count, production notes]
**Targeting**: [Funnel stage targeting notes]
**Priority**: [High/Medium/Low based on rules below]

Prioritization Rules

Apply these rules when assigning priority and recommending test order:

  • Allocate 80% of creative volume to TOF
  • Weight statics higher for visually-obvious products (fashion, jewelry, food)
  • Weight video higher for belief-driven products (skincare, supplements, transformations)
  • Decision rule: SEE IT → static. BELIEVE IT → video.
  • Carousels for education-heavy or comparison-selling products
  • Mark Partnership/creator-handle ads as high priority when applicable (53% lower CAC)
  • For starter budgets, recommend a balanced sample: 3 TOF (one per format), 2 MOF, 1 BOF

Recommended Starter Set (6 Concepts)

When the user selects Starter tier or does not specify, generate these 6 as a minimum viable test:

  1. TOF x Static x Pain Point
  2. TOF x Video x Desire
  3. TOF x Carousel x Social Proof
  4. MOF x Video x Social Proof
  5. MOF x Static x Desire
  6. BOF x Static x Pain Point (with offer)

Phase 3: Asset Generation (Optional)

If asset generation tools are available and the user requests assets:

Static Images

  1. For each static concept, compose an image generation prompt based on the brief's hook, visual direction, and brand context
  2. Generate using nano-banana generate_image.py:
    # Feed static (1080x1080 = 1:1)
    python3 scripts/generate_image.py "{hook visual description}, {brand aesthetic}, {product in context}" \
      --aspect-ratio 1:1 --output ./assets/ --filename tof-static-pain-v1.png
    
    # Stories/Reels static (1080x1920 = 9:16)
    python3 scripts/generate_image.py "{same concept adapted for vertical}" \
      --aspect-ratio 9:16 --output ./assets/ --filename tof-static-pain-stories-v1.png
  3. Aim for smartphone-aesthetic quality — studio polish is not needed (smartphone beats studio 84% of the time in Stories)
  4. Generate 1-2 variants per concept for A/B testing
  5. Product cutouts on colored/gradient backgrounds: Use the 4-pass transparent PNG pipeline:
    # Generate product on white bg → remove bg → make transparent → composite
    python3 scripts/generate_image.py "{product}, on a simple white background" \
      --output ./assets/ --filename product-raw.png
    python3 scripts/edit_image.py \
      "Remove the background completely. Make the background fully transparent. Keep only the main subject with clean edges. Output as PNG with alpha transparency." \
      --images ./assets/product-raw.png --output ./assets/ --filename product-keyed.png
    python3 scripts/make_transparent.py ./assets/product-keyed.png \
      --output ./assets/ --filename product-transparent.png
    pngquant --quality=65-85 --force --output ./assets/product-transparent.png \
      ./assets/product-transparent.png
    Then composite the transparent product onto ad backgrounds using edit_image.py with the product + background as multi-image input.

Carousel Cards

  1. For each carousel concept, generate individual card images using nano-banana generate_image.py with --aspect-ratio 1:1
  2. Card 1 must hook with the problem or question — never lead with the product
  3. Final card includes the CTA and offer
  4. Maintain visual consistency across cards — pass all prior cards as reference images to edit_image.py:
    # Generate card 1, then use it as style reference for cards 2-5
    python3 scripts/edit_image.py \
      "Create card 2 of a carousel in the exact same visual style. {card 2 content description}" \
      --images ./assets/carousel-card-1.png --output ./assets/ --filename carousel-card-2.png

Video

  1. For each video concept, generate a video using fal.ai if available
  2. Focus the prompt on the first 3 seconds — this decides everything
  3. Include text overlay direction in the prompt for hook text
  4. If fal.ai video is not available, output a detailed script/storyboard instead:
    • Shot-by-shot breakdown
    • Timing (focus on 3-second hook)
    • Text overlay copy
    • Audio/music direction
    • Recommended length (15s, 30s, or 60s)

Phase 4: Output Summary

After generating all concepts, provide a summary table:

#FunnelFormatAngleSub-AngleHook (short)Priority

Follow with:

  • Recommended test order — which concepts to launch first
  • Performance benchmarks to watch — hook rate thresholds for video (kill below 25%, good 30-40%, scale above 40%), static conversion share targets
  • Iteration guidance — when to kill, iterate, or scale each concept

Example Output

See examples/starter-set-example.md for a complete example of the 6-concept starter set generated for a premium butcher shop. Use this as a reference for the expected output format, level of detail, and quality bar.

Format Specs Quick Reference

FormatDimensionsNotes
Static (Feed)1080x1080 or 1080x13501350 for more real estate
Static (Stories/Reels)1080x1920Full screen vertical
Video (Feed)1080x1080 or 1080x1350First 3 sec = everything
Video (Stories/Reels)1080x192015s or 30s preferred
Carousel (Feed)1080x1080 per card3-5 cards typical

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.