All skills

copywriting (coreyhaines31/marketingskills)

coreyhaines31 copywriting: no measurable gain on copy tasks with a fact sheet (everything scored 5/5), about 1.5x the tokens

SituationalSafe

24.0 / 30

Lift over no skill: +0.00

Situational: the lift +0.00 is under +1.0. Recommended needs a total of 22/30, output quality of 3.5, and a lift of +1.0.

SOTA

Pass

Tested with Codex.

Covers Codex, Claude Code

Codex CLI 0.166 (SOTA tier): 18 graded runs. A pass here also covers Claude Code under our tier rule; it says nothing about the second tier.

Scores

Each dimension is 0 to 5 and the six add up to the total out of 30. 5 is better on every dimension. Cost 5 means cheap and fast. Install 5 means easy.

Trigger reliability
5.0
Lift over no skill
2.0
Output quality
5.0
Token and time cost
3.0
Install and portability
4.0
Safety
5.0

Security review

Safe

Static scan: 0 CRITICAL / 0 HIGH / 0 MEDIUM. Manual review: Safe to run in a no-network sandbox (no findings). A clean scan does not prove a skill safe.

Install

npx skills@latest add coreyhaines31/marketingskills --skill copywriting

Source

Pinned commit: 88c79f6528a9347420e57ceb1fff9a60de651768

Tested: 2026-11-02

What we tested

  • Landing page copy from a fact sheet — Write landing page copy for Tidepool (all facts are in product.md; use only those). Include: hero headline + subhead + CTA, three benefit blocks, three FAQ items. Save it to copy.md. Max 300 words.
  • Short-form ad variations — Write 3 Facebook ad variations for Tidepool using only facts in product.md. For each give 'Primary text:' (max 125 characters) and 'Headline:' (max 40 characters) lines. Save to ads.md.
  • Rewrite bland copy — Rewrite the paragraph in bland.txt as a sharper hero section (headline, subhead, CTA) for busy office workers. Use only facts from product.md. Save to hero.md, max 90 words.

Pros

  • The skill was picked up without being named: Skill file read in 6/6 treatment runs.
  • High absolute quality with the skill: 5.0 out of 5.

Cons

  • No measurable lift over no skill (+0.00, inside the noise).
  • A one-sentence prompt scored 5.0, against 5.0 with the skill (+0.00).
  • The control already scores 5.0: a ceiling effect, so the test cannot show a lift.
  • n=2 per task per arm; differences under about 1 point are noise.

Review

Codex CLI 0.166 (gpt-6-astra, low reasoning) on a Mac test machine, a fresh temporary project and temporary HOME/TMPDIR/caches per run, skill installed (treatment) or absent (control) or absent with the skill's core requirement squeezed into one sentence appended to the prompt (one-liner group), 2 runs per group per task, network off, /tmp writes blocked. The prompts never mention the skill (except the wording noted below). Each task gives the agent a short fact sheet (product.md, a fictional seaweed-snack subscription called Tidepool) and tells it to use only those facts. The skill's 'ask for context first' step was answered by the prompt.

Three-arm comparison

ArmMean score (0-5)Tokens per run
Without the skill5.063k
One-sentence prompt5.068k
With the skill5.093k

Measured with Codex CLI over 18 runs, scored by rule-based checks with no LLM judge. Total 24.0 / 30, verdict Situational.

Verdict: Situational (24.0 / 30). Source: coreyhaines31/marketingskills, skills/copywriting, pinned at commit 88c79f6. Install: npx skills@latest add coreyhaines31/marketingskills --skill copywriting. Licence: MIT (repo LICENSE).

What it is

The copywriting skill (v2.3.2) from coreyhaines31/marketingskills: a conversion-copywriting playbook. Before writing it looks for a product-marketing context file, then diagnoses the input (blank brief, existing voice, point edit); principles (clarity, benefits over features, specificity, one CTA), page-section structures, rules against AI tells ('it's not X, it's Y' reveals, 'no X, no Y, no Z' lists), supportable claims only. Three reference files (copy frameworks, AI tells, natural transitions) and an evals file. Markdown only. It triggers on 'write copy', 'rewrite this page', 'sounds like AI' and similar.

How we tested

Codex CLI 0.166 (gpt-6-astra, low reasoning) on a Mac test machine, a fresh temporary project and temporary HOME/TMPDIR/caches per run, skill installed (treatment) or absent (control) or absent with the skill's core requirement squeezed into one sentence appended to the prompt (one-liner group), 2 runs per group per task, network off, /tmp writes blocked. The prompts never mention the skill (except the wording noted below).

Each task gives the agent a short fact sheet (product.md, a fictional seaweed-snack subscription called Tidepool) and tells it to use only those facts. The skill's 'ask for context first' step was answered by the prompt.

  1. Landing page copy from a fact sheet — Write landing page copy for Tidepool (all facts are in product.md; use only those). Include: hero headline + subhead + CTA, three benefit blocks, three FAQ items. Save it to copy.md. Max 300 words.
  2. Short-form ad variations — Write 3 Facebook ad variations for Tidepool using only facts in product.md. For each give 'Primary text:' (max 125 characters) and 'Headline:' (max 40 characters) lines. Save to ads.md.
  3. Rewrite bland copy — Rewrite the paragraph in bland.txt as a sharper hero section (headline, subhead, CTA) for busy office workers. Use only facts from product.md. Save to hero.md, max 90 words.

Scoring is programmatic (hidden tests / planted-issue recall / constraint checks / render+OCR where relevant), 0–5 per run. No LLM judge decided any score.

Results

The one-liner given to the third group: "Write clear, specific, benefit-led copy with one primary call to action, use only facts you were given, avoid AI tell-tale patterns ("it's not X, it's Y", "no X, no Y, no Z" lists), and respect every length limit exactly."

