Copywriting logo

Copywriting

Community
melgarafael
copywriting

Persuasive copywriting using AIDA, PAS, 4U headline formulas, CTA patterns, emotional triggers, anti-slop enforcement, and brand voice awareness

Overview

Publishermelgarafael
RepositorygrowthOS
Skill namecopywriting
Stars
58
Forks
33
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by melgarafael on GitHub. Read the source before you install it.

Installation

Install the Copywriting AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/melgarafael/growthOS/tree/main/skills/copywriting
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/melgarafael/growthOS.git /tmp/growthOS
mkdir -p .claude/skills
cp -r /tmp/growthOS/skills/copywriting .claude/skills/copywriting
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Copywriting in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Copywriting on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Copywriting is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Copywriting Skill

🔒 MANDATORY — Read before generating any copy

Before producing any line of copy, read in this order:

  1. growthOS/voice/GOLDEN-DOC.md — canonical voice for @melgarafael / AutomatikLabs
  2. growthOS/voice/virais/INDEX.md — master viral index
  3. growthOS/voice/virais/PATTERNS/{category}.md for the editorial category matching the request (viralizacao / lead-capture / saves-retencao / venda)
  4. brand-voice.yaml sections: voice, anti_slop, viral_intelligence

Viral intelligence rules:

  • Apply patterns tagged voice_fit: aligns directly
  • NEVER copy patterns tagged voice_fit: conflicts, even if they worked elsewhere
  • Prefer high-seen_count aligned patterns over inventing new structure
  • Cite the viral source in an inline comment for traceability

Trigger Conditions

Use this skill when the user asks to:

  • Write marketing copy, headlines, or taglines
  • Create social media posts or captions
  • Draft email subject lines or email body copy
  • Write landing page copy or product descriptions
  • Craft CTAs (calls-to-action)
  • Improve or rewrite existing copy
  • Generate ad copy (paid social, search ads)
  • Write newsletter content

Brand Voice Integration

MANDATORY: Before writing ANY copy, load the brand voice configuration.

python
from growthOS_shared.config import load_brand_voice
brand = load_brand_voice()

Every piece of copy must:

  1. Match brand.tone descriptors
  2. Avoid all terms in brand.avoid and anti_slop.banned_phrases
  3. Follow anti_slop.style_rules
  4. Respect platform-specific tone_override when targeting a specific channel
  5. Stay within platform max_length limits

Anti-Slop Enforcement Rules

Anti-slop is the single most important quality gate for AI-generated copy. Without it, all output converges to the same generic AI voice.

Tier 1: Hard Banned (auto-reject)

These phrases are NEVER acceptable in any context. If they appear in output, the copy fails validation:

  • "game-changer", "revolutionary", "cutting-edge", "best-in-class"
  • "synergy", "leverage" (as verb for non-physical things), "disrupt"
  • "innovative solution", "transform your", "unlock the power"
  • "dive deep", "it's worth noting", "in today's fast-paced"
  • "at the end of the day", "think outside the box"
  • "move the needle", "low-hanging fruit", "paradigm shift"
  • "holistic approach", "seamlessly integrate"

Plus any terms in brand-voice.yaml → anti_slop.banned_phrases and brand.avoid.

Tier 2: Conditional Ban (require evidence)

These patterns are allowed ONLY when backed by specific data:

PatternBanned FormAcceptable Form
Superlatives"The best tool for...""Rated #1 by G2 in Q3 2025"
Speed claims"Lightning fast""Deploys in under 90 seconds"
Scale claims"Used by millions""Used by 14,000+ teams in 42 countries"
Ease claims"Effortless setup""3-step setup, average 4 minutes"
ROI claims"Massive ROI""Teams report 3.2x return within 90 days"

