Ad Creative logo

Ad Creative

Community
superamped
ad-creative

Use this skill to turn ad concepts into HTML creative in cookie-cutter, ugly, meme, branded, or native styles, with optional Playwright screenshots. Trigger it when producing, varying, or iterating visual ad assets for testing.

Overview

Publishersuperamped
Repositoryai-marketing-skills
Skill namead-creative
Stars
73
Forks
6
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by superamped on GitHub. Read the source before you install it.

Installation

Install the Ad Creative AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/superamped/ai-marketing-skills/tree/main/skills/ads/ad-creative
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/superamped/ai-marketing-skills.git /tmp/ai-marketing-skills
mkdir -p .claude/skills
cp -r /tmp/ai-marketing-skills/skills/ads/ad-creative .claude/skills/ad-creative
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Ad Creative in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Ad Creative on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Ad Creative is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Ad Creative

Usage

Use when producing ad images from brainstormed concepts, creating multiple ad variations for A/B testing, or iterating on ad designs (new headline, different screenshot, color change).

Process

Step 1: Gather Inputs

Ask the user for:

  1. Headline text — the main text on the ad image
  2. Brand colors (optional) — primary color, background color, text color (hex values). If not provided, defaults: background #0f172a, text #ffffff, accent #3b82f6
  3. Font (optional) — font family (default: system sans-serif stack)
  4. Logo URL (optional) — if brand guidelines require it
  5. Product image (optional, required for product-image and branded styles) — path to a screenshot, UI image, or visual asset
  6. Style — cookie-cutter / ugly / meme / branded / native (default: cookie-cutter)
  7. Dimensions — width x height in pixels. Common presets:
    • square: 1200x1200px (social feeds)
    • landscape: 1440x1000px (Reddit/display)
    • Or custom dimensions
  8. Platform — which platform the ad is for (affects dimension defaults and template tweaks)
  9. Ad concept from ad-angles (optional) — full concept block with headline, style, and image suggestion

Step 1b: Select or Refine the Headline

If no headline is provided, or the headline needs strengthening, use the Hook Formula Bank:

5 Qualities of an Irresistible Headline:

  1. Clear, not clever — Reader immediately knows what it's about
  2. Makes a PROMISE — Not just "about X" but "here's what changes"
  3. Specific — Concrete numbers, outcomes, audiences
  4. Takes a stance — Polarizing headlines make the right reader say "that's me"
  5. Teases without revealing — The Curiosity Gap

Quick Headline Formulas:

  • [Number] [Things] [Audience] should [know/avoid/use]
  • How to [Outcome] without [Pain Point]
  • Still [Painful Activity]? There's a better way.
  • [Competitor], but [Differentiator]
  • The [Number]-step [System] for [Outcome]

Headline Length Rules (for ad images):

  • Short headlines (< 40 chars) have the highest impact. Aim here.
  • If the headline needs explanation, it's too complex for an ad image.

Step 1c: Direct Response Checklist

Before building the HTML, verify the concept passes:

  • Single message — The ad communicates ONE idea
  • Headline is benefit-oriented — States what the prospect gets
  • Visual matches the headline — Product screenshot reinforces the claim
  • CTA is clear — Viewer knows what action to take
  • No competing elements — No decorative graphics fighting for attention
  • Mobile-readable — Headline text is legible at 50% zoom
  • Emotional resonance — Activates at least one emotional trigger

Step 2: Build the HTML

Create a self-contained HTML file using the selected template.


Cookie-Cutter Template — headline + product image + clean background:

┌─────────────────────────────┐
│                             │
│     HEADLINE TEXT            │
│     (large, bold)           │
│                             │
│   ┌─────────────────────┐   │
│   │   Product Image     │   │
│   │   (with shadow)     │   │
│   └─────────────────────┘   │
│                             │
└─────────────────────────────┘

Design rules:

  • Headline: Large, bold, high contrast. Max 2 lines.
  • Product image: Centered, subtle drop shadow, ~60% canvas width.
  • Background: Solid color or subtle gradient using brand colors.
  • No logos, decorative elements, or extra text. Minimal by design.

Headline font size: < 40 chars → 64px, 40-70 chars → 52px, > 70 chars → 42px.


Ugly Ads Template — text-heavy, high-contrast, deliberately unpolished:

┌─────────────────────────────┐
│   HEADLINE TEXT             │
│   (very large, bold,        │
│    fills top 60%)           │
│                             │
│   Optional: $PRICE          │
│   Optional: subtext/CTA     │
└─────────────────────────────┘

Design rules:

  • Square format (1200x1200px) default
  • Text fills the top 60% of the canvas
  • No product images — text IS the creative
  • Bold, heavy font weights (700-900)
  • Deliberately unpolished: no gradients, shadows, rounded corners

High-contrast color combos:

