Ad Copy Writer
Write ad copy, marketing copy, product copy, headline variants, CTA variants, and promotional messaging that are concise, persuasive, and channel-aware. Use this skill when the user wants to draft, rewrite, or polish persuasive copy for ads, landing pages, launches, or campaigns.
Prerequisites
WERYAI_API_KEYmust be set before calling the API.- Node.js
>=18is required because the runtime uses built-infetch. - Real runs use the WeryAI chat completion API and may consume credits.
Example Prompts
Write 5 ad copy variations for a productivity app launch.Turn this product brief into landing page copy with a stronger CTA.Rewrite this ad so it sounds less generic and more benefit-driven.Draft short paid social copy for a skincare product in English.
Quick Summary
- Main jobs:
ad copy writing,marketing copy,landing page copy,headline variants,cta variants,promotional rewrite - Default model:
GPT_5_4 - Main optional controls:
product,brand,audience,tone,format,cta,keywords,mustInclude,avoid - Main trust signals: dry-run support, model lookup, channel-aware preset, direct copy-ready output
Workflow
- Capture the product, offer, audience, channel, tone, and desired call to action.
- If the user wants a specific ad shape such as headline set, landing page copy, CTA variants, or paid social copy, read references/domain.md and match the closest pattern.
- Ask only for the smallest missing detail needed to write persuasive copy.
- Use
--dry-runfirst when you want to inspect the final payload. - Run
node {baseDir}/scripts/write.js --json '...'and return the final copy directly.
Commands
# List available chat models
node {baseDir}/scripts/models.js
# Write ad copy
node {baseDir}/scripts/write.js --json '{
"prompt":"Write 5 ad copy variations for a productivity app launch",
"product":"AI productivity app",
"audience":"busy professionals",
"format":"paid social ad",
"cta":"Start free trial"
}'
# Rewrite marketing copy without calling the API
node {baseDir}/scripts/write.js --json '{
"prompt":"Rewrite this ad so it feels sharper and more benefit-driven",
"sourceText":"...",
"product":"skincare serum",
"tone":"premium but clear"
}' --dry-run
Definition of Done
- The final output reads like persuasive copy rather than a memo or explanation.
- The wording matches the requested channel, audience, and CTA closely enough to use as a draft.
- If the user asked for variations, the output clearly separates them.
When Not to Use
- Do not use this for long-form articles or blog posts.
- Do not use this for pure translation without copy adaptation; use
copy-translatorinstead. - Do not use this for general brainstorming with no copy deliverable.
Re-run Behavior
- Re-running
write.jscreates fresh copy variations and may consume additional credits. - Re-running
write.js --dry-runis safe and does not call the API. - Re-running
models.jsis safe and only refreshes the available chat model list.
Resources
- Ad copy patterns and channel guidance: references/domain.md