Tier 3: Style Rules (always enforce)

  1. Active voice — "We built X" not "X was built by us"
  2. Specific over vague — Numbers, names, timeframes beat adjectives
  3. No clickbait — Headlines must deliver on their promise
  4. No hedging — Remove "just", "simply", "actually", "basically", "essentially"
  5. No filler — Remove "in order to" (use "to"), "due to the fact that" (use "because")
  6. Concrete verbs — "Ship", "build", "cut", "grow" over "utilize", "facilitate", "enable"
  7. Reader-first — "You" before "We". Address the reader's situation, not your product.

Slop Detection Prompt

Before finalizing any copy, run this mental checklist:

  • Could a competitor say the exact same sentence about their product? → Too generic, rewrite.
  • Does this sentence contain information or just vibes? → If vibes only, add specifics or cut.
  • Would a real human say this in conversation? → If not, simplify.
  • Is any word here only because it "sounds professional"? → Cut it.

Copywriting Frameworks

AIDA — Attention, Interest, Desire, Action

The foundational framework for persuasive copy. Works for: landing pages, emails, ads, long-form sales pages.

StageGoalTechniques
AttentionStop the scroll. Break the pattern.Bold claim, surprising stat, provocative question, pattern interrupt
InterestKeep them reading. Build relevance.Specific details, "imagine if" scenarios, relatable problems
DesireMake them want it. Show transformation.Social proof, benefits (not features), before/after, exclusivity
ActionTell them exactly what to do.Clear CTA, urgency (real, not fake), risk reversal

AIDA Template — Landing Page Hero:

[ATTENTION] — Headline: Bold claim or question that addresses their biggest pain
[INTEREST] — Subheadline: How you solve it, with one specific detail
[DESIRE] — Social proof: "Join [X] teams who [specific result]"
[ACTION] — CTA button: Action verb + outcome ("Start shipping faster")

AIDA Template — Email:

Subject: [ATTENTION — curiosity or benefit hook]
Line 1: [INTEREST — relatable problem or scenario]
Body: [DESIRE — how your solution changes their situation]
CTA: [ACTION — single clear next step]
PS: [Reinforce urgency or add secondary benefit]

PAS — Problem, Agitate, Solution

The most effective framework for copy that converts through empathy. Works for: emails, ads, social posts, product descriptions.

StageGoalHow
ProblemName the pain they're feelingUse their exact words (from reviews, interviews, support tickets)
AgitateMake the problem feel urgentShow consequences of inaction. "And it gets worse..."
SolutionPresent your answerPosition as the natural resolution to the agitated problem

PAS Example:

[PROBLEM] You're spending 15+ hours a week on content that gets 200 views.
[AGITATE] Meanwhile, your competitors are posting daily and dominating
your keywords. Every week you delay, they build more authority that's
harder to overcome.
[SOLUTION] GrowthOS generates a full content calendar in 10 minutes,
optimized for your actual audience — not generic AI slop.

PAS Calibration:

  • Agitation should be truthful, not manipulative. Describe real consequences, not fear-mongering.
  • The transition from Agitate → Solution should feel like relief, not a hard sell.
  • The problem should be recognizable to the reader in the first 3 seconds.

4U Headline Formula

Every headline should score high on at least 3 of the 4U criteria:

UQuestionScore 1-4
UsefulDoes it promise a benefit the reader cares about?1 = no benefit, 4 = solves their #1 problem
UrgentIs there a reason to read/act now?1 = whenever, 4 = time-sensitive
Ultra-specificDoes it include numbers, names, or details?1 = vague, 4 = precise metrics
UniqueIs this perspective fresh or differentiated?1 = generic, 4 = never seen before

Scoring: Total ≥ 12 = strong headline. 8-11 = needs work. <8 = rewrite.

Examples:

❌ "Improve Your Marketing" (Useful: 2, Urgent: 1, Specific: 1, Unique: 1 = 5)
✅ "How 3 B2B Teams Cut Content Costs 40% in 30 Days" (U:4, Ur:3, S:4, Un:3 = 14)

Additional Headline Formulas

How-to: "How to [achieve desired outcome] without [common objection]"

How to Build a Content Engine Without Hiring a Content Team

Number list: "[Number] [unexpected adjective] ways to [benefit]"

