Agent skill

Conversational Ads

by borghei in borghei/Claude-Skills

Plan, write and measure ads inside AI assistants and AI search (ChatGPT Ads, Google AI Overviews and AI Mode, Microsoft Copilot).

MITAuto-check passedMarketing & SEO

Install Conversational Ads

skills CLI
$ npx skills add borghei/Claude-Skills --skill conversational-ads -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install borghei/Claude-Skills conversational-ads --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/borghei/Claude-Skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/marketing/conversational-ads .claude/skills/conversational-ads && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
conversational-ads
GitHub stars
881
Token cost
~2.9k tokens
SKILL.md length
1,392 words
Files
9 (incl. scripts, references, assets)
Skills in repo
349
Repo updated
First seen
Licence
MIT

At a glance

Plan, write and measure ads inside AI assistants and AI search (ChatGPT Ads, Google AI Overviews and AI Mode, Microsoft Copilot).

  • Works in 5 steps: Collect prompts and tag each with a… → Write the brief… → Run the planner. Resolve BLOCKERS first:… → …
  • Testing ChatGPT ads
  • SKILL.md covers When to use this skill, Clarify First, Quick start and How conversational placements…, plus 8 more sections
  • Runs Python scripts from its folder; calls python3

What it does

Conversational Ads is an agent skill from borghei/Claude-Skills. Plan, write and measure ads inside AI assistants and AI search (ChatGPT Ads, Google AI Overviews and AI Mode, Microsoft Copilot). Use when testing ChatGPT ads, answer-adjacent copy, or incrementality for AI placements.

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including scripts, reference files and assets (for example `assets/sample_ad_copy.json`, `assets/sample_plan_input.json` and `assets/test-plan-template.md`).

It sits in Marketing & SEO, covering AI search optimization. It works with OpenAI. The repository describes itself as: 385 AI skills, 77 expert agents, and 900 stdlib Python tools for every team: engineering, PM, marketing, C-level, compliance, business ops, research, and a LinkedIn toolkit… The licence is MIT.

When your agent uses it

  • Testing ChatGPT ads
  • Answer-adjacent copy
  • Incrementality for AI placements

Example prompts

  • “/conversational-ads”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Collect prompts and tag each with a stage and a weight (relative volume or value).
  2. Write the brief (assets/sample_plan_input.json shows every field).
  3. Run the planner. Resolve BLOCKERS first: drop a platform, raise budget, extend weeks, or install tracking.
  4. Resolve READINESS items marked MISSING — landing pages that answer the prompt and a clean feed matter more than bids. [RECOMMENDED]
  5. Copy the plan into assets/test-plan-template.md, pick treated and holdout regions, and set the freeze window.

What it can do on your machine

Read from SKILL.md and the folder at commit 4a698e8. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Conversational Ads loads about 2.9k tokens when it runs, and up to ~8.2k if it reads all its reference files. Until then it costs about 59 tokens; SKILL.md has 1,392 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~59
When it runs · the whole SKILL.md, loaded when a task matches
~2.9k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~8.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from borghei/Claude-Skills at commit 4a698e8, republished under its MIT licence (© borghei). 1,392 words, ~2,907 tokens.

Download SKILL.mdSave it as .claude/skills/conversational-ads/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.
name
conversational-ads
description
Plan, write and measure ads inside AI assistants and AI search (ChatGPT Ads, Google AI Overviews and AI Mode, Microsoft Copilot). Use when testing ChatGPT ads, answer-adjacent copy, or incrementality for AI placements.
license
MIT + Commons Clause
metadata.version
1.0.0
metadata.author
borghei
metadata.category
marketing
metadata.domain
paid-media
metadata.updated
2026-09-21
metadata.tags
chatgpt-ads, ai-overviews-ads, ai-mode, copilot-ads, conversational-ads, incrementality, paid-media, ad-copy

Conversational Ads

Paid placements next to AI answers: ChatGPT Ads (test began February 2026, self-serve Ads Manager since May 2026), Google ads in AI Overviews and AI Mode, and ads in Microsoft Copilot. This skill covers what is different from search, which platforms your category and market can use, how to write copy that sits next to an answer without borrowing its authority, how to get feeds and landing pages ready, and how to prove incrementality when two of the three platforms give no placement-level reporting.

