ads-generate

AI image generation for paid ad creatives. Reads campaign-brief.md and brand-profile.json to produce platform-sized ad images using banana-claude. Requires banana-claude (v1.4.1+) with nanobanana-mcp configured. Triggers on: generate ads, create images, make ad creatives, generate visuals, create ad images, generate campaign images, make the images, generate from brief.

1,531 stars

Best use case

ads-generate is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

AI image generation for paid ad creatives. Reads campaign-brief.md and brand-profile.json to produce platform-sized ad images using banana-claude. Requires banana-claude (v1.4.1+) with nanobanana-mcp configured. Triggers on: generate ads, create images, make ad creatives, generate visuals, create ad images, generate campaign images, make the images, generate from brief.

Teams using ads-generate should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/ads-generate/SKILL.md --create-dirs "https://raw.githubusercontent.com/AgriciDaniel/claude-ads/main/skills/ads-generate/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/ads-generate/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How ads-generate Compares

Feature / Agentads-generateStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

AI image generation for paid ad creatives. Reads campaign-brief.md and brand-profile.json to produce platform-sized ad images using banana-claude. Requires banana-claude (v1.4.1+) with nanobanana-mcp configured. Triggers on: generate ads, create images, make ad creatives, generate visuals, create ad images, generate campaign images, make the images, generate from brief.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Ads Generate: AI Ad Image Generator

Generates platform-sized ad creative images from your campaign brief and brand
profile. Uses banana-claude as the image generation provider.

## Quick Reference

| Command | What it does |
|---------|-------------|
| `/ads generate` | Generate all images from campaign-brief.md |
| `/ads generate --platform meta` | Generate Meta assets only |
| `/ads generate --prompt "text" --ratio 9:16` | Standalone generation without brief |

## Environment Setup

**Required before running:**

- Requires banana-claude (v1.4.1+) with nanobanana-mcp configured
- Run `/banana setup` to configure API key and MCP
- Fallback: if banana is not available, use `scripts/generate_image.py` (deprecated)

If banana-claude is not installed, this skill will display setup instructions
and stop. It will never fail silently.

## Process

### Step 1: Verify banana-claude

Verify banana-claude is installed (run `/banana setup` to check). If not installed,
display setup instructions and exit.

### Step 2: Locate Source Files

Check for:
- `campaign-brief.md` → primary source for prompts and dimensions
- `brand-profile.json` → brand color/style injection (optional but recommended)

**If campaign-brief.md is found**: Use `## Image Generation Briefs` section as the
generation job list.

**If no campaign-brief.md**: Enter standalone mode (Step 2b).

#### Step 2b: Standalone Mode

Ask the user:
1. Generation prompt (what should the image show?)
2. Target platform (to set correct dimensions)
3. Output filename (optional)

Then skip to Step 5.

### Step 3: Read Provider Config

Load `~/.claude/skills/ads/references/image-providers.md` to confirm:
- Active provider pricing (show user the cost estimate)
- Rate limits for current tier
- Batch API availability

### Step 4: Read Platform Specs

For each platform in the campaign brief, load the relevant spec reference:
- `~/.claude/skills/ads/references/meta-creative-specs.md`
- `~/.claude/skills/ads/references/google-creative-specs.md`
- `~/.claude/skills/ads/references/tiktok-creative-specs.md`
- `~/.claude/skills/ads/references/linkedin-creative-specs.md`
- `~/.claude/skills/ads/references/youtube-creative-specs.md`
- `~/.claude/skills/ads/references/microsoft-creative-specs.md`

### Step 5: Prepare banana Configuration

Create banana brand preset from brand-profile.json if one does not already exist
at `~/.banana/presets/{brand-slug}.json`.

Select banana domain mode based on campaign brief content:
- **Product**: e-commerce, packshots
- **Editorial**: brand awareness, lifestyle
- **Cinema**: video thumbnails, dramatic
- **UI/Web**: app install, SaaS
- **Portrait**: testimonials, people

### Step 6: Spawn Visual Designer Agent

Spawn the `visual-designer` agent using the Task tool with `context: fork`,
passing the selected domain mode and preset name.

The agent will:
- Parse the image generation briefs from campaign-brief.md
- Inject brand colors and mood from brand-profile.json
- Use banana-claude with the configured domain mode for each asset
- Save to `./ad-assets/[platform]/[concept]/` directory structure
- Write `generation-manifest.json`

### Step 7: Validate with Format Adapter

After the visual-designer completes, spawn the `format-adapter` agent
with `context: fork` to validate dimensions and report missing formats.

### Step 8: Quality Gate

Use Claude vision to assess each generated image against the brief (score 1 to 10
on brand alignment, composition, platform fit). If any image scores below 6,
regenerate once with an adjusted prompt.

### Step 9: Aggregate Costs

Read banana cost data from `~/.banana/costs.json` and include total creative spend
in generation-manifest.json.

### Step 10: Report Results

Present a summary:
```
Generation complete:

  Generated assets:
    ✓ ./ad-assets/meta/concept-1/feed-1080x1350.png
    ✓ ./ad-assets/tiktok/concept-1/vertical-1080x1920.png
    ✗ ./ad-assets/google/concept-1/landscape-1200x628.png [error reason]

  Format validation: See format-report.md

  Cost: $[N] total creative spend (from ~/.banana/costs.json)

  Next steps:
    1. Review assets in ./ad-assets/
    2. Check format-report.md for any missing formats
    3. Upload to your ad platform managers
```

## Cost Transparency