7 Counterintuitive Ways to Double Your LinkedIn Engagement

Question: Direct question that the reader answers "yes" to mentally

Still writing social posts one at a time?

Negative: "Stop [common mistake that costs them]"

Stop Writing Content Nobody Searches For

Proof: "[Specific result] in [specific timeframe]"

From 0 to 50K Organic Visits in 6 Months: Our Playbook

CTA Patterns

CTA Formula

Structure: [Action Verb] + [Outcome/Benefit]

Weak CTAStrong CTAWhy
SubmitGet Your Free ReportFocuses on what they receive
Learn MoreSee How It WorksSets expectation
Sign UpStart Your Free TrialImplies action + value
DownloadGrab the PlaybookActive, ownership language
Click HereBuild Your First CampaignOutcome-oriented

CTA Context Rules

Funnel StageCTA ToneExamples
TOFU (awareness)Low commitment, curiosity"See examples", "Read the guide", "Watch the demo"
MOFU (consideration)Medium commitment, value exchange"Get the free template", "Try it free", "Compare plans"
BOFU (decision)High commitment, confidence"Start building", "Choose your plan", "Launch your first campaign"

CTA Placement Rules

  1. Above the fold — Primary CTA visible without scrolling
  2. After value demonstration — Place CTA after showing a benefit or proof point
  3. End of content — Always close with a CTA
  4. One primary CTA per section — Don't compete with yourself
  5. Sticky CTA on mobile — For landing pages, keep CTA accessible during scroll

Micro-copy Around CTAs

The words around the button matter as much as the button text:

[Trust signal] "Join 2,400+ marketing teams"
[Button] Start Free — No Credit Card
[Objection handler] "Cancel anytime. Setup takes 3 minutes."

Emotional Triggers

The 7 Core Emotional Triggers for Marketing Copy

Use these deliberately and ethically — manipulative copy backfires long-term.

TriggerHow It WorksEthical Application
Fear of Missing Out (FOMO)People hate losing more than they love gainingShow what competitors or peers are already doing. Use real data, not fake urgency.
BelongingPeople want to be part of somethingCommunity language: "Join", "fellow", "together". Show the tribe they'll belong to.
StatusPeople want to feel successful/competentPosition your product as what smart/successful people use. "Used by teams at [brands]".
CuriosityOpen loops drive engagementStart with a surprising fact, leave the resolution after the CTA. Don't bait-and-switch.
TrustPeople buy from those they trustSocial proof, specificity (vague claims erode trust), transparency about limitations.
ReciprocityGive value first, ask secondFree tools, templates, insights before asking for anything.
AutonomyPeople want to feel in control"Choose your plan", "customize your", "on your schedule". Never pressure.

Applying Emotional Triggers by Platform

PlatformPrimary TriggerSecondaryCopy Style
LinkedInStatus + TrustBelongingProfessional, data-backed, thought leadership
Twitter/XCuriosity + FOMOStatusConcise, provocative, thread-worthy
RedditTrust + ReciprocityAutonomyAuthentic, value-first, no self-promotion
EmailCuriosity + ReciprocityFOMOPersonal, conversational, value-driven
Landing PageTrust + StatusFOMOBenefit-focused, proof-heavy, clear CTA

Platform-Specific Copy Guidelines

LinkedIn

  • Lead with insight, not promotion
  • First line is the headline — make it stop the scroll
  • Use line breaks liberally (mobile readability)
  • End with a question to drive comments
  • Hashtags: 3-5 max, specific to topic
  • Carousel posts: 1 key point per slide, 8-12 slides max
  • Character limit: 3,000 (but aim for 800-1,500 for engagement)

Twitter/X

  • One idea per tweet
  • Front-load the value — most people won't read past line 1
  • Threads: Hook tweet → Value tweets → CTA tweet
  • No hashtags in body text (put in reply if needed)
  • Character limit: 280

Reddit

  • NEVER sound like marketing copy
  • Lead with value, context, or genuine question
  • Acknowledge limitations — Redditors respect honesty
  • Include your methodology or thinking process
  • Character limit: 10,000 (but frontload value)

