email-composer
Skill22 starsChanged 2 months agoMITView on GitHub
Drafts clear, professional emails with the right tone, structure, and a concrete call to action by clarifying audience, purpose, and desired outcome. Use this skill when the user asks to "write an email", "draft an email", "compose a message", "reply to this email", "make this email sound more professional/polite/firmer", "follow up", "send a cold outreach", "decline/apologize/ask for something by email", or needs help with subject lines, tone, or email structure.
We split this skill into the rules it gives an agent
9 rules. 0 are common, 8 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 5 edited versions we read keep these.
8
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 17
Follow these steps in order.
- Distinctive: line 26
Offer variants: when tone is uncertain (e.g., "here's a warmer and a firmer version").
- Distinctive: line 29
Keep most emails to 5 short blocks.
- Very specific: line 38
Higher formality: when: first contact, senior/external recipient, sensitive topic, legal/HR/finance, conservative culture.
- Distinctive: line 39
Lower formality: when: established peer relationship, internal team, fast-moving thread, startup culture.
- Distinctive: line 40
Warmer: when: asking a favor, delivering bad news, rebuilding a relationship.
- Distinctive: line 41
Firmer (still polite): when: a deadline slipped, repeated non-response, escalation, scope disputes.
- Distinctive: line 67
Read it aloud: If it sounds stiff or passive-aggressive, it reads that way too.
- Distinctive: line 68
Match the channel: If it needs more than ~200 words or three back-and-forths, suggest a call or doc.
“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Email Composer
Overview
This skill produces emails that are clear, correctly toned, well structured, and end with an unambiguous call to action (CTA). It works for new outreach, replies, follow-ups, requests, declines, apologies, status updates, introductions, and escalations.
Keywords: write email, draft email, compose, reply, follow up, cold outreach, subject line, tone, professional, polite, firm, apology, request, decline, introduction, escalation.
The core principle: every email should let the reader answer three questions in under 10 seconds — What is this about? What do you need from me? By when?
Workflow
Follow these steps in order. Ask only the questions you cannot reasonably infer from context; never block on a long questionnaire.
- Identify the five inputs. Audience, relationship, purpose, desired outcome (the CTA), and constraints (deadline, length, channel, formality). If two or more are missing and cannot be inferred, ask one concise clarifying message grouping all gaps.
- Pick the email type. Map the purpose to a pattern (request, follow-up, decline, apology, update, intro, cold outreach, escalation). See
references/email-patterns.md. - Choose the tone. Calibrate formality and warmth to the relationship and culture. Use the dial in
references/tone-guide.md. - Draft the subject line. Specific, ≤ 60 characters, scannable. Front-load the keyword. See subject-line rules in
references/email-patterns.md. - Write the body using the structure below.
- Make the CTA explicit. One primary ask, an owner, and a deadline. Never end with a vague "let me know."
- Self-review against
references/checklist.md. Optionally runscripts/email_lint.pyto catch length, hedging, passive voice, and missing CTA. - Offer variants when tone is uncertain (e.g., "here's a warmer and a firmer version").
Body Structure (default)
Keep most emails to 5 short blocks. Aim for under 150 words unless the content demands more.
- Greeting — match formality ("Hi Sam," / "Dear Dr. Lee," / "Hello team,").
- Context / hook (1 sentence) — why you're writing, link to prior thread if any.
- Core message (1–3 sentences) — the substance, most important first (BLUF: Bottom Line Up Front).
- Call to action — the specific ask, the owner, and the deadline.
- Sign-off — courteous close + name (+ signature block if relevant).
Decision Framework: tone in one pass
- Higher formality when: first contact, senior/external recipient, sensitive topic, legal/HR/finance, conservative culture.
- Lower formality when: established peer relationship, internal team, fast-moving thread, startup culture.
- Warmer when: asking a favor, delivering bad news, rebuilding a relationship.
- Firmer (still polite) when: a deadline slipped, repeated non-response, escalation, scope disputes.
Worked Example (condensed)
Request: chase a contract signature, recipient is a busy external partner, deadline Friday.
Subject: Signature needed: MSA by Fri Jun 12
Hi Priya,
Following up on the MSA I sent Monday — legal on both sides has approved the final draft.
Could you e-sign via the DocuSign link by Friday, June 12 so we can start onboarding next week? It takes about two minutes.
Happy to hop on a quick call if anything needs another look.
Best, Jannik
See examples/sample-emails.md for nine fully worked before/after examples across all patterns.
Best Practices
- BLUF. State the ask or conclusion in the first two sentences. Busy readers skim.
- One email, one primary ask. Multiple asks dilute response rate; split or use a numbered list with a clear primary.
- Specific subject lines. "Quick question" tells the reader nothing; "Approval needed: Q3 budget by Thu" does.
- Deadlines beat urgency words. "by Thursday 5pm" outperforms "ASAP".
- Make replying easy. Offer concrete options ("Tue 2pm or Wed 10am?") instead of open questions.
- Read it aloud. If it sounds stiff or passive-aggressive, it reads that way too.
- Match the channel. If it needs more than ~200 words or three back-and-forths, suggest a call or doc.
Common Pitfalls
- Vague CTA — "let me know your thoughts" with no owner or date. Always name the action and deadline.
- Burying the ask — the request hides in paragraph four. Move it up.
- Tone mismatch — overly casual to a senior stakeholder, or stiff with a close colleague.
- Wall of text — no paragraph breaks. Use white space, bullets, and bold for the one key line.
- Apology overload — "sorry to bother you" weakens you. State the need plainly and respectfully.
- Passive hedging — "it would be great if maybe we could possibly..." Cut qualifiers.
- No clear next step — the reader closes the email unsure what to do.
Supporting Files
references/email-patterns.md— type-by-type templates (request, follow-up, decline, apology, update, intro, cold outreach, escalation) and subject-line rules.references/tone-guide.md— the formality/warmth dial, phrase swaps, opener/closer banks, cross-cultural notes.references/checklist.md— pre-send self-review checklist.templates/email-template.md— fill-in skeleton.examples/sample-emails.md— nine before/after worked examples.scripts/email_lint.py— heuristic linter for length, hedging, passive voice, weak subject lines, and missing CTA.
Other versions7 projects use a version of this.
Word for word · 2
- JayRHa/agent-skills★ 12100% same
- JayRHa/AgentSkills★ 12100% same
Edited · 0
None found.
Wrote their own version · 5
- Crumbgrabber/llm_system_template_agents_skills_patterns_tools_prompts★ 3same name
- BenPrem/business-brain★ 1same name
- adriaalcala/claude-code-setup★ 0same name
- dhriyatinandu-bot/claude-skills★ 0same name
- peakdong68/my-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository194 other files it gives its agents.
- 0-templateSkill
- ab-test-analyzerSkill
- academy-guideSkill
- add-to-my-skillsSkill
- adr-authorSkill
- ai-tools-setupSkill
- algorithmic-artSkill
- api-and-interface-designSkill
- api-designerSkill
- api-docs-writerSkill
- apple-store-submitSkill
- aws-cost-optimizerSkill
- bash-script-hardeningSkill
- blog-post-writerSkill
- book-summarizerSkill
- branch-cleanupSkill
- brand-copy-landingSkill
- brand-copySkill
- brand-designSkill
- brand-guidelinesSkill
- browser-testing-with-devtoolsSkill
- canvas-designSkill
- changelog-generatorSkill
- changelog-keeperSkill
- chart-chooserSkill
- ci-cd-and-automationSkill
- ci-fix-loopSkill
- claude-apiSkill
- cloudflare-block-countriesSkill
- coderabbitloopSkill
- code-review-and-qualitySkill
- code-reviewerSkill
- code-simplificationSkill
- codexloopSkill
- comms-notionSkill
- comms-slackSkill
- comms-whatsappSkill
- competitive-analysisSkill
- concept-explainerSkill
- constraint-driven-developmentSkill
- context-engineeringSkill
- context-repoSkill
- cover-letter-writerSkill
- crash-courseSkill
- cron-schedulerSkill
- data-digestSkill
- data-pipeline-architectSkill
- debug-detectiveSkill
- debugging-and-error-recoverySkill
- decision-matrixSkill
- dependabot-triageSkill
- dependency-upgraderSkill
- deprecation-and-migrationSkill
- dev-instantdbSkill
- discernment-nudgeSkill
- doc-coauthoringSkill
- dockerfile-proSkill
- docs-index-keeperSkill
- documentation-and-adrsSkill
- docxSkill
- The first 60 shown.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

