本文へ移動
cccskills
無料GitHub で公開

ad-campaign-writer

Write paid ad copy for LinkedIn, Google, Meta, and YouTube. Produces multiple variants per platform, each targeting a different Eugene Schwartz awareness level and Cialdini persuasion principle. Use when the user asks for ad copy, ad variants, "write LinkedIn ads", Google ads, Meta ads, paid social copy, ad headlines, or wants creative for a paid campaign. Reads brand voice, ICP, and positioning from knowledge/. For organic social posts, see linkedin-post or social-calendar. For the landing page the ad points at, see landing-page-writer. For testing variants, see ab-copy-writer.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md21.9 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

ad-campaign-writer

Writes paid ad copy across channels using two frameworks baked together:

  1. Eugene Schwartz's Awareness Levels (Breakthrough Advertising) - determines what to say based on where the buyer is in their journey
  2. Robert Cialdini's 6 Principles of Persuasion (Influence) - determines how to say it to trigger action

The result: every ad set has a distinct angle grounded in buyer psychology, not guesswork.

The two frameworks

Framework 1: Schwartz's 5 Awareness Levels

The biggest mistake in ad copy: writing the same message regardless of where the audience is in their journey. Schwartz's levels fix this.

LevelWho they areWhat they believeWhat your copy must do
1. Most UnawareDon't know they have the problem"Everything is fine"Tell a story. Don't mention the product. Introduce the problem through emotion or narrative.
2. Problem AwareKnow the pain, don't know solutions exist"This sucks but that's just how it is"Name the pain precisely. Agitate it. Show you understand. Introduce the idea that solutions exist.
3. Solution AwareKnow solutions exist, haven't chosen one"I've been looking into options"Educate on the category. Show why your approach is right. Don't lead with your brand name yet.
4. Product AwareKnow your product, not convinced yet"I've heard of them. Not sure if they're right for me"Features, proof, objection handling. This is where testimonials and case studies earn their place.
5. Most AwareReady to buy, need a reason to act now"I know what I want"Just the offer. Pricing, urgency, the specific CTA. No education needed.

Rule: Retargeting audiences are typically Level 4-5. Cold audiences are Level 1-3. Never run a Level 5 ad to a cold audience - it will fail.

How to diagnose the level when the user does not know. Ask these three, in order, and stop at the first "no":

  1. Has this audience ever visited the site or engaged with the brand? No -> Level 1-3.
  2. Do they already use a product in this category (a competitor, a spreadsheet, an internal tool)? No -> Level 1-2. Yes -> Level 3+.
  3. Have they hit a pricing, demo or trial page? Yes -> Level 4-5.

If the user cannot answer question 1 from their own analytics or ad platform audience definitions, do not guess the level. Write [NEEDS INPUT: audience source and prior engagement] and produce Level 2-3 copy, which is the only range that is safe when the audience is unknown, because it names a pain without assuming familiarity.

Framework 1b: Schwartz's 5 Stages of Market Sophistication

The second model in Breakthrough Advertising, and the one most ad writers skip. Awareness is about the buyer. Sophistication is about the market: how many claims like yours they have already heard. Two audiences at the same awareness level need different copy if their markets are at different sophistication stages.

StageState of the marketWhat the headline must doWhat fails here
1. FirstYou are the first to make this claimState the claim plainly. "Get X."Cleverness. Nobody needs convincing yet.
2. SecondCompetitors are making the same claimEnlarge the claim. Bigger, faster, more specific version.Repeating the stage-1 claim verbatim.
3. ThirdThe claim is worn out, nobody believes itLead with the mechanism. How it works, not what it does.Another superlative.
4. FourthCompetitors are all selling mechanismsElaborate the mechanism. Make yours more complete or easier.A bare mechanism claim.
5. FifthThe market is exhausted and cynicalShift to identification: who this is for, what it says about them.Any product claim at all.

Decision rule: count how many competitors in knowledge/markets/positioning.md make the same headline promise. Zero to one competitor, write stage 1-2 copy. Two to four, go to the mechanism (stage 3). Five or more, or the user says "everyone says that", go to identification (stage 5). If knowledge/markets/positioning.md has no competitor list, ask, and if the user cannot say, default to stage 3 - the mechanism is the safest claim because it is checkable.

Schwartz's own summary of the interaction is worth holding onto: awareness decides what you may say first, sophistication decides how hard you have to work to be believed.

Framework 2: Cialdini's 6 Principles

Each ad variant tests a different persuasion lever. Use all 6 across a campaign, measure which performs for this audience.

