Outbound email editorial pass
Every external email Bryce sends represents him the same way a published post does, so it clears the same voice bar as brycewatson.com content. Run this pass on the draft before creating the Gmail draft. No outbound email skips it — even one-liners (the pass is fast). Sending stays Bryce's action; this only governs what the draft says.
Source of truth (read it; do not fork the rules)
In priority order:
<brycewatson.com checkout>\_planning\voice-profile.md — the living voice spec, the full source of truth.
<brycewatson.com checkout>\.claude\agents\editorial-reviewer\agent.md — the reviewer's exact flagging rules and severities.
These live in the brycewatson.com repo (read-only from here). If the checkout is missing, fall back to the inline hard rules below — they are the stable subset, not the whole spec.
The pass
- Draft the email normally.
- Read the voice-profile. Apply the hard rules + register to email. Do not force blog-only rules (keyword/SEO titles, the essayist "professional moves", one-quotable-line-per-post) onto a short email.
- Review the draft and flag every hit. For a substantial / high-stakes email, dispatch the brycewatson.com
editorial-reviewer lens as a subagent for an independent pass; for a short reply, apply the checklist inline (that is the lens):
- [MUST FIX] Em dashes. No
—, no – (en dash), no --. Check the subject line too. Recast keeping the scope-and-qualify move: a colon, a parenthetical, or a second sentence. Do not just delete the dash.
- [MUST FIX] Hype / manufactured drama. No "game-changing", "revolutionary", "seamless", "unleash", "dive in", "thrilled / excited to", suspense-builders ("the key insight", "here's the thing"). Plain and concrete.
- [MUST FIX] De-personalized / passive register. First person, active voice, contractions are mandatory. No report-prose, no passive nominalizations ("Analysis revealed…").
- [SHOULD FIX] Front-load. The point or ask lands early. A courtesy opener ("Thanks for reaching out") is fine; just keep the substance near the top, not after a throat-clear.
- [SHOULD FIX] Plain-text artifacts. Drop
*emphasis* asterisks and other markdown that renders literally in a plain-text email.
- Revise — apply every MUST FIX and the worthwhile SHOULD FIX.
- Create the draft only after the pass is clean. Avoid bare URLs in the body — Gmail auto-links them into a
google.com/url?... redirect wrapper that can bake into the saved draft as literal text. Write a domain as plain text with no scheme, or add the link inside Gmail's compose. See [[verify-rendered-output-before-claiming]].
- Report to Bryce: draft is ready + one line on what the pass changed (e.g. "removed 2 em dashes, cut one hype word, dropped markdown asterisks"). If you assert the draft was created, you actually called create_draft — verify, don't claim.
Notes
- This is the global outbound-email gate. The voice rules are owned by brycewatson.com; read them, don't duplicate them here (the inline list is a fallback subset only).
- Canonical copy of this skill belongs in the public
claude-global-skills repo — PR changes there, and parameterize the absolute paths before publishing.
1---2name: email-editorial-pass3description: Outbound email editorial pass4---56# Outbound email editorial pass78Every external email Bryce sends represents him the same way a published post does, so it clears the **same voice bar** as brycewatson.com content. Run this pass on the draft **before** creating the Gmail draft. No outbound email skips it — even one-liners (the pass is fast). Sending stays Bryce's action; this only governs what the draft says.910## Source of truth (read it; do not fork the rules)1112In priority order:131. `<brycewatson.com checkout>\_planning\voice-profile.md` — the living voice spec, the full source of truth.142. `<brycewatson.com checkout>\.claude\agents\editorial-reviewer\agent.md` — the reviewer's exact flagging rules and severities.1516These live in the brycewatson.com repo (read-only from here). If the checkout is missing, fall back to the inline hard rules below — they are the stable subset, not the whole spec.1718## The pass19201. **Draft** the email normally.212. **Read** the voice-profile. Apply the hard rules + register to email. Do **not** force blog-only rules (keyword/SEO titles, the essayist "professional moves", one-quotable-line-per-post) onto a short email.223. **Review** the draft and flag every hit. For a substantial / high-stakes email, dispatch the brycewatson.com `editorial-reviewer` lens as a subagent for an independent pass; for a short reply, apply the checklist inline (that is the lens):23 - **[MUST FIX] Em dashes.** No `—`, no `–` (en dash), no ` -- `. **Check the subject line too.** Recast keeping the scope-and-qualify move: a colon, a parenthetical, or a second sentence. Do not just delete the dash.24 - **[MUST FIX] Hype / manufactured drama.** No "game-changing", "revolutionary", "seamless", "unleash", "dive in", "thrilled / excited to", suspense-builders ("the key insight", "here's the thing"). Plain and concrete.25 - **[MUST FIX] De-personalized / passive register.** First person, active voice, contractions are mandatory. No report-prose, no passive nominalizations ("Analysis revealed…").26 - **[SHOULD FIX] Front-load.** The point or ask lands early. A courtesy opener ("Thanks for reaching out") is fine; just keep the substance near the top, not after a throat-clear.27 - **[SHOULD FIX] Plain-text artifacts.** Drop `*emphasis*` asterisks and other markdown that renders literally in a plain-text email.284. **Revise** — apply every MUST FIX and the worthwhile SHOULD FIX.295. **Create the draft** only after the pass is clean. **Avoid bare URLs in the body** — Gmail auto-links them into a `google.com/url?...` redirect wrapper that can bake into the saved draft as literal text. Write a domain as plain text with no scheme, or add the link inside Gmail's compose. See [[verify-rendered-output-before-claiming]].306. **Report** to Bryce: draft is ready + one line on what the pass changed (e.g. "removed 2 em dashes, cut one hype word, dropped markdown asterisks"). If you assert the draft was created, you actually called create_draft — verify, don't claim.3132## Notes3334- This is the **global outbound-email gate**. The voice rules are **owned by brycewatson.com**; read them, don't duplicate them here (the inline list is a fallback subset only).35- Canonical copy of this skill belongs in the public `claude-global-skills` repo — PR changes there, and parameterize the absolute paths before publishing.