Email

  • Subject line: 40-60 characters. Curiosity or benefit.
  • Preview text: Complement the subject, don't repeat it.
  • One CTA per email. One clear ask.
  • P.S. line: Second most-read element after subject line.
  • Tone: Conversational, as if writing to one person.

Copy Testing Framework

A/B Testing Priorities

Test in this order (highest impact first):

  1. Headline / Subject Line — Biggest impact on whether anything else gets read
  2. CTA text and placement — Directly affects conversion
  3. Social proof format — How trust is communicated
  4. Opening line — Determines if they keep reading
  5. Body structure — Long vs short, bullets vs paragraphs

Copy Scoring Rubric

Rate copy 1-5 on each dimension:

Dimension1 (Weak)5 (Strong)
ClarityConfusing, jargon-heavyCrystal clear on first read
SpecificityVague claims, no dataNumbers, names, timeframes
RelevanceGeneric, could be any productSpeaks to specific audience's specific pain
EmotionFlat, informational onlyCreates a feeling (curiosity, desire, relief)
ActionNo clear next stepObvious, low-friction CTA
VoiceGeneric AI toneDistinctly matches brand voice
Anti-slopMultiple banned phrasesZero slop, every word earns its place

Score ≥ 30/35: Ship it. Score 25-29: Polish and ship. Score < 25: Rewrite.


Copy Generation Workflow

Step-by-Step Process

  1. Load brand voice — Read brand-voice.yaml first
  2. Identify context — Platform, funnel stage, audience segment
  3. Choose framework — AIDA for long-form, PAS for short-form, 4U for headlines
  4. Draft — Write the first version following the framework
  5. Anti-slop pass — Scan for all banned phrases and patterns, replace with specifics
  6. Brand voice check — Verify tone matches, avoid list respected
  7. Score — Rate on the 7-dimension rubric
  8. Iterate — If score < 30, identify weakest dimensions and rewrite those sections
  9. Platform check — Verify length limits and platform-specific rules

Output Contract

Copy Output Schema

yaml
output_contract:
  format: markdown
  required_sections:
    - frontmatter:
        type: string  # "copy"
        subtype: string  # "headline" | "social-post" | "email" | "landing-page" | "ad" | "cta"
        status: string  # "draft" | "review" | "approved"
        date: string  # ISO 8601
        author: string  # "growthOS/copywriting"
        platform: string  # target platform
        funnel_stage: string  # "tofu" | "mofu" | "bofu"
    - copy_content:
        primary: string  # the main copy piece
        variants: list  # 2-3 alternative versions
        headline_score:  # 4U score if applicable
          useful: integer  # 1-4
          urgent: integer  # 1-4
          ultra_specific: integer  # 1-4
          unique: integer  # 1-4
          total: integer
    - quality_scores:
        clarity: integer  # 1-5
        specificity: integer  # 1-5
        relevance: integer  # 1-5
        emotion: integer  # 1-5
        action: integer  # 1-5
        voice: integer  # 1-5
        anti_slop: integer  # 1-5
        total: integer  # sum of above
    - anti_slop_report:
        passed: boolean
        violations_found: list  # any phrases that were caught and replaced
        replacements_made: list  # what they were replaced with
  validation:
    anti_slop: true
    brand_voice: true
    platform_length: true  # must respect max_length
    min_variants: 2  # always provide alternatives

Frequently asked questions

What does the Copywriting AI skill do?

Persuasive copywriting using AIDA, PAS, 4U headline formulas, CTA patterns, emotional triggers, anti-slop enforcement, and brand voice awareness

Why use Copywriting on TypingMind?

Because you install it once and use it with any model. Copywriting is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Copywriting in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/melgarafael/growthOS/tree/main/skills/copywriting. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Copywriting?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Copywriting?

As many as you like. As long as a model supports skills, you can use Copywriting with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Copywriting AI skill free?

Yes. It is published on GitHub by melgarafael under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