PrincipleHow to apply in ads
1. Social ProofNumbers, named customers, "X companies use this", peer validation
2. AuthorityAwards, publications, expertise, specific credentials
3. ScarcityLimited spots, pricing ends, cohort-based intake
4. ReciprocityFree resource, tool, audit, or insight in the ad itself
5. CommitmentStart small ("free trial", "book a 15-min call") before asking for big commitment
6. LikingHuman, relatable, founder voice, shared identity ("built for people like you")

Later editions of Influence add a seventh principle, Unity (shared identity, "one of us"). Treat it as an optional seventh variant, not a replacement for Liking.

Which principle to reach for first, by awareness level:

Awareness levelTry firstTry secondAvoid
1-2 Unaware / Problem AwareLiking, ReciprocitySocial ProofScarcity - there is no desire yet to make scarce
3 Solution AwareAuthority, ReciprocitySocial ProofCommitment - they have not picked a category winner
4 Product AwareSocial Proof, AuthorityCommitmentReciprocity - a free guide now reads as a stall
5 Most AwareScarcity, CommitmentSocial ProofLiking - they do not need warming, they need the offer

Cialdini's own constraint, and it is not optional: every principle only works when the underlying fact is true. Scarcity that is not scarce, social proof that is not proof, and authority that is not earned all convert once and then poison the account. If the fact behind a principle is not in knowledge/services/ or knowledge/company.md, do not use that principle for the variant. Pick a different one.

Channels this skill handles

These are starting defaults recorded at authoring time, not current published specs. Every one of these limits has changed at least once since the platforms launched, several are display-truncation points rather than hard ceilings, and a few differ by placement and by market. Verify in the ad platform's own current documentation before shipping, and where this account's own ad library shows what actually rendered, that wins over the table.

ChannelFormatKey limits (verify before shipping)
LinkedIn Sponsored ContentSingle image, carousel, video150 char intro, 70 char headline
LinkedIn Message AdsInMail60 char subject, 500 word body
Google SearchResponsive15 headlines (30 char each), 4 descriptions (90 char each)
Google DisplayResponsive display5 short headlines, 5 long, 5 descriptions
Meta feedImage, carousel, video125 char primary text, 40 char headline
Meta Reels/StoriesVertical video15-30 sec script
YouTube pre-rollSkippable5-sec hook + 30-sec full script

Inputs needed

  • Channel(s)
  • Campaign objective: awareness, demand gen, retargeting, conversion
  • Audience: persona from knowledge/icp/personas.md + warm/cold/retargeting
  • Offer: ebook, demo, trial, webinar, content download
  • Landing page URL or topic
  • Awareness level of this audience: ask if not clear (cold = Level 1-3, retargeting = Level 4-5)
  • Number of variants: default 3 per channel minimum for testing

Process

Step 1: Load context

Read knowledge/brand/voice.md, the relevant persona, knowledge/markets/positioning.md, and the relevant service file.

Step 1b: Triage the brief before writing a single line

Paid media makes bad inputs expensive rather than merely wrong. Run these checks and say what you found. The first three are stop conditions.

CheckWarning signAction
Offer matches awarenessCold audience pointed at a demo bookingStop. Tell the user the ad will spend for clicks that do not convert, and propose a lower-commitment offer for the cold set.
Landing page matches the adThe page sells the product, the ad promises a guideStop. Message-match failure is the single most common cause of a high CTR with no conversions. Fix the page or change the offer.
Claims are sourcedA number the user cannot point to a source forStop. Write [NEEDS INPUT: source for <claim>] and do not write around it.
Audience sizeFewer than a few thousand matched peopleFlag it. Below that, four variants will not separate from noise within a normal test window, so cut to two.
Variant count vs budgetMore variants than the budget can give meaningful volumeFlag it. Split budget across too many variants and every result stays inconclusive. Recommend cutting to the two strongest hypotheses.
Regulated claimHealth, finance, legal, employment, housing, creditFlag for legal review before publishing, and check the platform's restricted-category policy, which often bans targeting options as well as wording.

Step 2: Determine awareness level

Ask the user: "Is this audience cold (never heard of you), warm (visited your site, engaged with content), or retargeting (already showed buying intent)?"

Map to Schwartz levels:

  • Cold → Levels 1-3 (depending on category awareness)
  • Warm → Levels 3-4
  • Retargeting → Levels 4-5

Step 3: Build the variant matrix

For each channel, produce variants that cross awareness levels with Cialdini principles:

