View the Email Open Optimizer SKILL.md the file this guide runs on
---
name: email-open-optimizer
version: 2.1.0
description: >
Use when the user says "optimize this subject line," "check my subject line,"
"write subject lines for this email," "will anyone open this," or "before I
send this newsletter." Audits and rewrites the subject line, preview text, and
first line together, scored against your own send history rather than
generic best practice. Ships with its rules built in — nothing else to install.
---
# Email Open Optimizer v2
Audits and rewrites the three things a reader sees before she decides to open — subject line, preview text, and first line of the body — as one unit.
## The Inbox Exemption
Our ruling, 08.07.26 — **subject lines are different.** A banned-word or brand list governs body copy, not the inbox.
The line runs here.
| Surface | Banned list applies |
|---|---|
| Subject line | No |
| Preview text | No |
| First line of the body | Yes — this is body copy |
| Everything below it | Yes |
Emoji, exclamation points, questions, colons, and words your brand list bans in body copy are all available in the subject line and preview text. They are judged on whether they get the email opened, not on the list.
**Three things still hold in the inbox**, because they are facts rather than style.
- Organization and program names stay canonical and correct. Full program names, not initialisms, in outbound. (At She Leads AI — She Leads AI, never SheLeadsAI.)
- No retired names. Whatever your organization has retired stays retired everywhere. (At She Leads AI — She Adopts AI, AI Made Easy as a "beginner" offer, the retired taglines.)
- No claim the body does not deliver.
Everything else in the subject line is a performance question. Answer it from your baseline file, not from a banned list.
## Which Skill, When
- Writing an **email subject line, preview text, or first line** — this skill.
- Writing the **first line of a social post** — use `social-hook-optimizer` instead. Different surface, different baseline, never share lines between them.
## Context Required
This skill runs on its own. Everything it needs is in this folder.
- `kit-baseline-50.md` (sibling file) — the scoring baseline. **Required.** It ships with our last 50 sends as a worked example. Replace the rows with your own — export from Kit, Mailchimp, Beehiiv, or whatever you send from — keep the columns. Compare a new subject only against sends of similar list size and era. Never cite an open rate from after a delivery break until the break is diagnosed.
- `examples.md` (sibling file) — worked audits.
- The Inbox Exemption and the Still Off list below — built in, always on.
Read if you have them, skip if you don't.
- Your voice reference (at She Leads AI that is `slai-voice/voice-dna.md`) — keeps the alternatives sounding like the sender.
- Your banned-word / brand list (at She Leads AI that is `brand-enforcement/banned-items.md`, one file, includes the word swaps) — enforced on the first line and body only, never on the subject or preview.
- Your naming rules and program descriptions (at She Leads AI, `brand-enforcement/naming-rules.md` and `standards/programs/canonical-descriptions.md`) — when the email names a program.
Never stop because an optional file is missing. Say which ones you did not have and run.
## Inputs
Ask for whatever is missing before running.
- The draft subject line, if one exists
- The email body, or enough of it to know what is being promised
- Which list it goes to — the main newsletter, a second brand, a cohort, or outbound to one person
- Whether the send is a broadcast or a sequence step
If the body is not available, say so in the output and mark the promise-match check as not run. Do not infer the body from the subject.
## Steps
1. Read the baseline, whatever optional context you have, and the body.
2. Audit the current subject line across six dimensions. TIGHT — run all six, report each.
- **Who cares.** Run this first. Does the line offer the reader something, or announce something about the organization. Hires, titles, org news, and speaker names fail it. If the subject fails this, say so and stop — the email needs a different premise, and five rewrites of a dead angle waste the sender's review round.
- **Inbox truncation.** Subject reads complete in roughly the first 35–45 characters on a phone. Count the characters and say where it cuts. The longest subject in the baseline is also its worst performer.
- **Baseline comparison.** Which sends in `kit-baseline-50.md` does this most resemble, and how did those do. Compare only within the same list size and era. Say the comparison out.
- **Names.** Organization and program names canonical and correct. No retired names.
- **Audience stance.** Does it position her as already leading, or as someone who needs to start, catch up, or be reassured. This one is not a banned-word check — it is the rule we care most about and it survives the inbox exemption.
- **Promise match.** Does the body deliver what the subject says. Name the gap.
- **Spam signals.** Full-word caps, stacked punctuation, unverifiable claims. Note that stacked punctuation is a deliverability question here, not a style one — flag it as risk, not as a violation.
3. Audit the preview text and first line on the same dimensions, plus two mechanics.
- Preview text must not restate the subject. It extends the thought.
- The first line of the body must stand alone. Most clients fall back to it when preview text is empty or short, so it can never be "Hi there," a date stamp, an image alt, or a warm-up sentence.
4. Write five complete alternatives. LOOSE on the writing, TIGHT on the angle set. Each alternative is a subject line plus preview text plus first line, written together. Each uses a different angle from the approved set below. Never two of the same angle.
5. Run your brand list (if you have one) and the Still Off list on all five before showing anything. Fix everything. The user never catches a violation.
6. Recommend one, say why in a sentence, and name the one variable to test against it if the list is large enough to split.
7. Run the first-run check-in questions.
## Angles
Pick five, one each. The ranking below comes from `kit-baseline-50.md`, comparing only full-list sends before the July 26 delivery break.
**Angles that have won on this list**
- **First-person confession.** The sender states something she did or feels, specific and slightly odd. The two best performers in the baseline are both this — "I take locked settings personally" and "I hired duplicate agents, the new model caught them."
- **Short flat declarative.** Three or four words, a period, nothing else. "Closing the gap." and "Claude Girl Summer is here" both landed near the top.
- **Concrete strange detail.** A specific image from the body that sounds like nothing else in an inbox.
- **Contrarian instruction.** Telling her not to do the thing. "Don't Come to our Claude Workshop to Learn Claude" outperformed every CREATE promo subject.
**Angles that have lost on this list**
- **Event promotion by name.** Every CREATE promo subject in the baseline sits at the bottom of its era.
- **Announcement framing.** "Introducing our new…" and "Meet Our…" both underperform.
- **Long descriptive subjects.** The longest subject in the baseline is also the single worst performer.
**Still off, exemption or not**
- Anything positioning her as a beginner, behind, or in need of reassurance. The inbox exemption covers style, not stance.
- Fake personalization beyond first name.
- A promise the body does not keep.
## Output
```
SUBJECT LINE AUDIT
Current — "[exact text]" ([n] chars, cuts after "[word]" on mobile)
Truncation PASS / FLAG — [one line]
Baseline [closest comparable sends and how they did]
Names PASS / FLAG / N/A — [one line]
Audience stance PASS / FLAG — [one line]
Promise match PASS / FLAG / NOT RUN — [one line]
Spam signals PASS / FLAG — [one line]
Preview text — "[exact text]" ([n] chars)
[same six, only the lines that flag]
First line — "[exact text]"
[same six, only the lines that flag, plus the standalone check]
FIVE ALTERNATIVES
1. [Angle name]
Subject [text] ([n])
Preview [text] ([n])
First [text]
Why [one sentence]
2–5. [same shape]
RECOMMENDATION
[Which one, one sentence why.]
Test against — [the single variable to split, or "list too small to split"]
```
## Works With
Nothing here is required. The skill runs alone.
**Before this skill (if you have them)**
- A voice skill for the sender — at She Leads AI, `slai-voice`. With it, alternatives keep the sender's cadence. Without it, they are correct but flatter.
- Whatever produced the email body.
**After this skill (if you have them)**
- A brand / banned-word check — at She Leads AI, `brand-enforcement`. Run on the first line and the body only. Deliberately NOT on the subject line or preview text.
- Your sending platform.
**Sibling**
- `social-hook-optimizer` — same method, different baseline, for the feed. Never share lines between them.
**Standalone mode**
Paste a subject line and get the audit plus five alternatives. Without the body, the promise-match check reports NOT RUN and the alternatives stay generic to the topic given.
## Gotchas
I know you'll want to write a first-person line in the sender's voice because that angle wins — don't, unless the experience is in the body. "I got screened out by a bot last month" and "I have four working styles" were both invented in a single batch and the sender caught both. The confession angle only works when you are quoting something she said. Otherwise bracket it — `[I ...]` — and let her fill it.
I know you'll want to put a person's name in a broadcast subject line because naming a specific contribution sounds like the opposite of vague praise — don't. Those are two different rules and this skill conflated them once already. Naming the *recipient's* own work in 1:1 outbound earns the open. Naming a *third party* the broadcast reader has never heard of does not, and every CREATE subject in the baseline proves it. Stranger names belong in the preview text.
I know you'll want to write a subject about the news — a hire, a title, a speaker's name — don't. Apply the who-cares test before anything else. If the line announces something about She Leads AI rather than offering the reader something, no rewrite saves it. Say the email needs a different premise instead of generating five versions of the same dead angle.
I know you'll want to invent a plausible detail when the body doesn't give you one — don't. Leave a bracket. `[She is the reason your renewal email sounds human.]` is a finished deliverable; a guessed specific is a fabrication the sender has to catch. Brackets are the expected output, not an incomplete one, and they never get filled in by inference.
I know you'll want to run the banned-word check on the subject line because every other skill in a brand-governed repo does — don't. The inbox exemption is deliberate. Run it on the first line and below.
I know you'll want to extend the exemption downward once you're in it — don't. The first line of the body is body copy and the list applies there in full.
I know you'll want to treat an emoji as automatically fine now that the exemption exists — don't. It is allowed, not required. Ask whether it earns the character it costs, and check what similar sends did in the baseline.
I know you'll want to rank baseline sends by raw open rate — don't. A 100% open rate on a list of two says nothing. Compare within list size and within era.
I know you'll want to cite a post-July-26 open rate as evidence about copy — don't. Open rates halved across that break with no change in list or copy character. Nothing after it is usable as a baseline until that is diagnosed.
I know you'll want to write preview text that restates the subject because it feels safe — don't. That wastes the second line entirely. Extend the thought.
I know you'll want to start the body with "Hi friend" — don't. When preview text is short, clients pull the first line into the inbox. The greeting becomes the preview.
I know you'll want to abbreviate to save characters — don't. "AI Consulting Accelerator" never becomes "ACA" in outbound, even when the subject runs long. Cut other words.
I know you'll want to report a character count without checking where it truncates — don't. The count is not the point; the cut point is. Say which word gets lost.
I know you'll want to skip the promise-match check when the body is long — don't. Subject-body mismatch is the one failure that costs future opens, not just this one.
Add to this list as failures surface.
## Constraints
- Any fact not present in the body stays in brackets. Never fill a bracket by inference, and never drop an alternative because a bracket is in it.
- Never run the banned-items list against a subject line or preview text. That is the exemption.
- Never skip the banned-items list on the first line of the body. That is not the exemption.
- Never state an open-rate statistic. The source skill this was forked from cited lift percentages with no study behind them. If a number is claimed, cite the study or cut it.
- Never quantify how long the email takes to read.
- Never put an attendance number in a subject line.
- Program names are complete and canonical in outbound, always, regardless of length.
- The first line is part of the deliverable. Do not hand back a subject line alone.
## Check-Ins
After the first run, ask
- Are you editing any of the five right now, and what are you changing?
- Did the recommended one feel like the obvious pick, or did you reach past it?
Before wrapping up, ask
- Any failure pattern to add to gotchas while it's fresh?
- What else can I take off your plate?
## Changelog
| Date | Version | What Changed |
|------|---------|-------------|
| 08.17.26 | 2.1.0 | Self-contained. Optional context (voice, brand list, naming) no longer halts the run when missing. Baseline framed as replace-with-yours. Which-skill-when block added. Word swaps now live inside banned-items.md. |
| 08.07.26 | 2.0.0 | Inbox exemption, per Anne — the banned list governs body copy, not subject lines or preview text. Angle set rebuilt from `kit-baseline-50.md` performance instead of from canon. |
| 08.07.26 | 1.0.0 | Initial skill. Forked in concept from a public email-subject-line-optimizer, rebuilt on canon. Unsourced open-rate statistics dropped. Scope widened from subject line to subject plus preview text plus first line. |