TaskControl scoreOne-linerWith skillControl tokensOne-liner tokensWith-skill tokensSkill read
t1-landing5.05.05.060k60k84k2/2
t2-ads5.05.05.068k84k109k2/2
t3-rewrite5.05.05.060k60k84k2/2

Mean score: 5.0 without vs 5.0 with the skill (delta +0.0). Tokens per run: 63k vs 93k (1.48x); time 25s vs 29s. One-liner group: 5.0 (the skill's gain over the one-liner: +0.0; one-liner's own gain over no skill: +0.0); one-liner tokens 68k per run, so the skill costs 1.36x the one-liner.

What happened

  • Every run in every group scored 5/5: all 18 runs were within the word and length limits, contained no invented numbers or claims, no banned buzzwords and none of the AI-tell patterns we check for ('it's not X, it's Y', 'no X, no Y, no Z'). With scores at the ceiling the test cannot show a quality gain; it shows the skill did not hurt.
  • Reading the outputs, the three groups look alike: a headline built on the crunch/desk-drawer angle, three benefit blocks, a three-item FAQ copied from the fact sheet. We could not rank them by eye either.
  • The skill was read in 6/6 treatment runs, so triggering works from the description alone (no prompt mentioned it).
  • Cost: 93k tokens per run against 63k without the skill (1.48x) and 68k with the one-sentence version of its rules (1.36x); 7.7 commands against 5.7.

Dimension scores

DimensionScoreWhy
1_output_quality5.0

Mean score 5.00/5 with the skill (programmatic checks, see per-task table).

2_lift_vs_no_skill2.0

+0.00 points vs 5.00 without the skill (n=2 per task; under ~1 point is noise).

3_trigger5.0Skill file read in 6/6 treatment runs.
4_instructions_portability4

Plain Markdown; expects an optional product-marketing context file and refers to sibling skills (emails, popups, copy-editing) that may not be installed.

5_efficiency31.48x tokens (93k vs 63k per run) and 1.15x time (29s vs 25s).
6_safety_hygiene5

Markdown plus an evals.json of test prompts; no scripts, no network access.

Limits of this test

  • A ceiling effect: with a fact sheet and an explicit 'use only these facts' instruction, plain Codex already writes clean, claim-free copy. The skill is designed for harder inputs (a blank brief, existing brand voice, competitive positioning, long pages); we did not test those.
  • Taste, voice and conversion are not measured; the checks only catch banned words, AI-tell patterns, invented numbers and length limits.
  • The skill's context file (.agents/product-marketing.md) and sibling skills (emails, popups, copy-editing) were not installed.
  • n = 2 per group per task: differences under about 1 point are noise.
  • Rule-based scoring measures what the checks can see; it cannot judge taste or whether a result is the best possible.

Security

See security.md. Scan: 0 CRITICAL / 0 HIGH / 0 MEDIUM. Verdict: safe to run (no-network sandbox). A clean scan does not prove a skill safe.

Bottom line

On fact-sheet copy tasks the skill changed nothing we can measure: the agent already avoids buzzwords, invented numbers and AI tells when told to use only given facts, and the skill adds about 1.5x tokens. It may help on blank-brief or voice-matching work, which this test did not cover, so it is a low-cost keep rather than a clear win.

Transcript

Run log for copywriting: Codex CLI, network off, per-run temp HOME/TMPDIR, one row per graded run.
Columns: task, arm-run, score (0-5), tokens, seconds, checks passed, skill files the agent opened.

t1-landing control-1: score 5.0, tokens 60464, secs 31.6, checks 5/5, opened nothing
t1-landing control-2: score 5.0, tokens 60376, secs 24.8, checks 5/5, opened nothing
t1-landing oneliner-1: score 5.0, tokens 60741, secs 27.3, checks 5/5, opened nothing
t1-landing oneliner-2: score 5.0, tokens 60611, secs 23.1, checks 5/5, opened nothing
t1-landing treatment-1: score 5.0, tokens 84486, secs 32.4, checks 5/5, opened copywriting
t1-landing treatment-2: score 5.0, tokens 84862, secs 27.8, checks 5/5, opened copywriting
t2-ads control-1: score 5.0, tokens 60027, secs 20.0, checks 4/4, opened nothing
t2-ads control-2: score 5.0, tokens 76120, secs 35.3, checks 4/4, opened nothing
t2-ads oneliner-1: score 5.0, tokens 76535, secs 34.1, checks 4/4, opened nothing

18 runs, 3 artifacts

Sample output

SOTA · With the skill: copy.md (t1-landing, run 1, Codex)

# Bring seaweed crunch to your desk Tidepool delivers 12 single-serve packs of roasted seaweed snacks each month. Get three flavors in every $14 box, with free shipping. **CTA: Subscribe for $14 a box** ## Keep a pack at your desk Reach for roasted seaweed when you want something crunchy during the workday. Each box has 12 individually portioned packs to tuck into your desk drawer or work bag. ## Give your snack break some variety Every box includes three flavors from a rotation of Sea Salt, Sesame, Wasabi, and Chili Lime. Open a different flavor when you feel like a change. ## Take a month off when you need to Skip or cancel any month from your account page. Your monthly seaweed subscription comes with no contracts. ## FAQ ### How much does a box cost? Each monthly box costs $14 and contains 12 single-serve packs in three flavors. Shipping is free on every box. ### When and where do you ship? Tidepool ships on the 1st of each month within the United States. ### Are the snacks vegan and gluten-free? Yes. Tidepool snacks are vegan and gluten-free. Ingredients include seaweed, sea salt, sesame oil, and flavor seasoning.

See Pro