算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
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 cam…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Writes paid ad copy across channels using two frameworks baked together:
The result: every ad set has a distinct angle grounded in buyer psychology, not guesswork.
The biggest mistake in ad copy: writing the same message regardless of where the audience is in their journey. Schwartz's levels fix this.
| Level | Who they are | What they believe | What your copy must do |
|---|---|---|---|
| 1. Most Unaware | Don'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 Aware | Know 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 Aware | Know 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 Aware | Know 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 Aware | Ready 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":
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.
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.
| Stage | State of the market | What the headline must do | What fails here |
|---|---|---|---|
| 1. First | You are the first to make this claim | State the claim plainly. "Get X." | Cleverness. Nobody needs convincing yet. |
| 2. Second | Competitors are making the same claim | Enlarge the claim. Bigger, faster, more specific version. | Repeating the stage-1 claim verbatim. |
| 3. Third | The claim is worn out, nobody believes it | Lead with the mechanism. How it works, not what it does. | Another superlative. |
| 4. Fourth | Competitors are all selling mechanisms | Elaborate the mechanism. Make yours more complete or easier. | A bare mechanism claim. |
| 5. Fifth | The market is exhausted and cynical | Shift 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.
Each ad variant tests a different persuasion lever. Use all 6 across a campaign, measure which performs for this audience.
| Principle | How to apply in ads |
|---|---|
| 1. Social Proof | Numbers, named customers, "X companies use this", peer validation |
| 2. Authority | Awards, publications, expertise, specific credentials |
| 3. Scarcity | Limited spots, pricing ends, cohort-based intake |
| 4. Reciprocity | Free resource, tool, audit, or insight in the ad itself |
| 5. Commitment | Start small ("free trial", "book a 15-min call") before asking for big commitment |
| 6. Liking | Human, 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 level | Try first | Try second | Avoid |
|---|---|---|---|
| 1-2 Unaware / Problem Aware | Liking, Reciprocity | Social Proof | Scarcity - there is no desire yet to make scarce |
| 3 Solution Aware | Authority, Reciprocity | Social Proof | Commitment - they have not picked a category winner |
| 4 Product Aware | Social Proof, Authority | Commitment | Reciprocity - a free guide now reads as a stall |
| 5 Most Aware | Scarcity, Commitment | Social Proof | Liking - 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.
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.
| Channel | Format | Key limits (verify before shipping) |
|---|---|---|
| LinkedIn Sponsored Content | Single image, carousel, video | 150 char intro, 70 char headline |
| LinkedIn Message Ads | InMail | 60 char subject, 500 word body |
| Google Search | Responsive | 15 headlines (30 char each), 4 descriptions (90 char each) |
| Google Display | Responsive display | 5 short headlines, 5 long, 5 descriptions |
| Meta feed | Image, carousel, video | 125 char primary text, 40 char headline |
| Meta Reels/Stories | Vertical video | 15-30 sec script |
| YouTube pre-roll | Skippable | 5-sec hook + 30-sec full script |
knowledge/icp/personas.md + warm/cold/retargetingRead knowledge/brand/voice.md, the relevant persona, knowledge/markets/positioning.md, and the relevant service file.
Paid media makes bad inputs expensive rather than merely wrong. Run these checks and say what you found. The first three are stop conditions.
| Check | Warning sign | Action |
|---|---|---|
| Offer matches awareness | Cold audience pointed at a demo booking | Stop. 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 ad | The page sells the product, the ad promises a guide | Stop. 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 sourced | A number the user cannot point to a source for | Stop. Write [NEEDS INPUT: source for <claim>] and do not write around it. |
| Audience size | Fewer than a few thousand matched people | Flag it. Below that, four variants will not separate from noise within a normal test window, so cut to two. |
| Variant count vs budget | More variants than the budget can give meaningful volume | Flag it. Split budget across too many variants and every result stays inconclusive. Recommend cutting to the two strongest hypotheses. |
| Regulated claim | Health, finance, legal, employment, housing, credit | Flag for legal review before publishing, and check the platform's restricted-category policy, which often bans targeting options as well as wording. |
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:
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)
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>
knowledge/brand/voice.mdknowledge/services/Each item is checkable by reading the output file. If you cannot point at the line that satisfies it, it fails.
Awareness Level: N and Cialdini Principle: <name> line(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 verifyHypothesis: line stating what a win would prove, not just what the ad saysVisual brief: line naming a concrete subject, not an adjectiveknowledge/ or to something the user supplied in this session. List the sources in the README[NEEDS INPUT]. No benchmark from memoryoutput/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.
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:
knowledge/kpis.md. CTR alone is never a scale signal, because the cheapest clicks are usually the least qualified.knowledge/services/, flag it.| Level | First line of copy must... | Never do at this level |
|---|---|---|
| 1 - Most Unaware | Tell a relatable story with no product mention | Name the brand or product |
| 2 - Problem Aware | Name their pain precisely, in their words | Lead with a solution |
| 3 - Solution Aware | Frame the category, educate on approach | Assume they know your brand |
| 4 - Product Aware | Address objections, show proof | Educate on why the category matters |
| 5 - Most Aware | Just the offer and the CTA | Explain what the product does |
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.[NEEDS INPUT: <what>].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.
/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