Platform facts are as of September 2026 and come from each platform's own help pages — see references/platform-specs.md. These products change monthly; re-check the linked pages before committing budget.


When to use this skill

SituationUse
"Should we test ChatGPT ads?" / first AI-placement testscripts/conversational_ad_planner.py + test-plan template
Writing ad copy for ChatGPT, AI Overviews, AI Mode or CopilotCreative rules below + scripts/answer_adjacent_copy_linter.py
Explaining why AI Overviews spend can't be reported or turned offplatform-specs.md
Measuring whether AI placements add conversionsMeasurement workflow + playbook §5
Earning organic citations in AI answers (not paid)Out of scope — this skill is paid media only
Labelling AI-generated creativeOut of scope beyond a lint warning — use a disclosure/compliance process

Clarify First

Before planning, confirm these inputs. If any is unknown or vague, ASK — do not assume:

  • Category and markets/language — sensitive categories are excluded on ChatGPT and AI Overviews, and AI Overviews ads are English-only in 12 countries
  • Monthly budget and target CPA — decides how many platforms can be tested with a readable holdout (≥50 conversions per arm)
  • Real customer prompts — 20-50 questions people ask assistants, tagged research / compare / purchase / support
  • Measurement readiness — server-side conversions and the ability to hold out regions; without these the test cannot be read

Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the plan.


Quick start

bash
# 1. Plan: eligibility, mix, holdout test, KPI targets, readiness (exit 2 = blocked)
python3 scripts/conversational_ad_planner.py assets/sample_plan_input.json
python3 scripts/conversational_ad_planner.py my_brief.json --format json --min-conversions 100

# 2. Lint copy before upload (exit 2 = errors; --strict fails on warnings too)
python3 scripts/answer_adjacent_copy_linter.py assets/sample_ad_copy.json

# 3. Fill assets/test-plan-template.md and freeze it before launch

The shipped samples fail on purpose: the planner exits 2 because the Copilot arm is underpowered at USD 12,000/month and a USD 60 CPA; the linter exits 2 with 10 errors across three broken ads (assistant-endorsement copy, unsubstantiated "clinically proven", over-length Google headline, unverified testimonial, http landing URL). Two ads pass clean.


Search adAnswer-adjacent ad
IntentShort queryWhole conversation + the answer's content
ControlKeywords, placementsBroad matching; Google and Microsoft: no opt-out, no placement targeting
ReportingBy placementChatGPT: own reporting. Google: counted as Top ads, no AI segment. Microsoft: no Copilot metrics
Creative jobBeat nine other linksAdd a useful fact the answer lacks
Main riskLow CTRLooking like you hijacked a trusted answer

Position: optimise inputs (feed, assets, landing pages, negatives) and read outcomes with holdout experiments. Do not try to optimise a placement you cannot see.


Platform snapshot (as of September 2026)

ChatGPT AdsGoogle AI Overviews / AI ModeMicrosoft Copilot
How to buyDirect, Ads Manager (beta), CPC or outcome biddingIndirect: Search with broad match / AI Max, Shopping, PMaxIndirect: PMax, Search with logo, Shopping, Multimedia, some vertical ads
Who sees adsLogged-in adults on Free and Go plans; not Plus/Pro/Business/Enterprise/Edu; not Temporary ChatsEnglish queries in AU, CA, IN, ID, KE, MY, NZ, NG, PK, PH, SG, US (AI Overviews)Copilot users; negative keywords apply
ExcludedNear health, mental health, politics; several categories disallowed; finance/health/legal by manual approvalAdult, alcohol, gambling, finance, healthcare, politics and moreBing policies; ads not shown in flagged conversations
MeasurementPixel + Conversions API, UTMs, macrosBlended into Top adsSearch term + asset reports only
CopyTitle 16-24, copy 32-48 chars (recommended)RSA 30 / 90 chars (limits)RSA 30 / 90 chars (limits)

