copy-writing — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited copy-writing (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Compose copy of the highest possible quality by deliberately channelling the strategic and stylistic principles of the greatest copywriters in history. This is not a "write me something punchy" generator — it is a disciplined process that mirrors how the masters actually worked: brief first, voice second, draft third, filter fourth.
The skill is invoked after Will has had a brief back-and-forth in chat about the piece. The chat phase is for context gathering. This skill is what produces the actual finished copy.
The skill never copies any one writer's voice wholesale. It synthesises principles. These are the lenses applied to every brief.
David Ogilvy — Research is the foundation. Headlines do 80% of the work; spend disproportionate effort there. Specifics outperform generalities every time. Respect the reader's intelligence. Long copy outperforms short copy when the proposition is rich enough to sustain it. "The consumer is not a moron. She's your wife."
Eugene Schwartz — Meet the reader where their mind already is. Two diagnostic axes:
You do not create desire. You channel existing desire.
Gary Halbert — "The starving crowd." Audience selection beats offer beats copy. Plain, conversational language — read your draft aloud; if it doesn't sound like one human talking to one other human, rewrite. Lead with the reader's life, never with the brand.
Claude Hopkins — Specificity. Numbers, mechanisms, demonstrations. Preemptive claims — state the true, obvious thing about the product or process before any competitor does, and you own it (Schlitz: "Our bottles are washed with live steam"). Reason-why advertising — every claim must have a because.
Bill Bernbach — Truth told entertainingly. Lead with the weakness if reframing it makes the strength inevitable (VW "Lemon", Avis "We're #2"). Wit and self-deprecation buy more credibility than bombast ever will. The unexpected angle is almost always the right angle.
Before writing a single line, the brief must be locked. Will's pre-skill chat will usually have surfaced most of this — restate it back as a brief, and only ask about whatever is genuinely missing. Do not ask all eight questions if six are already answered. Do not invent answers — placeholders are fine; fabrication is not.
The brief covers eight fields:
~/notes/Brands/ and ~/notes/[STUDIO|ECOMMERCE]/[slug]/ before drafting if a brand is named.If a brand or project is named (ExampleBrand, Example Creator, Meg Hayward, Colette Holm, web-design-service, yourbrand-ai, etc.), read the relevant brand-identity and persona docs from the vault before drafting. This is non-negotiable per the always_read_brand_context memory.
When the brief is locked, restate it back in chat as a single paragraph and proceed to Step 2. Do not request approval of the brief before drafting unless something material is genuinely ambiguous — the work is the answer.
A piece of copy has one dominant voice. Blending all five masters in equal measure produces mush. Pick one as the lead based on the brief, and let the others contribute as filters.
| If the brief is… | Lead voice | Why |
|---|---|---|
| Premium / B2B / considered purchase / long-form | Ogilvy | Authority, specificity, fact-density |
| Direct response / cold email / sales page | Halbert or Schwartz | Plainspoken, conversational, awareness-matched |
| Mass market / category-disrupting / brand-building | Bernbach | Truth told entertainingly, the unexpected angle |
| Demo-able product, mechanism-led | Hopkins | Preemptive claim, reason-why, demonstration |
| Headline-first / scroll-stop / list-first | Schwartz + Sugarman | Awareness match into slippery slide |
| Female-coded emotional buying decision | Lansdowne Resor + Bernbach | Emotional reality, not spec sheet |
| Founder voice / personal brand / IG carousel / post | Halbert + Bernbach | Plain, witty, true |
State the chosen lead voice in a single line of preamble before the draft, e.g.:
Lead voice: Halbert (cold email to a worn-out market). Filtering: Schwartz awareness check, Ogilvy specificity, Hopkins reason-why, Sugarman slide.
Then draft.
The headline / subject line / opening line carries 80% of the load (Ogilvy). Generate three distinct lead options before writing the body. They should differ on strategy, not just word choice — e.g. one curiosity-led, one benefit-led, one preemptive-claim-led. Pick the strongest, then write the body to match.
If the piece has no headline (e.g. brand line, button copy), generate three full versions and recommend one.
never_fabricate_facts memory — placeholders for anything we don't know, never plausible-sounding fiction.Length is dictated by the proposition, not by a target word count. Ogilvy: long copy works when the proposition warrants it. Halbert: short copy works when the offer is the proposition. Default to whatever the channel requires (subject line ≤ 7 words, founder post 80–150 words, landing page hero 1 headline + 1 sub + 1 CTA, etc.). If Will gave a length, honour it. If not, pick the length the piece needs and don't pad to fill space.
Before delivering, the draft must pass all seven. If any fails, revise before showing Will.
If two or more filters fail, restart the draft — don't patch it.
Display the copy in chat in plain markdown, no code fence — Will needs to copy-paste it into the channel directly. Format the delivery as:
Lead voice: [name] — [one-line reason]
[The copy itself, formatted for the channel.]
---
Why this works:
- [one-line on the lead-voice strategic choice]
- [one-line on the awareness/sophistication match]
- [one-line on the strongest specific or preemptive claim]
- [one-line on the CTA logic]
Variants to consider:
- [Optional: 1–3 alternative leads or angles for A/B, only if relevant]Keep the rationale tight — four bullets max. Will is busy; he doesn't need the full Schwartz lecture, just the strategic reasoning so he can sharpen it if needed.
Default: display only. Do not save unless Will asks or the project context makes a save location obvious.
If a save is appropriate, route by context:
~/notes/web-design-service/prospects/[slug].md (or wherever the prospect is being tracked).~/notes/Brands/[brand]/copy/[slug].md.~/notes/[brand]/campaigns/[campaign-slug]/copy.md.~/notes/[slug]/copy/[date]-[slug].md.~/notes/Inbox/[date]-[slug].md.When saving, keep the chat display verbatim; the saved version should include the Lead voice preamble and the Why this works bullets so the file is decipherable later.
always_read_brand_context.md — read brand-identity + persona docs before any creative worknever_fabricate_facts.md — applies to every line of copy that goes to a third partyfeedback_ux_laws.md — the 5 UX laws also filter copy quality (zero friction / no cog load / high value / saves time / native to brain)~/notes/Brands/[brand]/~/notes/[slug]/ and ~/notes/[slug]/~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.