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
This commit is contained in:
Onur Senturk
2026-03-27 00:24:47 +01:00
committed by GitHub
parent 9759552fbc
commit c49c7a1824
2 changed files with 101 additions and 0 deletions

View File

@@ -116,6 +116,7 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-skills) for guidelines on how to
| [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` |
| [editorconfig](../skills/editorconfig/SKILL.md) | Generates a comprehensive and best-practice-oriented .editorconfig file based on project analysis and user preferences. | None |
| [ef-core](../skills/ef-core/SKILL.md) | Get best practices for Entity Framework Core | None |
| [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 |
| [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 |
| [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` |
| [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` |

View File

@@ -0,0 +1,100 @@
---
name: email-drafter
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.'
---
# Email Drafter
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.
## When to Use
- "Draft an email to [person] about [topic]"
- "Write a follow-up email to [customer] regarding [project]"
- "Reply to [person]'s email about [subject]"
- "Compose a proposal email for [initiative]"
- "Analyze my email tone with [recipient]"
## Workflow
### Step 1 — Gather Context
Before drafting, collect:
1. **Recipient(s)** — who is the email for?
2. **Purpose** — what is the email about? (proposal, follow-up, technical guidance, introduction, status update, etc.)
3. **Key points** — what needs to be communicated?
4. **Relationship context** — use WorkIQ to check prior email history with the recipient if available
If the user provides all of these upfront, proceed directly. Otherwise, ask clarifying questions (max 3).
### Step 2 — Analyze Tone
When drafting for a recipient, use WorkIQ to understand the user's established communication patterns:
1. Pull 35 recent sent emails from the user to the same recipient or similar recipients
2. Identify patterns:
- **Greeting style** — formal ("Dear"), standard ("Hello"), casual ("Hi"), or direct (no greeting)
- **Structure** — short paragraphs vs. bullet lists vs. numbered steps
- **Sign-off** — what closing and name format the user typically uses
- **Formality level** — professional, friendly-professional, casual
- **Language** — which language the user writes in with this recipient
3. Apply those patterns to the draft
If WorkIQ is unavailable or no prior emails exist, use sensible professional defaults and note that the tone was inferred.
### Step 3 — Draft the Email
Apply the discovered (or default) style rules:
**Greeting:**
- Match whatever greeting style was found in Step 2
- Default: "Hello [FirstName]," for external, "Hi [FirstName]," for internal
- For multiple recipients: "Hello [Name1], [Name2],"
**Tone:**
- Direct and concise — no filler language
- Friendly but professional
- Get to the point quickly
- Offer help proactively where appropriate ("Happy to discuss further", "Let me know if you need anything")
**Structure:**
- Short emails (12 points): simple paragraphs, no bullets needed
- Longer emails (proposals, multi-point updates): use bullet points or numbered lists
- Include context from prior conversations when relevant ("Following our recent conversation about...")
**Sign-off:**
- Match the user's established sign-off pattern from Step 2
- Default: "Best regards," followed by the user's first name on the next line
**Language:**
- Default to English unless the user specifies otherwise
- Match the recipient's language if prior correspondence was in another language
### Step 4 — Output
1. Present the draft for review with a brief note on the tone/style applied
2. Apply edits as the user requests — iterate until satisfied
3. Save the final draft to `outputs/<year>/<month>/` with a descriptive filename (e.g., `2026-03-26-email-acme-followup.md`)
## Important Rules
- **Never send emails** — only draft them as files for the user to review and send manually
- Always check WorkIQ for prior context with the recipient when available
- If the user says "draft email" or "write email", activate this skill automatically
- Save drafts using the `outputs/<year>/<month>/` folder convention
- Respect privacy: do not include sensitive information from unrelated email threads
## Example Prompts
- "Draft an email to Sarah about the project timeline"
- "Write a follow-up to the customer about their migration questions"
- "Compose a proposal email for the new training initiative"
- "Reply to John's email — agree with his approach but suggest we add monitoring"
- "Analyze my email tone with the Acme team"
## Requirements
- **WorkIQ MCP tool** is recommended for tone analysis and recipient context (Microsoft 365 / Outlook)
- Without WorkIQ, the skill still works but uses professional defaults instead of personalized tone matching
- Output is saved as markdown files in the workspace