mirror of
https://github.com/github/awesome-copilot.git
synced 2026-04-11 02:35:55 +00:00
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:
@@ -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` |
|
| [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 |
|
| [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 |
|
| [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 |
|
| [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` |
|
| [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` |
|
| [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` |
|
||||||
|
|||||||
100
skills/email-drafter/SKILL.md
Normal file
100
skills/email-drafter/SKILL.md
Normal 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 3–5 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 (1–2 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
|
||||||
Reference in New Issue
Block a user