johnny-suede-write — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited johnny-suede-write (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.
The writing enchilada. Route any writing request through one skill: long-form, short-form, GitHub and docs, social, email, product listing copy, brand-voice alignment, and ambassador talk-tracks. Default voice is the Suede house voice. A supplied company brief overrides everything.
Write copy that earns its place on the page: concrete nouns, buyer-visible outcomes, real proof, one primary action. Nothing decorative.
Read the request, then pick the lane. Most jobs are one lane; some chain.
| You want to... | Lane |
|---|---|
| Write or rewrite any copy surface from scratch | Write Modes (below) — pick the mode |
| Generate headlines, CTAs, or email subjects | Headline Formulas / CTA Formulas / Variant Protocol |
| Tune existing copy to sound like Suede, not generic AI | Brand-Voice Alignment lane |
| Hand an ambassador words to explain Suede to someone else | Ambassador Talk-Track lane |
| Audit/review existing copy and return findings + score | Copy Audit output shape |
| Do a metadata/structure/copy-quality SEO pass alongside copy | SEO And GitHub Copy + SEO Audit Mode |
Cross-lane jobs (e.g. "rewrite the homepage, retune it to our voice, and give me social variants") run sequentially with shared context: write the surface, run Brand-Voice Alignment on it, then spin variants. State the chain you ran.
If the request is a full standalone SEO/AEO audit with a scored report, a landing-page-to-conversion-engine transform, an A-F page grade, a design push toward a reference URL, or a code grade/review, those live in dedicated skills outside this writing enchilada ($suede-seo-audit, $suede-site-alchemy, $suede-visibility-grader, $suede-design, $suede-code-grader, $suede-code-review, $suede-agent-teams, or $suedify _(private Suede Labs skill — not included in this pack)_). Route there and pass full context; do not reimplement them here. This skill owns the writing.
If a job is large or risky enough to run as a coordinated agent team (for example a full launch package spanning many surfaces, or a writing job chained with audits and reviews across several skills), ask the user up front before spawning anything: "Run this as a multi-agent team (more thorough) or single-agent?" Never silently spawn a fleet. Note plainly that multi-agent mode may use slightly more tokens than most. For a single writing surface, just write it — no need to ask.
Identify the mode before writing. Each mode has a different structure, length, and proof requirement. State the chosen mode in the output header.
Long-form (blog post, case study, whitepaper, README, docs page, product listing description)
Short-form (tagline, hero headline, CTA, product description, social caption, onboarding screen)
GitHub / Docs (README, SKILL.md, API docs, changelog, contributing guide)
Social (Twitter/X, LinkedIn, Instagram, Discord, launch post)
Email / DM (cold outreach, launch email, nurture, ambassador brief)
Read any available context files before asking questions: PRODUCT.md, README.md, AGENTS.md, AI_HANDOFF.md, DESIGN.md, product marketing or brand notes, task-specific docs.
If context is missing after reading, ask only for what blocks accurate copy:
Supply a brief and all writing, voice, SEO, copy, and claim logic applies to your company. A supplied brief overrides the Suede default everywhere. Use natural language or this form:
Company:
Product or offer:
Audience:
Category:
Voice:
Terms to use:
Terms to avoid:
Proof:
Allowed claims:
Forbidden claims:
Primary CTA:
Reference URLs:
Assets or brand rules:When a company override is active: replace Suede positioning with the user's company, category, audience, proof, and vocabulary. Keep the full workflow intact. Map Suede-native concepts to the user's domain only when they fit. Rename Cue Suede to Cue <Company> in final feedback.
Name the outcome, not the feature.
Write buttons as actions with a result.
Replace vague claims with artifacts.
No invented proof. Do not write stats, testimonials, partner names, pricing, or legal clearance that has not been confirmed. If proof is unavailable, write around the gap or flag it for the human to supply.
No em dashes in public copy. No exclamation points. No rhetorical questions that answer themselves.
Match framework to surface and reader temperature. State the chosen framework and reader temperature before drafting. If multiple could apply, pick one and note why.
Generate 3 headline candidates minimum for any hero or email subject. Pick the formula that matches the reader's state and the page's job.
| # | Formula | Structure | Example |
|---|---|---|---|
| 1 | Curiosity gap | [Intriguing partial claim] | "Most release folders fail the first licensing check. Here's why." |
| 2 | Number-led specificity | [#] [specific thing] [timeframe/condition] | "12 rights fields missing from your release. Suede finds them in 60 seconds." |
| 3 | How-to outcome | How to [achieve outcome] [without/with condition] | "How to package a release folder that licensing teams can actually use" |
| 4 | Because | [Result] because [mechanism] | "Agents can read your music rights because Suede structures the provenance first." |
| 5 | Specificity anchor | [Exact number or name] + [claim] | "47 fields. One linter. No guessing." |
| 6 | Before-After | [Before state] → [After state] | "Scattered files and a split sheet in a Google Doc → a machine-readable rights package" |
| 7 | Question (real, not rhetorical) | [Question reader actually asks] | "What does a licensing team check before they sign?" |
| 8 | Objection flip | [Common objection] + [reframe] | "Rights metadata sounds like legal work. It's a 10-minute audit." |
| 9 | If-then conditional | If [specific situation], then [specific outcome] | "If your release goes to a sync library, this is the metadata they'll reject first." |
| 10 | Direct claim with proof hook | [Bold claim] + [verifiable detail] | "Suede reads your folder. You get ISRC, split, and flags before you pitch." |
| 11 | Problem named exactly | [Specific failure mode the reader fears] | "Your ISRC is assigned. Your split sheet is a PDF. Neither is machine-readable." |
| 12 | Authority + specificity | [Who trusts this] + [for what exact task] | "The metadata structure sync licensing teams check on day one." |
Test: swap your product name for a competitor's. If the headline still works, it is not specific enough.
State the persona before writing. It changes vocabulary, proof type, and CTA framing. If multiple personas share a page, write the hero for the decision-maker and include practitioner proof in the secondary section.
Decision-maker (exec, founder, buyer, investor)
Practitioner (developer, designer, operator, creator)
Skeptic (comparison shopper, previously burned, evaluating an alternative)
Creator / end-user (non-technical)
Default to practitioner for GitHub/docs copy, decision-maker for sales/landing pages, and skeptic for competitive or comparison copy.
For a page, README, or docs surface, build this spine. For a small section, use only the pieces that fit.
For any headline, CTA, subject line, or hero copy: generate 3 variants by default unless the user specifies otherwise. Label each variant, state which axis it targets, and recommend one. Let the user pick rather than guessing.
Variant axes:
For high-stakes copy, always generate variants:
Headlines — 3 variants, different angles:
CTAs — 2 variants minimum. See CTA Formulas.
Email subjects — 3 variants:
CTAs fail when they describe the button, not the outcome. Every CTA answers: "What happens the moment I click this?"
Formula A: Verb + immediate result — [Action verb] + [what they get or see right now]
Formula B: Verb + object + benefit — [Verb] + [specific object] + [value unlocked]
Formula C: Low-commitment framing (skeptic / discovery stage) — [Passive discovery verb] + [what they'll see, not what they'll do]
Formula D: Stakes-aware framing (decision-maker) — [Verb] + [outcome in their language]
Anti-patterns to cut: "Get started" (started what?); "Learn more" (more about what?); "Sign up" (for what, exactly?); "Try for free" without naming what they're trying; any CTA with an exclamation point.
The 3-word test: describe what happens after clicking in 3 words. If you cannot, the CTA is too vague.
Subject lines win opens on three mechanics: curiosity, self-interest, or specificity. Pick one per line. Write the subject last.
Curiosity: "[Specific thing most people miss]" · "The [category] rule that [counterintuitive result]" · "What happens when [specific scenario]" Self-interest: "[Outcome] in [time] without [obstacle]" · "How [audience segment] [achieved result]" · "Your [specific thing] is [state]. Here's the fix." Specificity anchor: "[#] [specific mistakes/fields/steps] in your [thing]" · "[Exact name of thing]: [what it becomes]" Avoid: rhetorical questions ("Are you ready to take your music to the next level?"); all-caps words; "Re:" faking a reply thread; emojis in subject lines for B2B or technical audiences.
A second subject line. Add information, don't echo the subject.
Keep preview text under 90 characters. If the client truncates at 40, the first 40 must stand alone.
Hook (1-2 sentences): Name the problem or opportunity at the exact moment the reader is experiencing it.
Proof or evidence (2-4 sentences): Specific, not general. One example beats three claims.
Bridge (1 sentence): Connect the proof to the offer.
CTA (1 sentence + link): One action, one link. No secondary options in the primary CTA block.
P.S. (optional): Use for a single secondary offer or a time constraint. Not both.Hook line (first 2 lines before "see more"): The hook is the post. If the first two lines do not earn the click to expand, the rest does not matter.
Post structure:
[Hook: one specific claim, observation, or question]
[2-4 line break]
[Insight or story: 3-6 short paragraphs, one idea each]
[Takeaway: what the reader does with this]
[CTA: one, low-friction. "What's your experience?" or a link, not both]Formatting: short paragraphs (1-2 sentences max); no bullet lists longer than 5 items; one link max (in comments if the algo penalizes in-post links); 1-2 targeted hashtags max, at the end.
Standalone tweet: [Specific observation or fact] + [one implication or action] — max 240 characters. If it reads like a self-contained thought from someone who knows something, it is working.
Thread opener:
[Bold specific claim]
[Thread: number + what the reader gets]
"Here's how it works, step by step:"The opener must be the strongest tweet in the thread. Do not save the best point for tweet 5.
Reply to trend or news:
[Acknowledge the news in 1 sentence]
[Specific take from your vantage point]
[Optional: link to your related resource]Product / feature reveal:
[Name what it does in one sentence (the hook)]
[Why that matters for this specific audience]
[One specific proof point or use case]
[CTA in bio or link sticker]Behind-the-scenes / process:
[Name the specific moment or decision shown]
[What you learned or chose and why]
[Invitation: "What would you have done?"]Testimonial / social proof:
[Lead with the result, not the quote]
[Quote or paraphrase the proof]
[Bridge to your offer]
[CTA]Caption rules: first line must read as a complete thought (IG shows 1-2 lines before "more"); hashtags in the first comment or at the end after a line break, never inside body copy; no more than 10 hashtags per post.
Use this register: confident, not breathless; technical enough for builders; clear enough for creators; polished, not corporate; specific, not cute; operator-grade, not brochure-grade.
Good Suede copy names what the reader controls: register a work, verify rights, route royalties, publish a claim, package a release folder, prepare licensing evidence, make a work readable to agents, compare provenance, ship a public skill page.
For Suede work, anchor public language in creator ownership, programmable IP, provenance, registry-backed media, royalty routing, licensing readiness, and agent commerce. Do not reduce Suede to a generic AI music app. (For non-Suede work, supply the equivalent domain vocabulary in the company brief.)
Use this lane to tune existing copy to the house voice without flattening it into generic AI product language. This is editing, not greenfield writing.
Voice rules:
Edit pass:
Line-edit rules:
Output of this lane: the revised copy only, plus any claims that need verification. Do not append the full workflow scaffolding unless asked.
Use this lane when an ambassador needs words to explain Suede to someone else — not to audit public copy or fix a failing install. Hype-free, claim-safe, outcome-first. Use "explain" language, not "pitch" language.
Explain:
Formats:
One-liner:
DM:
Post:
Email:
FAQ answer:
Install explanation:
Claim boundary:Discoverability is not optional. Every output gets an SEO title, meta description, H1, answer-ready summary, and FAQ candidates unless the format makes them impossible (DM copy, one-liner CTA). Run the full pass by default; skip only what the format cannot hold and state what was skipped and why.
For GitHub repositories, skill docs, and Pages sites, treat SEO as the umbrella for search, AEO, and AI EO. Include:
<!-- Suede defaults. Replace with the equivalent for non-Suede work. --> Suede durable keywords: Suede Creator Skills, Suede Rights Passport, Suede Release Linter, Suedify, Suede Copy, AI EO, AEO, answer engine optimization, Codex skills, Claude Code skills, SKILL.md, music rights, creator rights, release readiness, provenance, royalty splits, licensing readiness, programmable IP, agent commerce, GitHub Pages.
Use keywords because they help the right reader find the page. Do not cram a keyword where a human would notice.
For a deep, standalone SEO audit (technical access, keyword research, schema markup, E-E-A-T signals, topic cluster architecture, AI EO optimization, and scored visibility grades), route to $suede-seo-audit.
When the copy workflow includes an SEO pass (metadata, structure, or copy quality only):
Run this as a line-edit gate before delivery, not a vibe check.
Make these swaps. Non-negotiable.
| Cut | Replace with |
|---|---|
| utilize | use |
| leverage (as verb) | use, apply, run |
| seamless | remove or prove it: "no export step", "one command" |
| powerful | prove it: "processes 10k records in 4 seconds" |
| innovative | cut; name the innovation instead |
| revolutionary | cut entirely |
| game-changing | cut entirely |
| solution | name what it actually does |
| ecosystem | platform, system, toolchain (pick the accurate one) |
| empower | cut; say what the person now controls |
| unlock | cut; say what was blocked and is now accessible |
| streamline | speed up, cut the step, reduce from X to Y |
| intuitive | cut; prove it with a UX detail |
| robust | cut; name the specific capability |
| best-in-class | cut; or supply the benchmark |
| next-generation | cut; name what changed |
| cutting-edge | cut entirely |
| world-class | cut; or name the credential |
| end-to-end | name the actual start and end |
| holistic | cut; describe the scope instead |
| scalable | prove it: "handles X at Y load" |
| simple / simply / just / easy | cut or prove it with a step count |
| we believe / we think | cut; make the assertion directly |
| in order to | to |
| due to the fact that | because |
| at this point in time | now |
| going forward | cut; state the new behavior directly |
| synergy / synergistic | cut entirely |
| value-add | name the value |
| best practices | name the practice |
Aim for Flesch-Kincaid Grade Level 8-10 for B2B general audiences, Grade 6-8 for consumer audiences and onboarding, Grade 10-14 for technical/developer audiences where precision requires complexity. Average sentence length under 18 words for consumer; under 22 words for B2B. Flag paragraphs over 4 sentences.
Rewrite: binary setup lines; negative listing that defines the product by what it is not; formulaic "not X, but Y" pivots; false transformation arcs; dramatic fragments; rhetorical questions that answer themselves; three-item cadence when two items work; repeated punchy paragraph endings; Wh-starter crutches when a direct actor and verb work better.
Name who does the action. Prefer the creator, operator, buyer, agent, page, repo, workflow, file, command, route, or proof artifact.
The page converts traffic. → Better: The page routes visitors to the audit, the proof link, or the build request.The market rewards provenance. → Better: Licensing teams can inspect the provenance trail before they ask for the split sheet.always, never, everything, nothing unless the claim is literally true.If a line sounds manufactured for a quote card, rewrite it with a real artifact, action, or proof point.
The future of creator ownership is here. → Better: Suede turns a release folder into rights, provenance, split, and licensing evidence an agent can read.We're changing how music rights work. → Better: Paste a folder path. Suede returns your ISRC status, missing fields, and a split-ready JSON file.Built for the next generation of creators. → Better: A sync licensing team can open your release folder and read every rights claim without calling you.This skill organizes and prepares copy. It does not clear rights, confirm ownership, approve payouts, write to a registry, or guarantee outcomes. No competitor product names anywhere.
Allowed: founder-supplied facts, verifiable product behavior, documented integrations, public links, reproducible commands.
Remove: payout amounts not in a live contract, registry write times not benchmarked, rankings without a dated source, partner logos without a live integration, feature availability not yet shipped, any implication of legal clearance, payout approval, distribution, private service access, or guaranteed results.
When a claim is borderline, rewrite it as a testable behavior ("X happens when you do Y") rather than a superlative ("the fastest / the only / the first"). Add a claim boundary whenever rights, money, registry, or release language appears.
For a page, docs surface, or launch asset:
Register: [founder / product / docs / ambassador / operator]
Persona mode: [decision-maker / practitioner / skeptic / creator]
Write mode: [long-form / short-form / GitHub-Docs / social / email]
Persuasion framework: [AIDA / PAS / Before-After-Bridge / JTBD / StoryBrand]
Title:
Meta description:
H1:
Subhead:
Primary CTA:
Sections:
FAQ:
Answer-ready summary:
Final CTA:
Claim boundaries:For social, email, or ambassador copy:
Register:
Persona mode:
Main copy:
Short version:
CTA:
Proof links:
Subject variants (email): [3 options]
Claim boundaries:For a copy audit:
Findings:
Rewrites:
SEO/AEO/AI EO upgrades:
CTA upgrades:
Claims to preserve:
Claims to avoid:
Copy score:
Ship gate: ship | ship-with-caveats | holdFor GitHub skill copy:
Skill:
One-line description:
Reader:
Primary action:
Repo/Docs copy:
Install CTA:
SEO title:
Meta description:
Keywords:
Safety boundary:Score every public output before handoff. Revise anything below 58/70. Public launch, homepage, product listing, GitHub, investor-adjacent, and ambassador copy must reach 62/70. State the score and the two lowest dimensions; fix those first.
Directness: /10
Rhythm: /10
Trust: /10
Specificity: /10
Authenticity: /10
Density: /10
Search/AI readability: /10
Total: /70
Two lowest dimensions: [name them]
Revised: yes / noDo not ship copy when:
At the end of meaningful work, end with the simple explanation, then the breakdown.
Simple explanation (plain, for a 10-year-old):
[One plain paragraph a 10-year-old can follow: what you wrote, who it's for, and what it now gets them to do. No jargon.]
Changed:
Verification:
Caveats:
Status:
Cue Suede:
1. Revise something — tell me what to change and I will adjust it.
2. Preserve something — tell me what worked so I can match it.
3. Accept as-is — say nothing and I will treat it as approved.End with the exact copy, not a long explanation of the copy.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.