Atlas / Skills / nowork-studio / Copy

CopySAFE

skills/nowork-studio/copy

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

Verdict
SAFE
Grade
B
Trust score
89 /100
Version
—
Hosts
1 documented
License
MIT
Stars
3,908
01

Overview

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

Read from source at commit f08bca773eb5OBSERVED · 2026-10-08
02

Host compatibility

What the documentation claims. We have not run a compatibility test.

HostStatusNotes
codexmentioned
03

What it tells the agent

The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.

---
name: google-ads-copy
description: 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.
argument-hint: "<ad group name, keyword theme, or 'write new ads'>"
---

# 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 no
04

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeNA
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
none-observed
Shell
none-observed
Dependencies
pinned
Secrets in source
none-found

Findings (0)

No findings outside the package's declared scope.

Gates applied: no_behavioural_pass.

Audited 2026-10-08 · audit v0.4.1 · source sha f08bca773eb5full audit observations/trust-audit/skill/nowork-studio__copy.json · Report an issue / request a re-scan
05

Audit history

Every audit this skill has had.

DateSourceVerdictGradeScoreChange
2026-10-08f08bca773eb5SAFEB89first audit
06

Questions

What does the Copy skill do?

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

Is Copy safe to install?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.

What can Copy access on my machine?

The audit observed no filesystem, network or shell use at all in its source.

Which assistants does Copy work with?

Its documentation mentions codex. That is what the text claims, not a compatibility test we ran.

How current is this page?

The grade is for one exact copy of the source (f08bca773eb5), read on 2026-10-08. The repository is watched, and a new audit runs when it changes — this is the first audit.

Advertisement