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
- Distinctive: line 38
Before generating concepts, collect the following from the user.
- Distinctive: line 81
When the user selects Starter tier or does not specify, generate these 6 as a minimum viable test:
- Distinctive: line 92
If asset generation tools are available and the user requests assets:
- Distinctive: line 109
Product cutouts on colored/gradient backgrounds: Use the 4-pass transparent PNG pipeline:
- Distinctive: line 142
If fal.ai video is not available, output a detailed script/storyboard instead:
- Distinctive: line 151
After generating all concepts, provide a summary table:
≈ “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.
Files
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')"andGEMINI_API_KEYin 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'sreferences/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.
- Brand/Product — What is the product or service?
- Target Audience — Who is the ideal customer? Demographics, psychographics, pain points.
- Offer — What is the current offer? (discount, bundle, free trial, etc.)
- 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.
- Existing Creative Winners — Any ads that have worked well? What angle/format were they?
- Budget Tier — Starter (5-10 concepts), Growth (15-18 concepts), or Full Matrix (all 27).
- 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:
- TOF x Static x Pain Point
- TOF x Video x Desire
- TOF x Carousel x Social Proof
- MOF x Video x Social Proof
- MOF x Static x Desire
- 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
- For each static concept, compose an image generation prompt based on the brief's hook, visual direction, and brand context
- 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 - Aim for smartphone-aesthetic quality — studio polish is not needed (smartphone beats studio 84% of the time in Stories)
- Generate 1-2 variants per concept for A/B testing
- Product cutouts on colored/gradient backgrounds: Use the 4-pass transparent PNG pipeline:
Then composite the transparent product onto ad backgrounds using# 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.pngedit_image.pywith the product + background as multi-image input.
Carousel Cards
- For each carousel concept, generate individual card images using nano-banana
generate_image.pywith--aspect-ratio 1:1 - Card 1 must hook with the problem or question — never lead with the product
- Final card includes the CTA and offer
- 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
- For each video concept, generate a video using fal.ai if available
- Focus the prompt on the first 3 seconds — this decides everything
- Include text overlay direction in the prompt for hook text
- 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:
| # | Funnel | Format | Angle | Sub-Angle | Hook (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
| Format | Dimensions | Notes |
| Static (Feed) | 1080x1080 or 1080x1350 | 1350 for more real estate |
| Static (Stories/Reels) | 1080x1920 | Full screen vertical |
| Video (Feed) | 1080x1080 or 1080x1350 | First 3 sec = everything |
| Video (Stories/Reels) | 1080x1920 | 15s or 30s preferred |
| Carousel (Feed) | 1080x1080 per card | 3-5 cards typical |
In this repository23 other files it gives its agents.
- data-lake-starterSkill
- google-workspaceSkill
- mcp-guideSkill
- secrets-managerSkill
- semantic-layer-auditSkill
- gmailSkill
- google-calendarSkill
- google-chatSkill
- slack-directorySkill
- slackSkill
- google-docsSkill
- google-driveSkill
- google-sheetsSkill
- google-tasksSkill
- brand-identitySkill
- google-adsSkill
- nano-bananaSkill
- autoresearchSkill
- long-running-agentSkill
- morning-briefingSkill
- playbook-discoverySkill
- revenue-forecasterSkill
- patent-figureSkill
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
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.

