/Catalogue/Prompt/nowork-studio/nowork-studio-notfair-plugin-copy

Origin: github

google-ads-copy

Generate and A/B test Google Ads copy. Use when asked to write ad copy, headlines, descriptions, create ad variants, test ad messaging, improve CTR, or generate RSA (Responsive Search Ad) components. Trigger on "ad copy", "write ads", "headlines", "descriptions", "RSA", "responsive search ad", "ad text", "ad creative", "improve CTR", "ad A/B test", "ad variants", "write me an ad", "ad variation experiment", or when the user wants to improve click-through rate on existing ads.

by nowork-studio · updated 5h ago · imported from GitHub

Installs0+0/7d
Security score92/100
Retention 14d0%
GitHub stars3.9K

Skill logic

Execution graph
User message
Prompt rewrites behaviour
Response

SKILL.md

View on GitHub ↗

Ad Copy Generator + A/B Tester

Write Google Ads RSA copy and run structured tests to find winning messaging.

Setup

Read and follow ../shared/preamble.md (MCP detection, account selection) and ../shared/analysis-principles.md (evidence requirement, guardrails). Both apply throughout.

Reference

Read on demand:

  • references/rsa-best-practices.md — character limits, headline formulas, pinning, A/B mechanics, common mistakes. The source of truth for what to write.
  • references/rsa-testing-lab.md — how to choose RSA test metrics, diagnose ad-group intent bloat, decide pinning, and avoid chasing Ad Strength over business outcomes.
  • ../manage/references/industry-benchmarks.md — industry CTR/CVR benchmarks for sanity-checking targets.
  • ../manage/references/quality-score-framework.md — only when QS improvement is the explicit goal.

Business context — non-negotiable input

Every copy decision is grounded in business context. Read {data_dir}/business-context.json and {data_dir}/personas/{accountId}.json first.

  • If either file is missing or empty, recommend /google-ads-audit before writing — generic copy that ignores positioning is wasted ad inventory. The full intake procedure (website crawl, schema, bootstrapping) lives in ../audit/references/business-context.md.
  • If the user volunteers new info (new service, changed positioning, seasonal update), merge it in.

How context shapes copy: services map to headline categories; locations earn local-specific headlines (with QS upside); brand voice sets tone and forbidden words; differentiators ARE the value-prop headlines; competitors sharpen positioning (without naming them); seasonality decides urgency vs. evergreen framing; offers feed time-sensitive variants; landing-page content must match (or conversions drop). Personas drive language: their own search-term phrasing in headlines, their pain points in descriptions, their decision-trigger as the CTA angle.

Ad-strength vs. real performance

Ad strength optimizes for Google's diversity goals, not your conversion rate. The hierarchy: conversion rate > CTR > CPA > ad strength. Don't break a high-CTR ad to chase "Excellent". Do treat low ad strength as a useful diversity signal — eight distinct headlines, one per category, no repeats in description bank.

Pulling what to write from

Copy must be grounded in what already converts. Choose available read capabilities for the evidence relevant to the requested copy:

  • ad_group_ad — current headlines, descriptions, ad-strength, per-ad clicks/CTR/conversions (the baseline to beat)
  • keyword_view — what's converting and which QS components are weak
  • search_term_view — the actual phrases customers are typing (the single best language source)
  • campaign — the CTR/CVR benchmark each variant has to clear

For brand-wide rewrites, correlate everything in one pass. For a single ad group, scope each query with WHERE ad_group.id = …. Layer in seasonality and keyword-landscape context from business-context.json.

If the user has a CRM or lead-outcome database with the language customers actually use, mine that — customer language beats marketing language every time.

Copy output contract

Every proposal needs a small decision record, not just a block of headlines:

  • A concept ID and one-sentence hypothesis: persona × motivation × angle.
  • A claim ledger for every proof, offer, rating, guarantee, price, or superlative: exact source (account data, business context, approved landing page, or user-provided evidence) and whether it is approved for ad use.
  • Complete RSA assets with character counts and pin positions, plus a distinct challenger concept when testing.

Do not turn a vague request into fabricated proof. If a claim is attractive but unsupported, label it needs_substantiation and write a claim-free alternative. A citation to a competitor, an unverified review site, or general industry knowledge is not approval to use a claim in an ad.

Competitive copy rules

  • Never name a competitor in ad copy (policy risk + you do their brand awareness for free).
  • Never use "best" / "#1" without verifiable substantiation. Google requires it; the Trademark team enforces it.
  • Do use specific features competitors lack ("Same-Day Service" beats "Better Service"), trust signals ("4.9★ Google · 500+ Reviews"), guarantees, transparent pricing, and location specificity. Verifiable specificity outperforms superlatives.

RSA mechanics