Awareness Level: [X]
Cialdini Principle: [Y]
Hypothesis: Why this combination should work for this audience

Minimum variant set for a cold LinkedIn campaign targeting Level 2-3:

Variant A: Level 2 (Problem Aware) × Social Proof
Variant B: Level 2 (Problem Aware) × Reciprocity
Variant C: Level 3 (Solution Aware) × Authority
Variant D: Level 3 (Solution Aware) × Liking

Minimum variant set for retargeting (Level 4-5):

Variant A: Level 4 (Product Aware) × Social Proof (testimonial-led)
Variant B: Level 4 (Product Aware) × Scarcity (limited time offer)
Variant C: Level 5 (Most Aware) × Commitment (clear CTA, specific offer)

Step 4: Write per channel

LinkedIn Sponsored Content:

Variant A: [Awareness Level 2 × Social Proof]
  Hypothesis: Cold audience experiencing the problem responds to peer validation
  Intro (≤150 char): <name the pain in their exact words - NO mention of product>
  Headline (≤70 char): <peer proof + outcome>
  Description (≤100 char): <supporting social proof line>
  CTA button: [Learn More | Download | Register]
  Visual brief: <real customer / real result, not product UI>

Variant B: [Awareness Level 2 × Reciprocity]
  Hypothesis: Giving value before asking earns trust at this awareness level
  Intro (≤150 char): <useful insight or stat they can act on immediately>
  Headline (≤70 char): <free resource or guide that solves part of the problem>
  CTA button: [Download | Get free guide]
  Visual brief: <guide cover or data visual>

Variant C: [Awareness Level 3 × Authority]
  Hypothesis: Solution-aware audience needs to be educated on why this approach wins
  Intro (≤150 char): <category framing - "most teams do X. here's why it fails">
  Headline (≤70 char): <our approach + credibility signal>
  CTA button: [See how it works | Watch demo]
  Visual brief: <process diagram or before/after>

Google Search Ads (responsive):

