Polish an email draft, passed inline, against the failure modes of AI-drafted mail: project-shaped to-do lists, session-anchored dates, arguments the reader never raised, smuggled inferences, a missing identity-first lead. Optional flags add director register and voice impersonation.
Recursos
2Instal·la
npx skillscat add overseers-desk/skillbooks/labs-edit-email-variants-base-skills-edit-email Instal·la des del registre de SkillsCat.
edit-email
Problem this skill exists to solve
AI-drafted email reads to its sender like an email and to its recipient like a project. The drafting agent has the brief in conversation; when it composes, it paraphrases liberally, defends inferences the reader has never drawn, anchors timestamps to its own session, and turns asks into numbered lists. The recipient sees something that will take effort to handle and defers it.
A general newspaper maxim in CLAUDE.md is not enough on its own: the drafting agent cannot see the scaffolding it has carried in from its brief. The fix is a cold reader who has only the email, applies the rulebook, and returns a polished draft plus queries.
The rules the drafting agent and the subeditor both work to are in email-rulebook.md alongside this file.
Procedure
- Assemble the draft as a text block with the YAML-style header preamble (
to:,cc:,from:,subject:) and the body below.
1a. If the draft relies on prior correspondence (a reply, or a fresh message that picks up an unresolved ask from earlier mail), assemble a THREAD block of the relevant prior messages. One issue often spans several threads: include every thread the draft draws on, not only the one the headers say it replies to. Each message in the block carries its own from/date/subject and body. The subeditor cannot fetch mail; whatever the cold reader needs to judge whether the draft omits a fact the recipient is waiting on must be in this block. If the draft stands on its own, the THREAD value is(none). - Spawn a fresh-context agent. Use the prompt template at
${CLAUDE_PLUGIN_ROOT}/skills/edit-email/editor-prompt.md; substitute$RULEBOOK_PATHwith the rulebook path,$EMAILwith the draft text,$THREADwith the THREAD block (or(none)),$REGISTERwith the register tag (generalby default;director-to-staffwhen the caller invokes with--director), and$VOICE_GUIDEwith the content of the named voice guide file ((none)when no voice flag is given; the content ofrobin-voice.mdwhen--Robinis given). When--Robinis given, use Opus as the agent model. Pass the result as the agent prompt. - When
$VOICE_GUIDEis(none): the agent is a cold subeditor. It returns READING (paragraph-by-paragraph log of how the draft landed), POLISHED (mechanical fixes applied), and QUERIES (rule citations for things needing the brief).
When$VOICE_GUIDEhas content: the agent is an impersonator. It returns READING (first-person friction notes as the named author), POLISHED (the email as the author would send it), and QUERIES (what the author would need to know to finalise it herself). - Read READING first. Compare each friction point or interpretation against what the draft meant. Fix the draft based on what the agent surfaces. Resolve queries from your conversation context, asking the user if the brief does not answer. Do not invent.
- Show the user the polished body inline; revise as requested by re-running the skill.
- Send via courier once approved. The skill does not send.
Files
${CLAUDE_PLUGIN_ROOT}/skills/edit-email/:
email-rulebook.md— the ruleseditor-prompt.md— the subeditor prompt templaterobin-voice.md— voice guide for--Robin; derived from Robin Yu's sent mail corpus
Why a fresh-context subeditor
The drafting role belongs to the caller, which holds the brief and the user's surface phrasing. A subagent in the same context inherits the same blindness about which sentences are scaffolding and which are the email. A brand-new agent reading only the rulebook and the draft is the cleanest cold reader available.
Anti-cheating discipline
Rulebook examples must come from outside any test fixture, otherwise the subeditor matches lexically rather than applying the rule. If a rule example appears in a draft to be tested, the example is contamination and must be rewritten before the test result is meaningful.