Perplexity: 2024 ads experiment announced; current availability unverified — excluded from the planner.


Workflows

Workflow: first test plan
  1. Collect prompts and tag each with a stage and a weight (relative volume or value).
  2. Write the brief (assets/sample_plan_input.json shows every field).
  3. Run the planner. Resolve BLOCKERS first: drop a platform, raise budget, extend weeks, or install tracking.
  4. Resolve READINESS items marked MISSING — landing pages that answer the prompt and a clean feed matter more than bids. [RECOMMENDED]
  5. Copy the plan into assets/test-plan-template.md, pick treated and holdout regions, and set the freeze window.
Workflow: copy for answer-adjacent placements
  1. One prompt cluster → 5-10 variations, each with a different angle (spec, price, delivery, fit, compatibility). OpenAI recommends many diverse variations.
  2. Lead with a checkable fact; end with a specific soft CTA ("Compare widths").
  3. Run the linter. Fix every ERROR; review WARNINGs — ChatGPT length ranges are recommendations, not limits.
  4. Record evidence for any claim you keep in substantiated_claims.
Workflow: measurement
  1. Server-side conversions on each platform, deduplicated.
  2. UTMs with utm_medium=cpc so paid clicks stay out of GA4's organic AI Assistant channel.
  3. Geo holdout (10-20% of matched regions) or time-based on/off if regions are too few. [RECOMMENDED]
  4. Two-week learning period, then freeze. Read at week 6: incremental conversions, incremental CPA, brand-search lift.
  5. Decide: scale if incremental CPA ≤ target; iterate inputs if within 30%; stop otherwise.

For Google and Microsoft, the holdout measures the campaign change that made you eligible (e.g. moving to broad match / AI Max / PMax), not the AI placement alone. State that in the readout.


Show full SKILL.md (516 more words)Show less

Exit code contract [PROVEN]

CodePlannerLinterWho fixes it
0Plan produced, no blockersNo errors (warnings allowed unless --strict)Nobody
1Tool error — bad path, malformed JSON, missing fieldTool error — bad path, malformed JSON, unknown platformWhoever maintains the input file
2Blocked — no eligible platform, no conversion tracking, or an underpowered armGate failed — errors (or warnings with --strict)Media planner / copywriter

Anti-Patterns

Borrowing The Assistant's Voice

Mistake: "ChatGPT's top pick", "Recommended by Copilot", copy styled to look like the answer. Why it happens: The answer carries trust and teams want some of it. Instead: Ads are labelled Sponsored and separated from answers by design, and OpenAI's ad policies prohibit false endorsements. Lead with a fact the answer lacks. The linter blocks this pattern.

Reading Platform ROAS As Incrementality

Mistake: Scaling on platform-reported conversions in week 3. Why it happens: It is the only number available, and Google/Microsoft do not isolate AI placements. Instead: Build the holdout before launch and decide on incremental CPA.

Budgeting A Placement You Cannot Buy

Mistake: A media-plan line called "AI Overviews" with its own budget. Why it happens: Plans expect one line per placement. Instead: On Google and Microsoft, fund the underlying Search broad / AI Max / Shopping / PMax campaigns and test the change that made you eligible.

Spreading A Small Budget Across Every Assistant

Mistake: A few thousand dollars split three ways for a four-week test. Why it happens: Fear of missing the next channel. Instead: Concentrate until each arm can reach ~50 conversions. The planner exits 2 on underpowered arms.

Feed Neglect

Mistake: Polishing creative while product titles lack the attributes people ask about and prices lag the site. Why it happens: Feeds belong to another team. Instead: Treat the feed as creative. Audit the top SKUs against real prompts and use delta feeds for price and availability.

More in references/anti-patterns.md.


Troubleshooting

SymptomLikely causeFix
Planner says Google ineligible for a US brandlanguage not en or category in excluded listCheck brief; plan classic search for excluded categories
Every arm UNDERPOWEREDBudget/CPA too low for three armsDrop to one platform or extend test_weeks
Linter flags a claim you can proveClaim not listed in substantiated_claimsAdd the exact term once evidence is on file
Linter misses a restricted termCategory regexes are deliberately conservativeExtend CATEGORY_TERMS for your vertical
GA4 shows paid ChatGPT clicks under "AI Assistant"Missing utm_medium=cpcAdd UTMs or platform macros to every destination URL