Before generating, estimate and show the cost:
- Count the number of image briefs in campaign-brief.md
- Show estimated cost based on banana pricing tiers
- If >$1.00, ask for confirmation before proceeding

## Standalone Mode (No campaign-brief.md)

When running without a campaign brief:

```
Platform target → dimensions used:
  meta-feed     → 1080×1350 (4:5)
  meta-reels    → 1080×1920 (9:16)
  tiktok        → 1080×1920 (9:16)
  google-pmax   → 1200×628 (1.91:1)
  linkedin      → 1080×1080 (1:1)
  youtube       → 1280×720 (16:9)
  youtube-short → 1080×1920 (9:16)
```

Use `/banana generate` directly with the specified prompt and aspect ratio.

## Reference Files

- `~/.claude/skills/ads/references/image-providers.md`: provider config, pricing, limits
- `~/.claude/skills/ads/references/[platform]-creative-specs.md`: per-platform specs
- `~/.claude/skills/ads/references/brand-dna-template.md`: brand injection schema

Related Skills

ads-youtube

1531
from AgriciDaniel/claude-ads

YouTube Ads specific analysis covering campaign types, creative quality, audience targeting, and measurement. Evaluates video ad performance across skippable, non-skippable, bumper, Shorts, and Demand Gen formats. Use when user says YouTube Ads, video ads, pre-roll, bumper ads, YouTube campaign, or Shorts ads.

ads-tiktok

1531
from AgriciDaniel/claude-ads

TikTok Ads deep analysis covering creative quality, tracking, bidding, campaign structure, and TikTok Shop. Evaluates 25 checks with emphasis on creative-first strategy, safe zone compliance, and Smart+ campaigns. Use when user says TikTok Ads, TikTok marketing, TikTok Shop, Spark Ads, Smart+, or TikTok campaign.

ads-plan

1531
from AgriciDaniel/claude-ads

Strategic paid advertising planning with industry-specific templates. Covers platform selection, campaign architecture, budget planning, creative strategy, and phased implementation roadmap. Use when user says ad plan, ad strategy, campaign planning, media plan, PPC strategy, or advertising plan.

ads-photoshoot

1531
from AgriciDaniel/claude-ads

Product photography enhancement for ad creatives using banana-claude image generation. Takes a product image and generates 5 professional photography styles for ad use: Studio, Floating, Ingredient, In Use, and Lifestyle. Requires banana-claude (v1.4.1+) with nanobanana-mcp. Triggers on: product photo, product photography, photoshoot, enhance product image, product shoot, product photos for ads, generate product photos, studio shot, lifestyle photo.

ads-microsoft

1531
from AgriciDaniel/claude-ads

Microsoft/Bing Ads deep analysis covering search, Performance Max, Audience Network, and Copilot integration. Evaluates 20 checks with focus on Google import validation, unique Microsoft features, and cost advantage assessment. Use when user says Microsoft Ads, Bing Ads, Bing PPC, Copilot ads, or Microsoft campaign.

ads-meta

1531
from AgriciDaniel/claude-ads

Meta Ads deep analysis covering Facebook and Instagram advertising. Evaluates 46 checks across Pixel/CAPI health, creative diversity and fatigue, account structure, and audience targeting. Includes Advantage+ assessment. Use when user says Meta Ads, Facebook Ads, Instagram Ads, Advantage+, or Meta campaign.

ads-linkedin

1531
from AgriciDaniel/claude-ads

LinkedIn Ads deep analysis for B2B advertising. Evaluates 25 checks across technical setup, audience targeting, creative quality, lead gen forms, and bidding strategy. Includes Thought Leader Ads, ABM, and predictive audiences. Use when user says LinkedIn Ads, B2B ads, sponsored content, lead gen forms, InMail, or LinkedIn campaign.

ads-landing

1531
from AgriciDaniel/claude-ads

Landing page quality assessment for paid advertising campaigns. Evaluates message match, page speed, mobile experience, trust signals, form optimization, and conversion rate potential. Use when user says landing page, post-click experience, landing page audit, conversion rate, or landing page optimization.

ads-google

1531
from AgriciDaniel/claude-ads

Google Ads deep analysis covering Search, Performance Max, Display, YouTube, and Demand Gen campaigns. Evaluates 74 checks across conversion tracking, wasted spend, account structure, keywords, ads, and settings. Use when user says Google Ads, Google PPC, search ads, PMax, Performance Max, or Google campaign.

ads-dna

1531
from AgriciDaniel/claude-ads

Brand DNA extractor for paid advertising. Scans a website URL to extract visual identity, tone of voice, color palette, typography, and imagery style. Outputs brand-profile.json to the current directory. Run before /ads create or /ads generate for brand-consistent creative. Triggers on: brand DNA, brand profile, extract brand, brand identity, brand colors, what is the brand voice, analyze brand, brand style guide.

ads-creative

1531
from AgriciDaniel/claude-ads

Cross-platform creative quality audit covering ad copy, video, image, and format diversity across all platforms. Detects creative fatigue, evaluates platform-native compliance, and provides production priorities. Use when user says creative audit, ad creative, creative fatigue, ad copy, ad design, or creative review.

ads-create

1531
from AgriciDaniel/claude-ads

Campaign concept and copy brief generator for paid advertising. Reads brand-profile.json and optional audit results to produce structured campaign concepts, messaging pillars, and copy briefs. Outputs campaign-brief.md to the current directory. Run after /ads dna and before /ads generate. Triggers on: create campaign, campaign brief, ad concepts, write ad copy, campaign strategy, ad messaging, creative brief, generate concepts.