/compose-email
Draft a professional email using the What-Why-How framework. Use when you need to compose emails to colleagues, stakeholders, or leadership.
$ npx -y skills add softaworks/agent-toolkit --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/compose-email
Context preview
What this command does when you run it.
Draft a professional email using the What-Why-How framework. Use when you need to compose emails to colleagues, stakeholders, or leadership.
Command definition
compose-email.mddescription: Draft a professional email using the What-Why-How framework. Use when you need to compose emails to colleagues, stakeholders, or leadership.
argument-hint: [context or paste existing draft]
allowed-tools: Read, AskUserQuestion
Draft Professional Email
Generate a professional, well-structured email using communication best practices for software developers.
Arguments
`$ARGUMENTS` - Optional context, topic, or existing draft to refine
Workflow
Step 1: Gather Context
If `$ARGUMENTS` is empty or insufficient, use AskUserQuestion to gather:
**Question 1: Recipient Type** (header: "Audience")
- Technical peer (developer, engineer)
- Non-technical stakeholder (PM, executive, customer)
- Cross-functional team (mixed audience)
- Manager or leadership
**Question 2: Email Purpose** (header: "Purpose")
- Status update or progress report
- Request (review, approval, resources)
- Information sharing (FYI, announcement)
- Escalation or raising concern
- Following up on prior conversation
**Question 3: Urgency** (header: "Urgency")
- Urgent - needs response today
- Standard - within 1-2 days
- Low priority - for awareness only
Step 2: Apply Communication Framework
Use the **What-Why-How** structure:
1. **WHAT** (Opening - 1-2 sentences)
- Lead with the key message or request
- State the purpose immediately
- No throat-clearing ("I hope this email finds you well...")
2. **WHY** (Context - 2-3 sentences)
- Provide necessary background
- Explain relevance to the recipient
- Include only essential context
3. **HOW** (Action - clear next steps)
- Specific call-to-action
- Clear deadline if applicable
- Who needs to do what
Step 3: Apply Email Best Practices
**Subject Line:**
- Specific and scannable (5-8 words ideal)
- Include action needed: "[Action Required]", "[FYI]", "[Decision Needed]"
- Include deadline if urgent: "[Due Friday]"
**Body Structure:**
- Bullets for multiple points (3-5 max)
- Bold key information
- One topic per email
- Short paragraphs (2-3 sentences max)
**Tone Calibration by Audience:**
| Audience | Tone | Jargon Level | | --- | --- | --- | | Technical peer | Direct, precise | High (use technical terms) | | Non-technical | Business-focused | Low (translate jargon) | | Cross-functional | Balanced | Medium (explain as needed) | | Leadership | Concise, impact-focused | Low (focus on outcomes) |
Step 4: Generate Draft
Produce a complete email with:
## Email Draft
**Subject:** [Clear, specific subject line]
---
[Opening - WHAT: Key message/request]
[Context - WHY: Background and relevance]
[Body - Details as needed, use bullets for lists]
[Closing - HOW: Clear call-to-action]
[Sign-off]
Step 5: Offer Refinements
After presenting the draft, offer:
1. **Tone adjustment** - Make more/less formal 2. **Length adjustment** - Expand or condense 3. **Jargon translation** - Adjust technical language level 4. **Format change** - Different structure for different medium (Slack, Teams)
Example Usage
# With context
/soft-skills:draft-email Need to ask team lead for deadline extension on API migration
# Refine existing draft
/soft-skills:draft-email "Hi team, wanted to let you know about the deployment..."
# Start fresh
/soft-skills:draft-email
Output
Present the draft in a clear format showing:
1. **Subject line** with rationale 2. **Email body** with WHAT/WHY/HOW sections labeled 3. **Refinement options** for iteration
Anti-Patterns to Avoid
- Generic subjects ("Quick question", "Update", "FYI")
- Burying the request at the end
- Wall of text without structure
- Missing clear call-to-action
- Over-apologizing or excessive hedging
- CC'ing unnecessarily
Read more
description: Draft a professional email using the What-Why-How framework. Use when you need to compose emails to colleagues, stakeholders, or leadership. argument-hint: [context or paste existing draft] allowed-tools: Read, AskUserQuestion
Draft Professional Email
Generate a professional, well-structured email using communication best practices for software developers.
Arguments
`$ARGUMENTS` - Optional context, topic, or existing draft to refine
Workflow
Step 1: Gather Context
If `$ARGUMENTS` is empty or insufficient, use AskUserQuestion to gather:
**Question 1: Recipient Type** (header: "Audience")
- Technical peer (developer, engineer)
- Non-technical stakeholder (PM, executive, customer)
- Cross-functional team (mixed audience)
- Manager or leadership
**Question 2: Email Purpose** (header: "Purpose")
- Status update or progress report
- Request (review, approval, resources)
- Information sharing (FYI, announcement)
- Escalation or raising concern
- Following up on prior conversation
**Question 3: Urgency** (header: "Urgency")
- Urgent - needs response today
- Standard - within 1-2 days
- Low priority - for awareness only
Step 2: Apply Communication Framework
Use the **What-Why-How** structure:
1. **WHAT** (Opening - 1-2 sentences)
- Lead with the key message or request
- State the purpose immediately
- No throat-clearing ("I hope this email finds you well...")
2. **WHY** (Context - 2-3 sentences)
- Provide necessary background
- Explain relevance to the recipient
- Include only essential context
3. **HOW** (Action - clear next steps)
- Specific call-to-action
- Clear deadline if applicable
- Who needs to do what
Step 3: Apply Email Best Practices
**Subject Line:**
- Specific and scannable (5-8 words ideal)
- Include action needed: "[Action Required]", "[FYI]", "[Decision Needed]"
- Include deadline if urgent: "[Due Friday]"
**Body Structure:**
- Bullets for multiple points (3-5 max)
- Bold key information
- One topic per email
- Short paragraphs (2-3 sentences max)
**Tone Calibration by Audience:**
| Audience | Tone | Jargon Level | | --- | --- | --- | | Technical peer | Direct, precise | High (use technical terms) | | Non-technical | Business-focused | Low (translate jargon) | | Cross-functional | Balanced | Medium (explain as needed) | | Leadership | Concise, impact-focused | Low (focus on outcomes) |
Step 4: Generate Draft
Produce a complete email with:
## Email Draft **Subject:** [Clear, specific subject line] --- [Opening - WHAT: Key message/request] [Context - WHY: Background and relevance] [Body - Details as needed, use bullets for lists] [Closing - HOW: Clear call-to-action] [Sign-off]
Step 5: Offer Refinements
After presenting the draft, offer:
1. **Tone adjustment** - Make more/less formal 2. **Length adjustment** - Expand or condense 3. **Jargon translation** - Adjust technical language level 4. **Format change** - Different structure for different medium (Slack, Teams)
Example Usage
# With context /soft-skills:draft-email Need to ask team lead for deadline extension on API migration # Refine existing draft /soft-skills:draft-email "Hi team, wanted to let you know about the deployment..." # Start fresh /soft-skills:draft-email
Output
Present the draft in a clear format showing:
1. **Subject line** with rationale 2. **Email body** with WHAT/WHY/HOW sections labeled 3. **Refinement options** for iteration
Anti-Patterns to Avoid
- Generic subjects ("Quick question", "Update", "FYI")
- Burying the request at the end
- Wall of text without structure
- Missing clear call-to-action
- Over-apologizing or excessive hedging
- CC'ing unnecessarily
Opinionated skills shared by @leonardocouy for improving daily work efficiency with Claude Code. Skills are packaged instructions and scripts that extend agent capabilities across development, documentation, planning, and professional workflows.
Repo: softaworks/agent-toolkit
Other commands on agent-toolkit.
sync-skills-readme
Sync root README.md with current skills inventory from skills/ directory
codex-plan
Create a detailed implementation plan using Codex 5.2 with high reasoning
explain-changes-mental…
Build a mental model of changes by splitting them into smaller logical chunks
explain-pr-changes
You are `Code-Sage`, an expert AI code reviewer and technical writer. Your purpose is to…

