Skip to content

Commit c49c7a1

Browse files
authored
Add email-drafter skill: personalized email drafting with tone analysis via WorkIQ (#1182)
* Add email-drafter skill: personalized email drafting with tone analysis via WorkIQ * fix: use single-quoted YAML scalar for description frontmatter
1 parent 9759552 commit c49c7a1

2 files changed

Lines changed: 101 additions & 0 deletions

File tree

docs/README.skills.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-skills) for guidelines on how to
116116
| [doublecheck](../skills/doublecheck/SKILL.md) | Three-layer verification pipeline for AI output. Extracts verifiable claims, finds supporting or contradicting sources via web search, runs adversarial review for hallucination patterns, and produces a structured verification report with source links for human review. | `assets/verification-report-template.md` |
117117
| [editorconfig](../skills/editorconfig/SKILL.md) | Generates a comprehensive and best-practice-oriented .editorconfig file based on project analysis and user preferences. | None |
118118
| [ef-core](../skills/ef-core/SKILL.md) | Get best practices for Entity Framework Core | None |
119+
| [email-drafter](../skills/email-drafter/SKILL.md) | Draft and review professional emails that match your personal writing style. Analyzes your sent emails for tone, greeting, structure, and sign-off patterns via WorkIQ, then generates context-aware drafts for any recipient. USE FOR: draft email, write email, compose email, reply email, follow-up email, analyze email tone, email style. | None |
119120
| [entra-agent-user](../skills/entra-agent-user/SKILL.md) | Create Agent Users in Microsoft Entra ID from Agent Identities, enabling AI agents to act as digital workers with user identity capabilities in Microsoft 365 and Azure environments. | None |
120121
| [eval-driven-dev](../skills/eval-driven-dev/SKILL.md) | Add instrumentation, build golden datasets, write eval-based tests, run them, root-cause failures, and iterate — Ensure your Python LLM application works correctly. Make sure to use this skill whenever a user is developing, testing, QA-ing, evaluating, or benchmarking a Python project that calls an LLM. Use for making sure an LLM application works correctly, catching regressions after prompt changes, fixing unexpected behavior, or validating output quality before shipping. | `references/pixie-api.md` |
121122
| [excalidraw-diagram-generator](../skills/excalidraw-diagram-generator/SKILL.md) | Generate Excalidraw diagrams from natural language descriptions. Use when asked to "create a diagram", "make a flowchart", "visualize a process", "draw a system architecture", "create a mind map", or "generate an Excalidraw file". Supports flowcharts, relationship diagrams, mind maps, and system architecture diagrams. Outputs .excalidraw JSON files that can be opened directly in Excalidraw. | `references/element-types.md`<br />`references/excalidraw-schema.md`<br />`scripts/.gitignore`<br />`scripts/README.md`<br />`scripts/add-arrow.py`<br />`scripts/add-icon-to-diagram.py`<br />`scripts/split-excalidraw-library.py`<br />`templates` |

