How to use
- Copy the installation command and review the source package before installing it in your own agent environment.
- Check the source document for required tools, credentials and supported hosts.
- Describe your input and desired deliverable; review the output against the source material.
npx skills add https://github.com/jeffabailey/skills-writing --skill write-copyBefore you start
- Installation does not include a model subscription, API allowance or permission to access your files.
- Repository stars and installation counts describe activity, not an independent quality or security test.
Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.
Marketing Copy
Also invoked as /write:landing-page-copy (that skill was merged into this one).
Copy persuades only if readers believe it, and one invented testimonial or fake deadline costs that belief. So this skill gets the facts first, writes only from them, and lists what is missing instead of filling the gap.
Prompts
| Prompt | Use for | File |
|---|---|---|
| Landing page | Landing, sales, or product pages: headline, hook, body sections, CTA. Uses ideas from the "48 Laws of Power" behind the scenes | references/landing-page-copy.md |
| Short copy | Button label, CTA line, headline, tagline, email, ad, social post | references/short-copy.md |
Pick by format. A request for a button and an email is short copy even if it says "CTA"; do not run the landing-page prompt for it. If the user wants both a page and a short piece, run each prompt.
Workflow
- Collect the facts -- Before drafting anything, read the fact sources: the README, docs, or site pages the user names; otherwise the repo in the working directory (README, package or plugin manifest, LICENSE) or the user's brief. Write a short fact sheet: product, what it does, price or license, audience, the exact action (install command, URL, signup step), and any real proof (quotes the user supplied, published numbers) or real limits (dates, seat caps). Each item notes where it came from. Copy may state only what is on this sheet or in the user's message.
- Fill the prompt fields -- The prompts use bare
{{field}}placeholders. Pre-fill each from the fact sheet and the request, then apply these defaults:
| Field | Default when not given |
|---|---|
price_point | from the license or site; else [NEEDS FACT: price] |
competitor_analysis, social_proof, urgency_factor | none |
brand_voice | plain and direct, matching the source's tone |
research | no |
length_limit (short copy) | default (limits are in the prompt) |
format (short copy) | what the user asked for |
Ask once, in a single message, only for what you cannot find or infer, usually the audience or the action. Accept "none", "unknown", or "skip" for anything. Never block on proof, price, or urgency: missing facts become [NEEDS FACT: ...] markers and go on the needs list.
- Draft -- Follow the prompt with the filled values. Research (web search, competitor pages, reviews) stays off unless the user asks for it and web tools are available; when on, every researched claim gets a link in the appendix. The persona in the landing-page appendix is a writing aid and is labeled that way.
- Remove AI tells -- Run the
ai-sanitizeskill (jbb-skills:ai-sanitizewhen installed as a plugin, from jeffabailey/skills) in edit mode on the paste-ready copy only. Persuasive copy collects tells: "elevate", "seamless", "supercharge", "The future of...", contrast framing, triads, eyebrow labels, emoji. Replace each with a claim from the fact sheet; if none fits, delete it or flag it, never invent one. If ai-sanitize is not installed, say so in the delivery note and rely on step 5.
- Check before delivery -- Save the copy to a file and run:
python3 <skill-dir>/scripts/check_copy.py copy.md --source README.md [--limit Body=80w] [--limit Button=5w]It checks only the paste-ready part (text before the "Needs from you" or appendix heading) for emdashes, law names, buzzwords, scarcity phrases, testimonial-like quotes, numbers not found in the sources, and per-part lengths. Fix every flag, or explain in the delivery note why a flag is a false positive (for example, a number the user gave in chat). Pass the user's limits with --limit; without them, use the short-copy defaults.
- Deliver -- Three parts, in this order:
- Paste-ready copy: only what goes on the page or in the email. No law names, technique labels, editor notes, or brackets other than
[NEEDS FACT: ...]. For a landing page that becomes a page on jeffbaileyblog, set front matter perhugo/content/prompts/seo-front-matter.mdin the blog repo. - Needs from you: a checklist of every
[NEEDS FACT]plus proof worth collecting (testimonials, usage numbers, screenshots). Write "none" if empty. - Strategy appendix (landing page only; one or two lines for short copy): approach, persona, laws used and where, proof and urgency plans, sources.
Voice
Plain and specific. Use the product's own terms and the exact command or URL from the source. Use "we" when the source speaks as a company and "you" for the reader. No emdashes. Keep profanity or slang the user's own material uses; do not add any.
Reference
Copy prompts are also published at https://jeffbailey.us/prompts/; the files in references/ are the source of truth for this skill.