Google RSA: up to 15 headlines (30 chars max) and 4 descriptions (90 chars max). A single character over = rejected. Always count.

references/rsa-best-practices.md is the source of truth for headline formulas, description ordering, and pinning strategy. The compact rule of thumb: pin one Service+Location headline to position 1, one CTA to position 3, leave position 2 unpinned for Google to test value-prop / trust / differentiator headlines, and never pin more than 3 total.

A/B testing — use the experiments framework

When the user wants to test, define the hypothesis, traffic split, measurement, and decision rule, then check which experiment capabilities the live connection supports. Ad-copy tests and larger changes to audience or landing page may need different designs. Running two ads side by side without a controlled split is observational evidence; do not present it as a randomized experiment.

Each variant must test a meaningfully different angle — not word swaps. "Trust & Expertise" vs. "Speed & Convenience" vs. "Price & Value" is a real test; "Call Today" vs. "Call Now" is noise.

Before writing variants, read references/rsa-testing-lab.md when the request mentions testing, pinning, Ad Strength, low CTR/CVR, or mixed-intent ad groups. It encodes the generalized pattern that many RSA problems are really ad-group/query-theme problems.

Before launch, record one primary metric, any guardrail metric (for example CPA or qualified-lead rate), the planned minimum exposure or duration, and the decision rule. Do not peek and declare a winner from an early gap: less than ~100 clicks per variant is usually too early, and even a 2× CVR gap still needs enough conversions and a check for recent changes. The experiment framework's own significance signals are the cleanest input — defer to them when present.

After a winner: pause the loser, then iterate against the winner. Never stop testing.

Operating principles

  1. Business context is non-negotiable. No business-context.json / personas → recommend /google-ads-audit before writing.
  2. Confirm before deploying. Show the exact copy, character counts per asset, and pin positions. Get a yes, then push.
  3. Check reversibility. Record the original state and only promise rollback when the current capability supports it.
  4. Differentiate, don't imitate. Generic copy that could belong to any competitor is a wasted ad slot.
  5. Defer to /google-ads for bid / budget / keyword work — this skill writes copy and runs creative experiments only.

Discussion

No comments yet — start the thread.

Sign in to join the discussion.

/More from nowork-studio/notfair-plugin

nowork-studio· 5h agoCommunity
hreflang-international

Prompts · TypeScript · v0.1.0

International / multilingual SEO audit focused on hreflang correctness: missing or broken return tags, wrong language/region codes, missing x-default, self-referencing errors, hreflang vs canonical conflicts, and inconsistent signals across HTML head, HTTP headers and XML sitemap. Also reviews URL structure (ccTLD vs subdirectory vs subdomain), language targeting and geo signals. Use whenever the user runs a multi-language or multi-region site and asks about hreflang, international or multilingual SEO, the wrong-language page showing in search, or duplicate content across country versions. Trigger on: "hreflang", "international SEO", "multilingual SEO", "multi-region", "wrong language in Google", "x-default", "ccTLD vs subdirectory", "geo targeting", "language targeting", "my English page shows for Thai users", "th/en page ranking in the wrong country", or any cross-language/cross-country ranking question. For full-site audits use /seo-analysis; for a single URL use /seo-page.

#agents#claude-code-plugin#claude-skills

0 3.9K
nowork-studio· 5h agoCommunity
NotFair

MCP servers · TypeScript · v0.1.0

Open-source SEO, GEO, and marketing skills for AI agents.

#agents#claude-code-plugin#claude-skills

0 3.9K
nowork-studio· 5h agoCommunity
io.github.nowork-studio/notfair

MCP servers · TypeScript · v0.27.14

OAuth MCP for Google, Meta, X, LinkedIn, Reddit, TikTok, GSC, GA4, WordPress and GHL.

#agents#claude-code-plugin#claude-skills

0 3.9K
nowork-studio· 5h agoCommunity
gemini

Prompts · TypeScript · v0.1.0

Cross-model second opinion from Google Gemini — a different AI reviewing the same changes, with deep Google ecosystem knowledge. Three modes: review (pass/fail gate for Google Ads campaigns, SEO metadata, or code), challenge (adversarial stress-test that tries to break your changes), and consult (open Q&A with Gemini on Google Ads strategy, SEO best practices, or implementation questions). Use when the user says "gemini review", "ask gemini", "gemini challenge", "second opinion from gemini", "consult gemini", "stress test with gemini", "what would gemini say", "cross-model review", or "get another opinion". Voice aliases: "gem", "gemini check". Especially useful for Google Ads changes, SEO metadata updates, campaign structure decisions, keyword strategies, and bid/budget changes — Gemini has native Google ecosystem knowledge that complements Claude's analysis.

#agents#claude-code-plugin#claude-skills

0 3.9K