算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
content-writer【设计与创意】Write marketing content in the user's brand voice using PAS (Problem-Agitate-Solution) and AIDA (Attention-Interest-Desire-Action) copywriting frameworks. Use when the user asks to write a LinkedIn post, blog article, email, ad copy, landing page section, social post, newsletter, or any short-to-medium form marketing content. Reads brand voice and IC…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Writes marketing content in the company's voice for the company's ICP. Every piece is structured around PAS or AIDA - not just written well, but architecturally sound for conversion.
PAS and AIDA are not interchangeable, and picking by taste is the most common failure in this skill. Pick by where the reader already is, using Eugene Schwartz's awareness stages from Breakthrough Advertising (1966):
| Reader is | Structure | Why |
|---|---|---|
| Unaware or problem-aware | PAS | They need the problem named and sharpened before any solution lands |
| Solution-aware or product-aware | AIDA | They accept the problem; the work is attention, interest and desire for this answer |
| Most aware | Neither, go straight to the offer | Structure is overhead when they are ready |
Awareness is about the reader. Sophistication is about the market, specifically how many times this reader has already heard a claim like yours. Schwartz's five stages, each with the move that still works at that stage:
| Stage | State of the market | The move that works | The move that is already dead |
|---|---|---|---|
| 1 | You are first with this claim | State the claim plainly and bluntly | Nothing yet, plain wins |
| 2 | Competitors are making the same claim | Enlarge the claim, be bigger and more specific than them | The plain claim, it is now background noise |
| 3 | Nobody believes the claim any more | Lead with the mechanism, how it actually works | Any promise, of any size |
| 4 | Competitors have copied the mechanism | Elaborate the mechanism, make yours more precise and more provable | The bare mechanism |
| 5 | The reader disbelieves the whole category | Lead with identification, who this is for and who they become | Claims and mechanisms both |
Decision rule: ask the user how many direct competitors say roughly the same sentence in their hero copy. Zero to one is stage 1-2, so write the promise. Three or more is stage 3-4, so open with the mechanism. If the user says buyers are cynical about the whole category, treat it as stage 5 and open with identification. If you do not know, ask before drafting, do not guess.
Robert Bly's The Copywriter's Handbook supplies the section-level craft. Two of his models are used directly here.
The 4 U's, applied to every headline and every subject line. Score each on a 1-4 scale:
| U | Question | Fails when |
|---|---|---|
| Urgent | Is there a reason to read this now? | Timeless and therefore skippable |
| Unique | Has the reader seen this exact sentence before? | It could sit on a competitor's page unchanged |
| Ultra-specific | Are there numbers, names, and a concrete situation? | "Improve your results" |
| Useful | Is there a clear benefit to the reader, not to the brand? | The benefit is that the brand launched something |
Threshold: a headline must score 3 or 4 on at least three of the four U's. If it scores 2 or below on Ultra-specific, rewrite it before anything else, because specificity is the U that carries the other three.
Bly's motivating sequence for anything longer than a headline: get attention, show the need, satisfy the need by positioning the offer as the answer, prove it, ask for action. If a draft has no proof step, it is a claim with a button on the end.
Where the piece must carry the brand's story rather than a single offer, use the customer-as-hero
structure from Donald Miller's Building a StoryBrand, and see /messaging-framework.
PROBLEM: Open by naming the exact problem the reader has. Specific, not vague. "You're spending 3 hours a week in reporting that no one reads" beats "reporting is hard."
AGITATE: Twist the knife. Make the problem feel real, costly, and urgent.
The agitation section must actually hurt. If it reads mild, it's not working.
SOLUTION: Introduce the solution after the pain has been established. Not before. The solution lands harder because the reader now knows why they need it.
Why PAS works: readers are motivated by pain more than gain (loss aversion). Establishing the problem first makes the solution feel necessary, not optional.
ATTENTION: Stop the scroll. The first line or headline must interrupt pattern. It cannot be a warm-up.
INTEREST: Build interest by connecting to what they care about. Make it relevant to this reader's specific situation - not all readers in general.
DESIRE: Create want. Show the outcome, the transformation, the result. Not the feature - the life after using it.
ACTION: Tell them exactly what to do next. One action, specific, low-friction. "Book a 20-min call" beats "get in touch."
| Audience state | Formula | Best for |
|---|---|---|
| Pain-aware (they know the problem) | PAS | Blog intros, email openers, LinkedIn posts about problems |
| Not-yet-aware (problem is latent) | AIDA | Ads, landing pages, cold outreach |
| Longer form | PAS to open + AIDA to close | Full blog posts, sales emails, case study narrative |
Check before writing: Is the audience pain-aware or not? This determines the formula.
Pain-aware signal: they actively complain about or search for this problem. Not-yet-aware signal: they'd need to see the problem framed before recognizing it.
Load context:
knowledge/brand/voice.md. If missing, stop and say: "I need your brand voice. Run /brand-context or paste 3+ past pieces into uploads/ and rerun."knowledge/icp/personas.md. If missing, ask the user to describe the audience in one line.knowledge/markets/positioning.md if the topic relates to product or service.knowledge/content-library/ for 2-3 past pieces on similar topics. Mirror their structure.Determine audience awareness and select formula, then state both axes explicitly before drafting:
Schwartz awareness stage: <unaware | problem-aware | solution-aware | product-aware | most-aware>
Schwartz sophistication stage: <1-5, and the evidence for it>
Structure selected: <PAS | AIDA | offer-only>
Opening move: <promise | enlarged promise | mechanism | elaborated mechanism | identification>
Is the audience pain-aware?
Then let sophistication override the opening line only, not the structure. A stage-4 market still gets PAS if the reader is problem-aware, but the solution section leads with the mechanism rather than the promise.
Clarify if needed. One question max. Examples: "Long-form blog or short LinkedIn?" "Aimed at CMOs or content marketers?"
Draft. Apply the formula structurally:
PROBLEM (10-20% of piece):
<Name the exact problem. Specific. Use numbers or a scenario.>
Example: "You wrote the brief. Briefed the agency. Reviewed 3 rounds. The campaign launched.
And the SQL number didn't move."
AGITATE (20-30% of piece):
<Make it real. What does this cost them? What does it feel like? What is the trajectory if nothing changes?>
Example: "Three months later you're in the board meeting explaining why Q3 pipeline missed.
The campaign was 'awareness.' The numbers say 'waste.'"
SOLUTION (50-70% of piece):
<Introduce the solution now. It lands harder because the reader already feels the pain.>
ATTENTION (first line / headline):
<Interrupt. Specific claim, question, or surprising fact. Not a warm-up.>
INTEREST (20-30% of piece):
<Connect to what they care about. Make it relevant to their specific situation.>
DESIRE (40-50% of piece):
<Show the outcome. The life after. Specific results, not features.>
ACTION (closing):
<One action. Specific. Low-friction. Time-bound if possible.>
Voice rules:
knowledge/brand/voice.md preciselySelf-check before showing. Every item below is answerable by pointing at a line in the draft. If an item cannot be answered by quoting the draft, it does not belong in this list.
Framework checks:
Sourcing checks:
knowledge/ or in the user's brief. List each one and where it came from[SOURCE NEEDED: <what>] or [NEEDS INPUT: <what>] in the draftQuality checks:
Save: write to output/content-writer/<DD-MM-YYYY>-<format>-<slug>.md with frontmatter:
---
format: linkedin-post
topic: <topic>
audience: <persona>
formula: <PAS|AIDA|PAS+AIDA>
audience-awareness: <pain-aware|not-yet-aware>
created: DD-MM-YYYY
---
Show the user the draft inline, then point them to the file. Offer 2 alternative angles if they want variants.
| Format | Length | Formula | Structure |
|---|---|---|---|
| LinkedIn post | 80-200 words | PAS or AIDA | Hook (1 line), body (3-5 short paragraphs), CTA or question |
| Blog intro | 100-150 words | PAS | Problem, agitate, what this post solves |
| Blog (full) | 800-1500 words | PAS open + AIDA close | H1, intro, 3-5 H2 sections, CTA conclusion |
| 80-150 words | PAS | Subject line, 1-line hook (problem), body (agitate), single CTA (solution) | |
| Ad headline | 5-10 words each | AIDA (Attention only) | Generate 5 variants |
| Landing hero | 1 H1 + 1 sub | AIDA | H1 = Desire (outcome), sub = how you get there |
knowledge/brand/voice.md exactly. If the brand uses contractions, use them. If not, don't.[SOURCE NEEDED: <what>] and tell the
user. Product claims come only from knowledge/services/, which step 1 loads.Do not produce a draft when any of these is true. Say which one, and what you need.
/brand-context or three past pieces.[NEEDS INPUT: <the exact figure needed>] and name it in your reply.[LEGAL REVIEW], and say it must not ship unreviewed.knowledge/markets/ has nothing on that
competitor. Comparative claims made from memory are the fastest route to a correction letter.Ranked worst first. The first two are ship-blockers, the rest are rewrite prompts.
/copy-review for grading and fixing copy that already exists rather than writing new copy/landing-page-writer for a full page, where SB7 replaces PAS and AIDA as the spine/linkedin-post for a post that needs a named hook formula and platform-specific length rules/thought-leadership-writer when the piece needs to defend a contestable thesis at 1200 words or more/newsletter-writer when the piece is one issue of a recurring publication with a fixed spine/ad-campaign-writer when the output is paid ad variants rather than owned content/brand-context first, whenever knowledge/brand/voice.md does not exist yet/messaging-framework when the same words need to hold across every asset, not just this one/content-repurposer after this piece ships, to turn it into other formatsThese are real limitations of this skill. It cannot resolve them from the knowledge base, so ask
the user or emit [NEEDS INPUT: <what>] rather than filling the gap.
knowledge/ is still current. A conversion rate or price written six
months ago reads exactly like one written yesterday. Ask when the number was last confirmed
before putting it in public copy.knowledge/ is not evidence of consent
for this specific piece.