agentsclimarketplace

Ads

Skill marek-kujda/ad-copy-skill-pack/.claude/skills/ads

Generate, audit, and refresh Google Ads responsive search ad copy in 6 languages. 10 Claude Code / claude.ai skills. Open source.

Install
npx -y skills add marek-kujda/ad-copy-skill-pack --skill ads

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Generate Google Ads Responsive Search Ad copy. Use when the user asks to create, write, or generate RSA headlines and descriptions, Google Ads copy, or search ad variations.

SKILL.md

3.6 KB, as published. Nobody here has run it

/ads — Generate Google Ads RSA Copy

Input Required

Ask the user for the following (skip any already provided):

  1. Campaign name — for CSV organization
  2. Ad group name — for CSV organization
  3. Target keywords — primary + secondary keywords
  4. Landing page — one of:
    • A key from the landing pages registry (e.g., pricing) — see .claude/skills/landing-pages/SKILL.md
    • A full URL (will be analyzed on the fly)
    • Skip if USPs are provided manually
  5. Language — EN / DE / FR / ES / AR / PL (default: infer from keywords)
  6. Key USPs / offers — what makes this product/service unique
  7. Target persona — which persona from .claude/skills/icp/SKILL.md to target (or describe inline)
  8. Competitors (optional) — to differentiate messaging

Execution Steps

Step 1: Analyze Context

  • Check if landing page was provided as a registry key → load cached analysis from .claude/skills/landing-pages/cache_[key].md
  • If cache doesn't exist yet, fetch the URL, analyze it, and save cache for future use
  • If a raw URL was provided (not a registry key), fetch and analyze it directly
  • Review target keywords for search intent (informational, commercial, transactional)
  • Load brand voice from .claude/skills/brand-voice/SKILL.md
  • Load ICP and persona details from .claude/skills/icp/SKILL.md
  • Load platform rules from .claude/skills/google-ads-rules/SKILL.md
  • Identify the strongest messaging angles

Step 2: Generate Headlines (15)

Create exactly 15 headlines, each ≤30 characters. Ensure diversity:

  • 3–4 headlines with exact target keyword
  • 2–3 benefit-driven headlines
  • 2–3 feature-driven headlines
  • 2 CTA headlines (action verbs)
  • 1–2 social proof / authority headlines
  • 1–2 urgency or differentiator headlines

For each headline, output:

[XX chars] Headline text | Category: [type]

Step 3: Generate Descriptions (4)

Create exactly 4 descriptions, each ≤90 characters:

  • Description 1: Primary value proposition + CTA
  • Description 2: Key features/benefits summary
  • Description 3: Social proof or trust signal + CTA
  • Description 4: Urgency/offer or differentiator + CTA

For each description, output:

[XX chars] Description text

Step 4: Validate

  • Verify ALL character counts (headlines ≤30, descriptions ≤90)
  • Check keyword presence (min 2 headlines with target keyword)
  • Check CTA presence (min 1 description with clear CTA)
  • Check diversity (no two headlines with identical concept)
  • Flag any issues

Step 5: Export CSV

Save to output/rsa_[campaign]_[adgroup]_[date].csv in Google Ads Editor format.

CRITICAL: Write CSV as UTF-8 with BOM (\ufeff as first byte, or encoding="utf-8-sig" in Python). Without BOM, Google Ads Editor and Excel on Windows will corrupt diacritics (ą, ö, é, ñ → garbage).

Campaign,Ad Group,Headline 1,Headline 2,...,Headline 15,Description 1,...,Description 4,Path 1,Path 2,Final URL

Step 6: Suggest Iterations

After presenting the copy, suggest:

  • Which headlines might underperform and why
  • Alternative angles worth testing
  • Pin recommendations (which headlines to pin to positions 1–3)

Iteration Shortcuts

  • "more like #3" or "change #7" → regenerate specific items
  • "make it more [adjective]" → adjust tone across all copy
  • Always re-validate character counts after changes

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.