Agent skill
gog-email-draft
Draft email replies and compose new messages. Given email ID(s) or message context, generate professional email drafts in user's preferred tone. Offers multiple variants (concise, warmer) and includes assumptions/questions for confirmation. Use when user wants to reply to emails, compose new messages, or needs help with email writing. Does NOT send emails.
Install this agent skill to your Project
npx add-skill https://github.com/EvolutionAPI/evo-nexus/tree/main/.claude/skills/gog-email-draft
Metadata
Additional technical details for this skill
- author
- gog-skills
- version
- 1.0
SKILL.md
Email Drafting Assistant
Generate professional, context-aware email drafts with tone variants and confirmation prompts.
When to Use
Use this skill when:
- User wants to "reply to [email]" or "draft a reply"
- User asks to "compose an email to [person]"
- User mentions "write an email about [topic]"
- User provides email ID(s) from triage and wants to respond
- User needs help with email phrasing or tone
Important: This skill creates DRAFTS only. It NEVER sends emails. Use gog-email-send skill for sending (with explicit confirmation).
Inputs You Need
Before drafting, gather:
1. Email Context (choose one)
Option A - Reply to existing email(s):
- Email ID(s) from
gog gmail searchor triage output - Fetch full email content:
gog gmail get <messageId> --json
Option B - Compose new email:
- Recipient(s): email address(es)
- Subject: what the email is about
- Context: key points to include
2. User's Tone Preference
If not previously known, ask:
What tone would you like for this email?
- Professional (formal, business-standard)
- Friendly (warm but professional)
- Concise (brief and to-the-point)
- Detailed (thorough, includes context)
Or describe your preferred style.
Remember preference for future drafts in the session.
3. Missing Information
Identify what's needed to draft effectively:
- Specific facts or data to include
- Deadline or timeline to mention
- Attachments to reference
- People to CC
- Action items or next steps
Ask clarifying questions before drafting if critical info is missing.
Workflow
Step 1: Fetch Original Email (if replying)
For replies:
gog gmail get <email_id> --json
Parse:
- From / To / CC
- Subject
- Body content
- Date
- Thread context
If email has a thread, consider reading previous messages in thread for context.
Step 2: Identify Required Content
Analyze what the reply should address:
Questions asked: Direct questions that need answers Action items: Tasks or requests that need response Context needed: Background or explanation to provide Next steps: Proposed follow-up or timeline Tone match: Match or adjust based on sender's tone
Step 3: Draft Initial Assumptions
Before drafting, list assumptions being made:
## Assumptions
- [Assumption 1: e.g., Budget is approved for this project]
- [Assumption 2: e.g., Timeline of 2 weeks is acceptable]
- [Assumption 3: e.g., Legal review is not required]
- [...]
Step 4: Draft Questions for User
List clarifying questions if any:
## Questions to Confirm
1. [Question 1: e.g., Should we include pricing in this email?]
2. [Question 2: e.g., Do you want to propose a specific meeting time?]
3. [Question 3: e.g., Is there a deadline we should mention?]
If questions are critical, ask now and wait for answers. If minor, include in output for user to address.
Step 5: Generate Draft Variants
Create TWO versions:
Variant A: Concise
- Brief and to-the-point
- ~3-5 sentences or ~100-150 words
- Covers essentials only
- Good for quick responses
Variant B: Warmer/Detailed
- More conversational or thorough
- ~7-10 sentences or ~200-300 words
- Includes context and reasoning
- Good for important stakeholders
Step 6: Present Drafts
Output in this format:
# Email Draft: [Subject]
**To**: [recipient(s)]
**CC**: [if applicable]
**Subject**: [subject line]
---
## Variant A: Concise
[Draft text here]
---
## Variant B: Warmer
[Draft text here]
---
## Assumptions
- [List assumptions made]
## Questions to Confirm
1. [List questions if any]
---
**Next Steps**:
- Edit either variant as needed
- Confirm assumptions are correct
- Answer any questions listed
- When ready: "Send this draft" (will invoke gog-email-send with confirmation)
Step 7: Iterative Refinement
After presenting drafts:
- User may request edits: "Make it more formal" / "Add mention of X"
- User may answer questions: "Yes, include pricing"
- User may choose one variant and refine it
Iterate until user is satisfied.
When user approves final draft, offer:
Ready to send? Say "Save as draft" to create in GOG, or "Send this email" to proceed with sending (requires explicit confirmation).
Step 8: Save Draft in GOG
When user says "Save as draft" or "Create draft":
# Create draft body file first
cat > /tmp/draft_body.txt << 'EOF'
[Draft email body content]
EOF
# Create draft
gog gmail drafts create \
--to "recipient@example.com" \
--cc "cc@example.com" \
--subject "Subject line" \
--body /tmp/draft_body.txt \
--json
# Clean up temp file
rm /tmp/draft_body.txt
Note: Reply threading is handled automatically by Gmail when replying to a thread. If creating a standalone draft, omit reply-related flags.
Return draft ID to user:
✅ Draft created successfully!
Draft ID: draft_abc123
You can:
- Review it in your email client
- Edit it further there
- Send it via: "Send draft draft_abc123"
Output Format (Strict)
Every draft output MUST include:
- Header: To, CC (if any), Subject
- Variant A: Concise version
- Variant B: Warmer/detailed version
- Assumptions: Bulleted list of assumptions
- Questions: Numbered list (or "None" if all info is clear)
- Next steps: Clear guidance on what to do next
Email body format:
- Professional greeting (Hi [Name], / Hello [Name], / [Name],)
- Clear paragraphs with line breaks
- Signature closer (Best, / Thanks, / Regards, / etc.)
- NO signature block (assume GOG or email client adds this)
Examples
Example 1: Reply to Meeting Request
User: "Draft a reply to email msg_abc123"
Assistant:
[Fetches email msg_abc123...]
Original email from sarah@company.com:
"Hi, can we schedule a meeting to discuss Q2 budget? I'm available Tuesday or Thursday afternoon."
---
# Email Draft: Re: Q2 Budget Meeting
**To**: sarah@company.com
**Subject**: Re: Q2 Budget Meeting
---
## Variant A: Concise
Hi Sarah,
Tuesday afternoon works for me. How about 2pm? I'll send a calendar invite.
Thanks,
---
## Variant B: Warmer
Hi Sarah,
Thanks for reaching out about the Q2 budget discussion. I'd be happy to meet.
Tuesday afternoon works well for me. Would 2pm work for you? I can send a calendar invite with a Zoom link if that's convenient, or we can meet in person if you prefer.
Looking forward to discussing the budget plans!
Thanks,
---
## Assumptions
- 2pm is a reasonable time for "afternoon"
- Virtual meeting is acceptable (can offer in-person)
- User has authority to discuss Q2 budget
## Questions to Confirm
1. Do you have any specific time preferences for Tuesday afternoon?
2. Should I propose an agenda or specific topics to cover?
---
**Next Steps**: Which variant do you prefer, or would you like me to adjust anything?
Example 2: Compose New Email
User: "Compose an email to vendor@acme.com asking about the pricing proposal status"
Assistant:
# Email Draft: Pricing Proposal Follow-up
**To**: vendor@acme.com
**Subject**: Following up on pricing proposal
---
## Variant A: Concise
Hi [Vendor Name],
I wanted to follow up on the pricing proposal we discussed. Have you had a chance to review it?
Please let me know if you need any additional information.
Thanks,
---
## Variant B: Warmer
Hi [Vendor Name],
I hope this email finds you well. I wanted to check in regarding the pricing proposal we sent over on [date, if known].
We're working on finalizing our Q2 budget and would greatly appreciate an update on where things stand. If you need any clarification or additional details from our side, please don't hesitate to reach out.
Thank you for your time, and I look forward to hearing from you soon.
Best regards,
---
## Assumptions
- Vendor contact name is known (replace [Vendor Name])
- Previous proposal was sent and vendor is aware of it
- There's no hard deadline pressuring the follow-up
## Questions to Confirm
1. Do you know the vendor contact's name? (Replace [Vendor Name])
2. When was the original proposal sent? (Can mention specific date)
3. Is there a deadline by which you need their response?
4. Should I mention the next steps if they accept?
---
**Next Steps**: Please provide the vendor contact's name and any other details, then I can finalize the draft.
Example 3: Multiple Drafts
User: "Draft replies for emails msg_123 and msg_456"
Assistant:
Let me draft replies for both emails.
---
# Draft 1: Re: [Subject of msg_123]
[Full draft for email 1...]
---
# Draft 2: Re: [Subject of msg_456]
[Full draft for email 2...]
---
Would you like to review and refine these individually, or are they ready to save as drafts?
Failure Modes / Troubleshooting
Cannot Fetch Original Email
Symptom: gog gmail get <messageId> fails or returns error
Resolution:
- Verify message ID is correct (ask user to confirm)
- Check if email was deleted or moved
- Try fetching full thread:
gog gmail thread get <threadId> - Ask user to describe email context manually
Missing Critical Information
Symptom: Cannot draft effectively without key facts
Resolution:
- List what's missing in "Questions to Confirm"
- Suggest: "I need more information to draft this effectively. Can you provide [X, Y, Z]?"
- Offer placeholder draft: "Here's a template you can fill in..."
- Do NOT guess facts (dates, numbers, commitments)
Tone Mismatch
Symptom: User says "Too formal" or "Too casual"
Resolution:
- Ask: "What tone would you prefer? More [formal/casual/friendly/brief]?"
- Regenerate with adjusted tone
- Learn preference for future drafts in session
Large Email Threads
Symptom: Original email is part of long thread
Resolution:
- Summarize thread context: "This is part of a 12-message thread about [topic]"
- Ask: "Should the reply reference earlier messages?"
- Focus reply on most recent message unless user requests broader context
Multiple Recipients / Reply-All Ambiguity
Symptom: Original email has many recipients
Resolution:
- Default to "Reply" (sender only) unless clear that Reply-All is needed
- Ask: "Should this be Reply-All (to all [N] recipients) or just to [sender]?"
- List recipients so user can decide
Safety Rules
- Never send emails - Only create drafts
- Always show drafts first - Never create drafts without user seeing content
- Explicit confirmation for saving - Ask "Ready to save this draft?" before invoking
gog gmail drafts create - Protect sensitive info - Don't include passwords, credentials, or highly sensitive data unless explicitly instructed
- Two-variant rule - Always offer Concise + Warmer variants (user choice improves over time)
- Assumptions transparency - Always list assumptions so user can catch errors
Safe Test
To safely test this skill using only user@example.com:
Test 1: Draft to self (safe)
In Claude Code:
- Load gog-email-draft skill
- Say: "Compose an email to user@example.com with subject 'Test Draft' and a brief greeting"
- Verify output includes:
- Both variants (Concise + Warmer)
- Assumptions section
- Questions section (if applicable)
- Next steps guidance
- Say: "Save as draft"
- Verify draft is created via
gog gmail drafts createcommand - Confirm draft is NOT sent
Test 2: Reply to self (safe)
- Send yourself an email first (or use existing)
- Get email ID:
gog gmail search "from:user@example.com" --max 1 --json - Say: "Draft a reply to [email_id]"
- Verify skill fetches original email and generates appropriate reply
See skills/gog/_shared/references/testing.md for complete test plan.
Notes
-
This skill integrates with:
gog-email-triage: Often invoked after triage to reply to prioritized emailsgog-email-send: Invoked after draft is finalized to send (with confirmation)gog-followups: Can suggest adding follow-up tracking for sent emails
-
Draft quality improves with:
- More context about user's role, projects, and communication style
- Examples of past successful emails
- Feedback on tone preferences over time
-
For recurring email types (status updates, meeting requests), consider creating templates in
references/directory -
Consider reading the last 2-3 messages in a thread for better context, not just the immediate message
-
When replying to automated emails (notifications, alerts), adjust tone to be more brief/transactional
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
data-create-viz
Cria visualizações de dados de qualidade profissional com Python no tema Evolution (fundo escuro, acento
cs-customer-escalation
Empacota uma escalação para Devs, Produto ou Davidson com contexto completo. Use quando um bug precisa de atenção além do suporte normal, vários clientes reportam o mesmo problema, um cliente está ameaçando cancelar, ou um problema ficou sem resolução além do SLA. / Package an escalation for engineering, product, or leadership with full context. Use when a bug needs engineering attention beyond normal support, multiple customers report the same issue, a customer is threatening to churn, or an issue has sat unresolved past its SLA.
mkt-draft-content
Draft blog posts, social media, email newsletters, landing pages, press releases, and case studies with channel-specific formatting and SEO recommendations. Use when writing any marketing content, when you need headline or subject line options, or when adapting a message for a specific platform, audience, and brand voice.
gog-tasks
Create, manage, and prioritize tasks and todo items. Convert emails to tasks, set priorities (P0-P3) and categories (Work/Personal/Errands/Admin), review daily priorities, track blocked and overdue tasks. Use when user mentions tasks, todos, action items, or wants to convert emails to tasks. Requires confirmation before creating or deleting tasks.
discord-get-messages
Retrieve messages from Discord channels via the Discord API. Use this skill when the user wants to read, search, or analyze messages from a Discord channel.
cs-customer-research
Pesquisa multi-fonte sobre pergunta ou tópico de cliente com atribuição de fontes. Use quando um cliente pergunta algo que precisa ser verificado, investigando se um bug foi reportado antes, verificando o que foi dito anteriormente a uma conta específica, ou coletando contexto antes de redigir uma resposta. / Multi-source research on a customer question or topic with source attribution. Use when a customer asks something you need to look up, investigating whether a bug has been reported before, checking what was previously told to a specific account, or gathering background before drafting a response.
Didn't find tool you were looking for?