// execute
Copywriting
Use when the user wants to write, rewrite, or improve marketing copy — a homepage hero, landing page, ad, email, product page, or CTA. Also use when the user mentions copywriting, headlines, page copy, ad copy, microcopy, "make this sharper", or "why isn't this converting". Produces copy that ladders to the positioning, with every claim defensible, plus a score on clarity, concreteness, and claim-defensibility.
npx skills add sarojkjha/aaj-marketing-skills --skill aaj-copywritingClaude Code
/plugin marketplace add sarojkjha/aaj-marketing-skills/plugin install aaj-marketing-skills@aajOpenAI Codex
codex plugin marketplace add sarojkjha/aaj-marketing-skillscodex plugin add aaj-marketing-skills@aajClaude or ChatGPT — no install
Add this as a custom connector:
https://aaj-engines-mcp.sarojkjha10.workers.dev/mcp// when to use it
Use when the user wants to write, rewrite, or improve marketing copy — a homepage hero, landing page, ad, email, product page, or CTA. Also use when the user mentions copywriting, headlines, page copy, ad copy, microcopy, "make this sharper", or "why isn't this converting". Produces copy that ladders to the positioning, with every claim defensible, plus a score on clarity, concreteness, and claim-defensibility.
// what you give
The asset and its one job, the audience, the positioning (or the raw inputs for it), the competitive alternative, and any proof — numbers, named customers, specifics
// what you get
Drafted copy laddered to the positioning, a scored read on clarity/concreteness/claim-defensibility, and a list of claims that still need proof
Engine spec
// decision it supports
Is this copy clear, concrete and defensible enough to publish, and which claims still need proof?
// inputs
The asset and its one job, the audience, the positioning (or the raw inputs for it), the competitive alternative, and any proof — numbers, named customers, specifics
// output
Drafted copy laddered to the positioning, a scored read on clarity/concreteness/claim-defensibility, and a list of claims that still need proof
// acts or analyzes
Analyzes onlyMakes no network calls, writes no files and changes nothing in your tools.
It can read an input file you name; it reads nothing else.
// where your information goes
| How you run it | Where your inputs go |
|---|---|
| Skill installed in your agent, or the local MCP server | The engine runs on your machine and AAJ receives nothing. Your AI agent still sends what you give it to its model provider (Anthropic, OpenAI and so on), under your own account's terms. |
| Hosted MCP server | Your agent's model provider, as above, plus AAJ's server on Cloudflare, which receives the engine inputs over HTTPS, runs them in memory and keeps no copy. Cloudflare keeps error logs (no inputs) for up to 7 days. |
No engine needs customer names, emails or other personal data; leave them out.
// limitations
- It applies fixed word lists and readability rules to the text you paste. It cannot see how buyers respond, so a high score is not a conversion forecast.
- It cannot tell whether the message is right. Copy can score well and still miss the positioning or break the brand voice; judge that yourself.
- Concreteness counts numbers and names, not whether they are true. A made-up figure raises the score, so every number still needs proof on file.
- Text under about 25 words gets no score ("NOT SCORED", overall null in JSON), because short ratios are noise. Score a full section, not a headline on its own.
// review before acting
// setup
npx skills add sarojkjha/aaj-marketing-skills --skill aaj-copywritinghttps://aaj-engines-mcp.sarojkjha10.workers.dev/mcpAgents listed: Claude Code, Cursor, OpenAI Codex, Windsurf, Cline. Tested and recorded: Claude Code.
Copywriting
Write copy that is specific, single-minded, and provable. Marketing copy fails in a predictable way: it describes a category rather than a product, hedges every claim into meaninglessness, and reaches for superlatives where a fact would do. The test is blunt — if you could swap in a competitor's logo and the copy would still read as true, it isn't positioning, it's wallpaper.
Copy is not persuasion technique applied to a blank page. It is positioning made concrete. Everything here assumes the positioning exists; if it doesn't, that's the first job.
When to use
The user is writing or improving any customer-facing copy — hero sections, landing pages, ads, emails, product pages, buttons — or asking why existing copy isn't landing.
Before you start
- Read the brand/product context first. If
.agents/product-marketing.mdor.agents/aaj-brand.mdexists, use it for product, audience, voice, and competitors. - Get the positioning. Copy inherits from positioning; it cannot invent it. If there's no positioning statement, run
positioning-statementfirst or gather: who it's for, the problem, the category, the single benefit, the competitive alternative, the differentiator. - Define the one job. Every asset does exactly one thing — capture an email, book a call, start a trial, explain one concept. An asset with two jobs does neither.
- Collect the proof. Ask for numbers, named customers, verifiable specifics. Copy is only as strong as the evidence behind it. Where proof doesn't exist, the claim gets softened or cut — not dressed up.
Method
Strong copy follows a hierarchy: one promise, three supports, proof under each. The promise is the single most important thing the reader gets; supports are why it's credible; proof makes it verifiable. Specificity does the persuading — "cuts onboarding from 3 weeks to 4 days" beats "dramatically accelerates onboarding," because the reader can picture it and check it.
Read the reader's state before writing: what they already believe, what they'd object to, and what they'd need to see to act. Copy that ignores the objection loses to copy that answers it.
See resources/copy-frameworks.md for the message hierarchy, headline patterns, the asset-by-asset structures, a worked example, and the output format.
Run the engine
Score any draft — yours or the user's existing copy:
Paths assume you installed with
npx skills add. From a clone of this repo, useskills/aaj-copywriting/resources/…instead.
node .agents/skills/aaj-copywriting/resources/copy-scorer.js # demo
node .agents/skills/aaj-copywriting/resources/copy-scorer.js "your copy here"
node .agents/skills/aaj-copywriting/resources/copy-scorer.js --file landing-page.md
node .agents/skills/aaj-copywriting/resources/copy-scorer.js --json "copy" # JSON only
node .agents/skills/aaj-copywriting/resources/copy-scorer.js --help
It returns an overall score with three dimensions — clarity (sentence length, reading level, passive voice), claim defensibility (unsubstantiated superlatives, hedges — weighted highest), and concreteness (numbers and names versus jargon and abstraction) — plus every flagged term and a ranked fix list.
The score is directional. It measures whether copy is clear, concrete, and defensible; it cannot tell you whether the message is right. Judge message-match against the positioning yourself.
Workflow
- Establish the one job and the audience state. Name the single action, and what the reader believes before they arrive.
- Write the promise. One sentence, drawn from the positioning, specific enough to be falsifiable. If it could describe a competitor, rewrite it.
- Build three supports with proof. Each support answers "why should I believe that?" Attach a number, a mechanism, or a named example to each.
- Answer the top objection explicitly. The one the reader would raise if they could. Unanswered objections are where conversion leaks.
- Draft the asset using the structure for its type in
resources/copy-frameworks.md. - Score it with the engine. Fix the flagged items, then re-score.
- Cut 20%. Almost every draft improves. Remove qualifiers, throat-clearing, and any sentence that doesn't advance the one job.
- Flag unproven claims separately so the user can substantiate or cut them. Never quietly ship a claim you can't back.
Present the result
Lead with the drafted copy, formatted for its destination so it can be pasted directly. Then the score and the two or three highest-leverage fixes. Then, separately and explicitly, the list of claims that still need proof. Where you made a judgment call — chose one angle over another — say so in one line and give the alternative.
Guardrails & common mistakes
- No unsubstantiated superlatives. "Leading," "best-in-class," "revolutionary" and "seamless" are noise at best and a liability at worst — they get ads rejected and erode trust. Replace each with a fact, or delete it.
- Don't hedge. "Helps you improve X" is weaker than "improves X." If the strong version isn't true, the problem is the claim, not the wording.
- One idea per asset. Adding a second message doesn't double the response; it halves the first one.
- Write to one person. "Teams of all sizes" reaches nobody. Narrow beats broad every time.
- Features need a "so what." State the outcome, then the feature that delivers it — not the reverse.
- Message-match matters more than cleverness. If an ad promises a free workbook, the page headline says free workbook. A clever headline that breaks the promise costs more than a dull one that keeps it.
- Match the reader's vocabulary, not the industry's. If your buyer wouldn't say the phrase out loud, cut it.
- Voice is a constraint, not a decoration. If the brand context defines a voice, copy that violates it is wrong even if it scores well.
Related AAJ resources
- Interactive tool: https://aajconsult.com/tools/positioning-statement-generator
- Template: https://aajconsult.com/resources/positioning-messaging-workbook
Related skills
positioning-statement (the source of truth this inherits from) · brand-product-context (voice and audience) · geo-content-optimization (make the copy citable by AI engines) · content-repurposing (extend one asset across channels) · website-conversion-audit (find which copy is leaking).
// faq
// install
npx skills add sarojkjha/aaj-marketing-skills --skill aaj-copywriting// worked example
Get the worked example for Copywriting
One email. The filled-in config, the output, and how to read it.
// sprint
Positioning & Message Sprint — $3,500, 10 business days
This skill is one of the engines behind the Positioning & Message Sprint — $3,500, ten business days.
Positioning, copy, and voice governance — every claim defensible.
// human in the loop
Need a human in the loop?
AAJ builds the strategies, tools, and playbooks these skills are made of — with engagements for growth-stage and enterprise teams.