Scripts

ScriptPurpose
scripts/conversational_ad_planner.pyBrief → eligibility, placement mix, holdout test plan, KPI targets, readiness, blockers
scripts/answer_adjacent_copy_linter.pyAd copy → length, claims, assistant-endorsement, category, pressure, CTA, URL/UTM, price, testimonial, AI-media and style checks

Both: Python 3.8+ standard library only, --format text|json, deterministic.

References

  • platform-specs.md — ChatGPT Ads, Google AI Overviews / AI Mode, Microsoft Copilot, Perplexity status, GA4 AI Assistant channel; official links
  • conversational-ads-playbook.md — differences from search, planning sequence, channel roles, creative rules, test designs, KPIs, risks
  • anti-patterns.md — extended anti-pattern catalogue

Assets

  • assets/sample_plan_input.json — planning brief (exits 2: underpowered arm)
  • assets/sample_ad_copy.json — five ads, two clean and three broken (exits 2)
  • assets/test-plan-template.md — hypothesis, prompts, eligibility, design, power, KPIs, readiness, readout

© borghei, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 8 other files (scripts, references, assets) in marketing/conversational-ads of borghei/Claude-Skills.

  • SKILL.md
  • assets/sample_ad_copy.json
  • assets/sample_plan_input.json
  • assets/test-plan-template.md
  • references/anti-patterns.md
  • references/conversational-ads-playbook.md
  • references/platform-specs.md
  • scripts/answer_adjacent_copy_linter.py
  • scripts/conversational_ad_planner.py

Open the folder on GitHubat commit 4a698e8

Compare with similar skills

Conversational Ads next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Conversational Ads compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Conversational Ads this skillborghei/Claude-Skills881—~2.9kAutomated safety check: PassMIT
Geo Fundamentalswasp-lang/wasp19k9 repos~861Automated safety check: PassMIT
SEO GeoReScienceLab/opc-skills1.8k4 repos~2.1kAutomated safety check: PassApache-2.0
GEO-First SEO Audit Toolzubair-trabzada/geo-seo-claude11k—~2.8kAutomated safety check: NotesMIT
SEO DataforseoAgriciDaniel/codex-seo7912 repos~4.6kAutomated safety check: PassMIT
Fire Your SEO Agencyleopard627/fire-your-seo-agency707—~1.1kAutomated safety check: PassMIT

Similar skills

  • Geo Fundamentals

    wasp-lang/wasp

    Generative Engine Optimization for AI search engines (ChatGPT, Claude, Perplexity).

    19k GitHub starsUsed in 9 repos~861 tokens
    Marketing & SEOAuto-check passed
  • SEO Geo

    ReScienceLab/opc-skills

    SEO & GEO (Generative Engine Optimization) for websites. An agent skill from ReScienceLab/opc-skills.

    1.8k GitHub starsUsed in 4 repos~2.1k tokens
    Marketing & SEOAuto-check passed
  • GEO-First SEO Audit Tool

    zubair-trabzada/geo-seo-claude

    Audits a website for AI search visibility across ChatGPT, Claude, Perplexity and Google AI Overviews while checking traditional SEO, schema and E-E-A-T content quality.

    11k GitHub stars~2.8k tokensUpdated yesterday
    Marketing & SEOAuto-check: notes
  • SEO Dataforseo

    AgriciDaniel/codex-seo

    Live SEO data via DataForSEO MCP server. An agent skill from AgriciDaniel/codex-seo.

    791 GitHub starsUsed in 2 repos~4.6k tokens
    Marketing & SEOAuto-check passed
  • Fire Your SEO Agency

    leopard627/fire-your-seo-agency

    SEO·AEO·GEO·LLMO·NEO(네이버) 다섯 레인을 진단하고 직접 구현하며, 인용되는 콘텐츠를 계속 생산하는 서브 블로그·콘텐츠 운영 파이프라인까지 세팅하는 스킬.

    707 GitHub stars~1.1k tokensUpdated 13 days ago
    Marketing & SEOAuto-check passed
  • Marketing Os

    Yuzzyuk/marketing-os

    A complete marketing department in one skill. An agent skill from Yuzzyuk/marketing-os.

    536 GitHub stars~2.5k tokensUpdated 1 mo ago
    Marketing & SEOAuto-check passed