Note: Google Search is typically Level 3-5 (they're searching for a solution)

Headlines (15, each ≤30 char) - mix across principles:
  [Social Proof]: "240+ Teams Use Threadline"
  [Authority]: "[Authority claim from knowledge/services/ - never invented]"
  [Scarcity]: "Free Trial Ends Friday"
  [Commitment]: "Start Free in 5 Minutes"
  [Outcome-led]: "Activate Users in 6 Days"
  [Problem-led]: "Onboarding Killing Trials?"
  ... (fill to 15 mixing approaches)

Descriptions (4, each ≤90 char):
  1. [Social proof + CTA]: "Trusted by [named customers from knowledge/company.md] and [N] teams. Start your free trial today."
  2. [Reciprocity]: "Free onboarding audit included with every trial. See where users drop off in 24 hours."
  3. [Authority + outcome]: "Ship your first onboarding flow in [N] days. [Third-party rating only if it genuinely exists]."
  4. [Scarcity + commitment]: "14-day trial, no card needed. Pricing increases 15-05-2026."

Display path: /<keyword>/<benefit>

Meta feed:

Variant A: [Level 2 × Liking] - relatable human story
  Primary text (≤125 char): <founder/customer voice, problem narrative, first person>
  Headline (≤40 char): <outcome promise>
  Description (≤30 char): <social proof or urgency>
  CTA: [Learn More]
  Visual brief: <authentic human image - real person, not stock>

Variant B: [Level 4 × Scarcity] - retargeting
  Primary text (≤125 char): <they've seen you before - cut to the offer>
  Headline (≤40 char): <specific offer + deadline>
  CTA: [Sign Up | Get Started]
  Visual brief: <product result / dashboard>

Step 5: Voice checks

  • Match knowledge/brand/voice.md
  • Specific numbers ("47% faster", "6 days", "240 customers")
  • Active voice, present tense
  • No: "revolutionary", "best-in-class", "synergy", "leverage"
  • No claims not documented in knowledge/services/

Step 6: Self-check

Each item is checkable by reading the output file. If you cannot point at the line that satisfies it, it fails.

  • Every variant block carries an explicit Awareness Level: N and Cialdini Principle: <name> line
  • The variant matrix table has no duplicated (level, principle) pair
  • Every variant names a market sophistication stage, and the stage matches the competitor count used to pick it
  • In every Level 1-3 variant, the brand and product name do not appear in the first line of copy. Search the file for the brand name and check each hit's position
  • Every Level 5 variant contains a specific offer term (price, deadline, trial length, or a named CTA destination)
  • Every character-limited field carries its own measured count in the output, written as (N chars), and every one was checked against the platform's current published spec today, not against the table in this skill. Several of these limits are display-truncation points rather than hard ceilings, so never amputate correct copy to hit a number you did not verify
  • Every variant has a Hypothesis: line stating what a win would prove, not just what the ad says
  • Every variant has a Visual brief: line naming a concrete subject, not an adjective
  • Every proper noun, number, rating and customer name in the file traces to a line in knowledge/ or to something the user supplied in this session. List the sources in the README
  • The README kill and scale thresholds are numbers from this account's history, or are marked [NEEDS INPUT]. No benchmark from memory

Step 7: Save

output/ad-campaign/<DD-MM-YYYY>-<campaign-slug>/

output/ad-campaign/25-04-2026-q2-launch/
├── README.md (awareness level map, test plan, benchmarks)
├── linkedin-sponsored.md
├── google-search.md
├── meta-feed.md
└── [other channels]

README.md must include:

# <Campaign> ad creative

**Audience**: <persona> | <cold/warm/retargeting>
**Awareness level targeted**: [1-5]
**Offer**: <offer>

## Variant matrix
| Variant | Channel | Awareness Level | Cialdini Principle | Hypothesis |
|---|---|---|---|---|

## Test plan
- Run all variants: [X days]
- Kill threshold: <[CTR below Y]>
- Scale threshold: <[CTR above Z, CPL below $X]>

## Benchmarks
- LinkedIn: [UNVERIFIED - replace with this account's own historical CTR]
- Google search: [UNVERIFIED - replace with this account's own historical CTR]
- Meta: [UNVERIFIED - replace with this account's own historical CTR]

Any industry benchmark carried into this section without a named, dated source is a
fabricated number. This account's own last-90-days performance is the only comparison
that is valid for setting a kill threshold.

Step 8: Set the kill and scale thresholds

A variant set without stopping rules runs until someone remembers to look at it. Derive both numbers from this account's own history in knowledge/kpis.md or the ad platform:

  1. Kill threshold: the variant's CTR falls below the account's trailing median for that channel, after it has served enough impressions to be readable. If the account has no history, do not invent a number - state the rule as "kill the bottom variant once the top variant has twice its click volume" which needs no benchmark.
  2. Scale threshold: cost per qualified lead is below the account's blended target from knowledge/kpis.md. CTR alone is never a scale signal, because the cheapest clicks are usually the least qualified.
  3. Minimum run: never judge before the platform's own learning period has completed, and never on a weekend-only or holiday window.
  4. Priority when results conflict: conversion rate beats cost per lead, cost per lead beats CTR, CTR beats impressions. A variant that wins on CTR and loses on conversion is a wrong-audience signal, not a copy win.

Rules

  • Always identify the awareness level before writing. Copy direction changes completely between levels.
  • Never run Level 5 copy to a cold audience. It assumes familiarity that doesn't exist.
  • Always produce minimum 3 variants. One ad is not testable.
  • Always write the visual brief. Designers cannot ship without it.
  • Never fabricate claims. If a user wants a stat not in knowledge/services/, flag it.
  • Regulated industries: include "Confirm with legal before publishing" on any health, finance, or legal claim.

Quick reference: awareness level copy direction

LevelFirst line of copy must...Never do at this level
1 - Most UnawareTell a relatable story with no product mentionName the brand or product
2 - Problem AwareName their pain precisely, in their wordsLead with a solution
3 - Solution AwareFrame the category, educate on approachAssume they know your brand
4 - Product AwareAddress objections, show proofEducate on why the category matters
5 - Most AwareJust the offer and the CTAExplain what the product does

Never invent

  • No customer name, third-party rating, award, user count, or performance figure unless it is in knowledge/company.md / knowledge/services/ or supplied by the user. The worked examples in this skill are shape illustrations. Never carry a name or a number out of them.
  • Filling 15 headline slots is not a licence to generate 12 more claims. Slots you cannot source read [NEEDS INPUT: <what>].
  • Never state a benchmark you did not measure. This account's own history is the only valid comparison.

What this skill cannot know

These are limitations of the skill, not of the campaign. Anything in this list that reaches the output must be labelled [UNVERIFIED] there, not quietly asserted.

  • Current platform character limits, ad formats, image and video specs, and policy rules. Every table in this file is a starting default from authoring time. Open the ad platform's current documentation before shipping.
  • Whether a claim is permissible under the platform's advertising policy in your market. Restricted categories differ by country, and some restrict targeting options as well as wording. Comparative claims and superlatives are separately regulated in several jurisdictions.
  • Current CPC, CPL or CTR for this account, industry or geography. No benchmark is stated here for that reason. Pull the account's own trailing numbers.
  • Whether the landing page still says what the ad promises. Message match is checked by opening the page, not by reading the brief.
  • Whether a named customer has agreed to appear in paid media. Case-study consent and ad consent are different permissions, and paid placement is often excluded from the original agreement.

Related skills

  • /campaign-brief for the objective, budget and audience decisions that must exist before ad copy is written
  • /landing-page-writer for the destination page, when the ad and page do not currently make the same promise
  • /ab-copy-writer for turning the variant matrix here into a properly powered test with a stopping rule
  • /messaging-framework when every variant keeps drifting, which usually means the core message was never fixed
  • /positioning-doc when the sophistication check lands on stage 4-5, because the fix is positioning and not copy
  • /customer-persona when the awareness-level diagnosis cannot be answered from existing persona files
  • /linkedin-post and /social-calendar for organic posting, which is a different job from paid creative
  • /copy-review for a second pass on finished variants before they go into the ad account
  • /kpi-review for the account's own trailing CTR, CPL and conversion rates, which override every default here

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Rate any product, feature, or experience on the 11-star scale (Brian Chesky's Airbnb thought experiment). Use when user says "rate this experience", "11-star", "star rating", "experience audit", "how good is this", "experience rating", "product audit", "quality assessment", or wants to evaluate product quality and identify improvement paths. Also trigger when user wants to benchmark a feature, assess where a product stands, or map out what "great" looks like - even if they don't explicitly say "11-star".

日本語の概要は準備中です。原文の説明を表示しています。

qa-aman/claude-skills202026年9月10日 更新

Generate A/B copy variants grounded in Eugene Schwartz's awareness and market-sophistication stages and John Caples' tested-headline discipline. Every variant declares its angle, the awareness stage it targets, and a falsifiable hypothesis, and the skill recommends which pair to test first and what delta counts as signal. Use when the user says "A/B test this", "write variants", "give me options", "test different angles", "copy variants", "ab copy", "test this headline", "multiple versions", "which version is better", or wants to test copy before publishing. For reviewing copy that already exists, see copy-review. For sample size and stopping rules, see growth-experiment. For diagnosing a page rather than its words, see page-cro. For full paid ad sets by platform, see ad-campaign-writer.

日本語の概要は準備中です。原文の説明を表示しています。

qa-aman/claude-skills202026年9月10日 更新

Write measurable acceptance criteria for requirements or user stories. Use when the user says "write acceptance criteria", "definition of done", "how do we test this", "fit criteria", "given when then", "Gherkin scenarios", "what does done look like", "testable conditions", "how will we know this works" - even if they don't explicitly say "acceptance criteria".

日本語の概要は準備中です。原文の説明を表示しています。

qa-aman/claude-skills202026年9月10日 更新

Build a strategic account plan for winning, retaining, or expanding a named account. Use when the user says "build an account plan", "strategic account planning", "how do I grow this account", "account expansion strategy", "whitespace analysis", "QBR prep", "key account review", "map the stakeholders in this account", "land and expand plan", "how do I break into [company]", or wants a structured strategy for a specific account.

日本語の概要は準備中です。原文の説明を表示しています。

qa-aman/claude-skills202026年9月10日 更新

Design clean and consistent APIs. Use when the user says "design an API", "API design review", "design these endpoints", "REST API for X", "GraphQL schema", "API contract", "how should this endpoint work", "review my API design", or wants to create or improve an API interface - even if they don't explicitly say "API design".

日本語の概要は準備中です。原文の説明を表示しています。

qa-aman/claude-skills202026年9月10日 更新

Write a clear, reviewable audit workpaper documenting procedures, evidence, and conclusions. Use when an auditor says "write a workpaper", "document this audit procedure", "tick and tie this", "I need to document my testing", "substantive testing workpaper", "controls testing documentation", "audit evidence memo", "prepare the workpaper for this balance", "document the audit steps I performed", or needs to capture any audit work in a format that supports review and sign-off. Also trigger when someone has completed audit testing and needs to write it up even if they don't use the word "workpaper".

日本語の概要は準備中です。原文の説明を表示しています。

qa-aman/claude-skills202026年9月10日 更新

qa-aman のスキルをすべて見る

このスキルの問題を報告する