ComboBackgroundTextAccent
Black/Yellow#000000#FFD700#FFFFFF
Red/White#CC0000#FFFFFF#FFD700
Blue/White#003366#FFFFFF#FFD700
White/Black#FFFFFF#000000#CC0000
Yellow/Black#FFD700#000000#CC0000

Headline font size: < 30 chars → 96px, 30-60 chars → 72px, > 60 chars → 56px.


Meme Template — meme format for attention + benefit:

┌─────────────────────────────┐
│   TOP TEXT (setup)          │
│   ┌─────────────────────┐   │
│   │   Meme Image        │   │
│   └─────────────────────┘   │
│   BOTTOM TEXT (punchline)   │
└─────────────────────────────┘

Design rules:

  • Use recognizable meme templates (Drake, Expanding Brain, etc.)
  • Top text = setup (problem or old way), Bottom text = punchline (product or new way)
  • Keep text short — memes with walls of text lose the format's power
  • Square format (1200x1200) works best

Branded Template — professional with stats, product image, social proof:

┌─────────────────────────────┐
│     HEADLINE TEXT            │
│   STAT  |  STAT  |  STAT    │
│   ┌─────────────────────┐   │
│   │   Product Image     │   │
│   └─────────────────────┘   │
│   Social proof line          │
└─────────────────────────────┘

Design rules:

  • Use the brand's actual colors
  • Stats in accent color with muted labels
  • Product image with shadow, centered
  • Social proof line at the bottom (client names, G2 rating, etc.)

Native Template — looks like an organic social post:

┌─────────────────────────────┐
│  Platform · Promoted         │
│  HEADLINE TEXT               │
│  Body text (reads like       │
│   a real post)              │
│  ┌─────────────────────┐    │
│  │  Product Image       │    │
│  └─────────────────────┘    │
│  142 upvotes · 38 comments   │
└─────────────────────────────┘

Design rules:

  • Light background (#f8fafc or white)
  • System font stack, normal weights
  • Body text reads like a genuine post, not a marketing headline
  • Fake engagement metrics at bottom

Step 3: Save the HTML File

Write the HTML file. Name it descriptively: ad-{slug}.html where {slug} is a kebab-cased version of the headline (truncated to 40 chars).

Step 4: Screenshot with Playwright MCP (if available)

If Playwright MCP is configured:

  1. Set viewport to the exact dimensions using browser_resize
  2. Navigate to the HTML file using a file:// URL
  3. Screenshot the viewport
  4. Save the screenshot as PNG

Playwright MCP must be configured with --allow-unrestricted-file-access and --browser chromium flags.

If Playwright MCP is not available, present the HTML file and tell the user they can open it in a browser and screenshot manually, or configure Playwright MCP for automated capture.

Step 5: Verify, Present, and Iterate

Present results to the user with:

  • The image preview for each ad (if screenshots were captured)
  • A summary table showing all rendered ads
  • File paths to both the PNG and HTML files

Ask the user if they want to iterate:

  • Change a headline → update the HTML and re-screenshot
  • Change colors or style → rebuild from a different template
  • Change the product image → capture a new screenshot and rebuild
  • Change dimensions → re-screenshot at new viewport size

Do not consider the batch complete until the user confirms they're happy.

Output Format

# Ad Creative Output

**Date:** [current date]
**Ads Produced:** [count]
**Dimensions:** [width]x[height]px

---

## Ad 1: [Concept name]

**Headline:** [headline text]
**Style:** [branded/product/meme/ugly/native]
**Files:**
- HTML: [path]
- PNG: [path] (if Playwright available)

[Image preview if available]

---

## Upload Checklist

- [ ] Images are correct dimensions
- [ ] File size under 3MB per image
- [ ] Format is PNG or JPG
- [ ] Headlines are readable on mobile (test at 50% zoom)
- [ ] Brand colors match landing page

Rules

  • The cookie-cutter template is intentionally minimal. Resist the urge to add decorative elements. Simplicity converts.
  • Product images should be real screenshots, not mockups or stock photos.
  • If the product image has a white background, use a dark ad background (and vice versa) for contrast.
  • PNG is preferred for sharp text and UI screenshots.
  • The HTML file is kept so the user can tweak copy, colors, or images manually and re-screenshot.
  • Visual consistency between ad and landing page reduces drop-off. Use the same colors, fonts, and design system.

Frequently asked questions

What does the Ad Creative AI skill do?

Use this skill to turn ad concepts into HTML creative in cookie-cutter, ugly, meme, branded, or native styles, with optional Playwright screenshots. Trigger it when producing, varying, or iterating visual ad assets for testing.

Why use Ad Creative on TypingMind?

Because you install it once and use it with any model. Ad Creative is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Ad Creative in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/superamped/ai-marketing-skills/tree/main/skills/ads/ad-creative. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Ad Creative?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Ad Creative?

As many as you like. As long as a model supports skills, you can use Ad Creative with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Ad Creative AI skill free?

Yes. It is published on GitHub by superamped under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