skills/email-drafter/SKILL.md

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
---
2+
name: email-drafter
3+
description: 'Draft and review professional emails that match your personal writing style. Analyzes your sent emails for tone, greeting, structure, and sign-off patterns via WorkIQ, then generates context-aware drafts for any recipient. USE FOR: draft email, write email, compose email, reply email, follow-up email, analyze email tone, email style.'
4+
---
5+
6+
# Email Drafter
7+
8+
Draft professional emails that match your established writing style and tone. Uses WorkIQ to analyze your sent emails and prior correspondence with recipients, then produces context-aware drafts you can review and refine.
9+
10+
## When to Use
11+
12+
- "Draft an email to [person] about [topic]"
13+
- "Write a follow-up email to [customer] regarding [project]"
14+
- "Reply to [person]'s email about [subject]"
15+
- "Compose a proposal email for [initiative]"
16+
- "Analyze my email tone with [recipient]"
17+
18+
## Workflow
19+
20+
### Step 1 — Gather Context
21+
22+
Before drafting, collect:
23+
24+
1. **Recipient(s)** — who is the email for?
25+
2. **Purpose** — what is the email about? (proposal, follow-up, technical guidance, introduction, status update, etc.)
26+
3. **Key points** — what needs to be communicated?
27+
4. **Relationship context** — use WorkIQ to check prior email history with the recipient if available
28+
29+
If the user provides all of these upfront, proceed directly. Otherwise, ask clarifying questions (max 3).
30+
31+
### Step 2 — Analyze Tone
32+
33+
When drafting for a recipient, use WorkIQ to understand the user's established communication patterns:
34+
35+
1. Pull 3–5 recent sent emails from the user to the same recipient or similar recipients
36+
2. Identify patterns:
37+
- **Greeting style** — formal ("Dear"), standard ("Hello"), casual ("Hi"), or direct (no greeting)
38+
- **Structure** — short paragraphs vs. bullet lists vs. numbered steps
39+
- **Sign-off** — what closing and name format the user typically uses
40+
- **Formality level** — professional, friendly-professional, casual
41+
- **Language** — which language the user writes in with this recipient
42+
3. Apply those patterns to the draft
43+
44+
If WorkIQ is unavailable or no prior emails exist, use sensible professional defaults and note that the tone was inferred.
45+
46+
### Step 3 — Draft the Email
47+
48+
Apply the discovered (or default) style rules:
49+
50+
**Greeting:**
51+
- Match whatever greeting style was found in Step 2
52+
- Default: "Hello [FirstName]," for external, "Hi [FirstName]," for internal
53+
- For multiple recipients: "Hello [Name1], [Name2],"
54+
55+
**Tone:**
56+
- Direct and concise — no filler language
57+
- Friendly but professional
58+
- Get to the point quickly
59+
- Offer help proactively where appropriate ("Happy to discuss further", "Let me know if you need anything")
60+
61+
**Structure:**
62+
- Short emails (1–2 points): simple paragraphs, no bullets needed
63+
- Longer emails (proposals, multi-point updates): use bullet points or numbered lists
64+
- Include context from prior conversations when relevant ("Following our recent conversation about...")
65+
66+
**Sign-off:**
67+
- Match the user's established sign-off pattern from Step 2
68+
- Default: "Best regards," followed by the user's first name on the next line
69+
70+
**Language:**
71+
- Default to English unless the user specifies otherwise
72+
- Match the recipient's language if prior correspondence was in another language
73+
74+
### Step 4 — Output
75+
76+
1. Present the draft for review with a brief note on the tone/style applied
77+
2. Apply edits as the user requests — iterate until satisfied
78+
3. Save the final draft to `outputs/<year>/<month>/` with a descriptive filename (e.g., `2026-03-26-email-acme-followup.md`)
79+
80+
## Important Rules
81+
82+
- **Never send emails** — only draft them as files for the user to review and send manually
83+
- Always check WorkIQ for prior context with the recipient when available
84+
- If the user says "draft email" or "write email", activate this skill automatically
85+
- Save drafts using the `outputs/<year>/<month>/` folder convention
86+
- Respect privacy: do not include sensitive information from unrelated email threads
87+
88+
## Example Prompts
89+
90+
- "Draft an email to Sarah about the project timeline"
91+
- "Write a follow-up to the customer about their migration questions"
92+
- "Compose a proposal email for the new training initiative"
93+
- "Reply to John's email — agree with his approach but suggest we add monitoring"
94+
- "Analyze my email tone with the Acme team"
95+
96+
## Requirements
97+
98+
- **WorkIQ MCP tool** is recommended for tone analysis and recipient context (Microsoft 365 / Outlook)
99+
- Without WorkIQ, the skill still works but uses professional defaults instead of personalized tone matching
100+
- Output is saved as markdown files in the workspace

0 commit comments

Comments
 (0)