A Claude skill that builds complete ChatGPT Ads campaigns: campaign structure, ad groups with context hints, and ads with character-validated copy plus image prompts for icon-style creative.
ChatGPT Ads has constraints that catch most advertisers off guard the first time. Headlines truncate at 35 characters. Descriptions truncate at 67. The image renders as a small thumbnail beside an auto-included brand logo. Targeting uses contextual intent matching, not behavioral history, so ad groups have to be organized by intent cluster rather than audience demographic.
This skill bakes those constraints into a workflow:
- Interview. Captures campaign goal, product, audience, proof points, contrast angle, and target intents.
- Structure. Maps each intent cluster to one ad group, with two creative variants per group.
- Generate. Produces ad copy validated against the character limits, context hints written as natural conversation descriptions, UTM-templated display URLs, and 1024x1024 image prompts ready to paste into Gemini, Imagen, or any modern image generator.
Drop the chatgpt-ads-builder.skill file into Claude (Settings → Capabilities → Skills, then upload). Once installed, the skill triggers automatically when you ask for ChatGPT Ads, OpenAI Ads, SearchGPT ads, or related campaign work.
Start a conversation with a prompt like:
Help me build a ChatGPT Ads campaign for [product or service].
The skill will run the interview, propose a campaign structure, confirm with you, then generate the full output.
The output is a single Markdown document covering the entire campaign:
- Campaign overview (goal, language, budget, URL pattern)
- For each ad group: name, three to six context hints, two ads with validated headline and description, display URL with UTM tags
- One image generation prompt per ad group, shared across both copy variants
Every headline and description is character-counted before output, with a validation script (scripts/validate_copy.py) that catches any over-limit copy.
chatgpt-ads-builder/
├── SKILL.md Main skill playbook
├── LICENSE MIT
├── README.md This file
├── references/
│ ├── interview-guide.md Full question set with follow-ups
│ ├── copy-patterns.md Pattern library with examples across industries
│ └── icon-design.md Icon concept library and prompt templates
└── scripts/
└── validate_copy.py Character-limit validator (pipe stdin or pass args)
The skill ships with defaults that work generically. If you want to tune it for a specific brand:
- Add brand-specific copy examples to
references/copy-patterns.md - Add brand-specific visual rules to
references/icon-design.md - Update the voice and writing rules section in
SKILL.md
For a brand-specific fork, rename the skill (e.g., chatgpt-ads-builder-for-acme) and update the frontmatter description so it triggers only on brand-relevant requests.
The skill enforces the ChatGPT Ads format constraints automatically:
- Headline limit: 35 characters
- Description limit: 67 characters
- Image: 1024x1024 PNG, designed for thumbnail display (80 to 120 pixels effective)
- No logo in the image slot (the platform inserts the brand avatar in the corner automatically)
- Context hints written as natural conversation descriptions, not keyword lists
If platform constraints change, update them in SKILL.md under "How ChatGPT Ads work (operating constraints)".
This is a skill, not a product. The most useful contributions are:
- New copy patterns that survive the 35/67 character budget
- New icon concepts for the concept-to-shape library
- Updates to the platform mechanics section when ChatGPT Ads ships new features
Open a pull request with the change and a brief note on what scenario motivated it.
MIT. See LICENSE.
Built from production experience with ChatGPT Ads campaigns. The patterns in here came from real ads that worked, real ads that didn't, and a fair amount of iteration on the character budget.