email-compose

Compose and send emails via SMTP with a draft-review-approve workflow.

4|2|Updated Jan 27, 2026
One-click install
npx skills add https://github.com/Arete-Consortium/ai-skills --skill email-compose-arete-consortium
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: email-compose
Source: https://github.com/Arete-Consortium/ai-skills/tree/main/agents/email/email-compose
Command: npx skills add https://github.com/Arete-Consortium/ai-skills --skill email-compose-arete-consortium

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Sending emails programmatically through SMTP risks accidental sends, invalid recipients, exposed credentials, and unencrypted delivery. This Skill enforces a mandatory draft-review-approve workflow so no email is sent without explicit user approval and validation. ## Core Features & Use Cases - Draft-Review-Approve Workflow: Every email moves through create_draft, review_draft, approve_draft, and send_email stages, with irreversible sends gated behind explicit user confirmation. - Validation and Safety Controls: Recipient address format validation, 25MB attachment limits, TLS/SSL enforcement, and environment-variable-based credential storage. - Template Support: Generate drafts from predefined templates with variable substitution for recurring notifications, reports, and alerts. - Use Case: An operations agent needs to send a daily status report to stakeholders. It creates a draft from a template, presents it for review, waits for approval, then delivers it via SMTP and reports accepted versus rejected recipients. ## Quick Start Ask the agent to draft an email to a recipient with a subject and body, review the draft it presents, then approve it for sending via SMTP.

Frequently Asked Questions about email-compose

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I send an email programmatically with SMTP safely?▼

Use a draft-review-approve workflow: create the draft first, review its content and recipients, get explicit user approval, then send via SMTP over TLS. This skill enforces that sequence so no email is sent without review.

How to send templated emails with variable substitution?▼

Use the use_template operation with a template name and a dictionary of substitution variables. The skill creates a draft and reports any unresolved variables that would appear as raw placeholders, so you can fix them before approval.

Can I use Gmail SMTP with an app password?▼

Yes. Enable 2FA on the Google account, generate an app-specific password in Security settings, and supply it via the EMAIL_PASS environment variable. Never use the account password or hardcode credentials in config files.

What are the limits on recipients and attachments when sending via SMTP?▼

This skill caps attachments at 25MB each and recipients at 100 per email. For larger recipient lists, use a dedicated bulk email service like SendGrid or SES, since SMTP providers throttle or block mass sends.

Why does SMTP authentication fail when sending email?▼

Authentication failures usually come from wrong credentials, missing app passwords, or disabled 2FA. The skill does not retry with different credentials automatically; it reports the failure so you can verify the configuration first.

When should I not use SMTP for sending messages?▼

Do not use SMTP for Slack messages or webhook notifications, which have REST APIs instead. Also avoid it for bulk sends over 100 recipients and for reading inboxes, since this skill only composes and sends, not IMAP/POP3 retrieval.