More from borghei/Claude-Skills

All 349 skills in this repo
  • Agents In The Team

    borghei/Claude-Skills

    Run delivery when AI coding and ops agents take tickets. An agent skill from borghei/Claude-Skills.

    881 GitHub stars~4.2k tokensUpdated yesterday
    Auto-check passed
  • AI Content Disclosure

    borghei/Claude-Skills

    Check AI-generated marketing content and reviews for required disclosures under the EU AI Act, FTC rules and platform AI-label policies.

    881 GitHub stars~3.4k tokensUpdated yesterday
    Auto-check passed
  • AI Prototyping

    borghei/Claude-Skills

    Idea to AI-generated prototype to customer validation to engineering handoff.

    881 GitHub stars~3.6k tokensUpdated yesterday
    Auto-check passed
  • Analytics Engineer

    borghei/Claude-Skills

    Analytics engineering across data modeling, dbt, transformation, and semantic layers.

    881 GitHub stars~3.4k tokensUpdated yesterday
    Auto-check passed
  • Ansoff Matrix

    borghei/Claude-Skills

    Ansoff Matrix — 4-quadrant framework for growth options: market penetration, market/product development, and diversification.

    881 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check passed
  • Brainstorm Okrs

    borghei/Claude-Skills

    OKR brainstorming and validation using the Radical Focus framework — outcome objectives, measurable key results, counter-metrics.

    881 GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Conversational Ads

What does Conversational Ads do?

Plan, write and measure ads inside AI assistants and AI search (ChatGPT Ads, Google AI Overviews and AI Mode, Microsoft Copilot). Conversational Ads is an agent skill from borghei/Claude-Skills. Plan, write and measure ads inside AI assistants and AI search (ChatGPT Ads, Google AI Overviews and AI Mode, Microsoft Copilot).

When should I use Conversational Ads?

Conversational Ads fits situations like: testing ChatGPT ads; answer-adjacent copy; incrementality for AI placements.

How do I install Conversational Ads in Claude Code?

Run `npx skills add borghei/Claude-Skills --skill conversational-ads -a claude-code`. Or copy the skill folder (marketing/conversational-ads in borghei/Claude-Skills) into .claude/skills/conversational-ads in your project. Claude Code loads it when a task matches its description.

How do I install Conversational Ads in Codex?

Run `npx skills add borghei/Claude-Skills --skill conversational-ads -a codex`. Or copy the skill folder (marketing/conversational-ads in borghei/Claude-Skills) into .agents/skills/conversational-ads in your project. Codex loads it when a task matches its description.

Can I use Conversational Ads in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add borghei/Claude-Skills --skill conversational-ads -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/conversational-ads, .gemini/skills/conversational-ads, .github/skills/conversational-ads and .opencode/skills/conversational-ads in your project.

What does Conversational Ads need to run?

Going by SKILL.md and its folder, Conversational Ads needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Conversational Ads access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Conversational Ads safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Conversational Ads use?

Conversational Ads is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Conversational Ads use?

About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.2k tokens, read only when the agent opens those files.

What are the alternatives to Conversational Ads?

Skills that share tags, products or a category with Conversational Ads: Geo Fundamentals (wasp-lang/wasp, 19k stars), SEO Geo (ReScienceLab/opc-skills, 1.8k stars), GEO-First SEO Audit Tool (zubair-trabzada/geo-seo-claude, 11k stars) and SEO Dataforseo (AgriciDaniel/codex-seo, 791 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Conversational Ads?

borghei (a GitHub user) maintains it in borghei/Claude-Skills, which has 881 GitHub stars. The repository holds 349 skills in this directory. The repository was last updated on October 7, 2026.

Source: borghei/Claude-Skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.