SKILL.md
Skill: send-email
When to Use
Use this skill when the user asks to:
- Send an email
- Email someone a message
- Compose and send an email
- Notify someone via email
- Send an email with an attachment
Required Credentials
Retrieve these via the get_keys tool before executing:
| Key Store Key | Environment Variable | Description |
|---|---|---|
smtp_host |
SMTP_HOST |
SMTP server hostname (e.g., smtp.gmail.com) |
smtp_port |
SMTP_PORT |
SMTP port (587 for TLS, 465 for SSL) |
smtp_user |
SMTP_USER |
SMTP username (usually email address) |
smtp_pass |
SMTP_PASS |
SMTP password or app password |
email_from |
EMAIL_FROM |
Sender email address (defaults to SMTP_USER) |
Gmail Setup
For Gmail, use an App Password:
- Enable 2-Step Verification on your Google account
- Go to Security > App passwords > Generate
- Use
smtp.gmail.comport587with the app password
Input Parameters
| Parameter | Required | Description | Example |
|---|---|---|---|
to |
Yes | Recipient email(s), comma-separated | [email protected] |
subject |
Yes | Email subject line | Meeting Tomorrow |
body |
Yes | Email body content | Hi, just a reminder... |
attachment |
No | File path to attach | /path/to/report.pdf |
html |
No | Send body as HTML (flag) | --html |
cc |
No | CC recipients, comma-separated | [email protected] |
Procedure
- Retrieve SMTP credentials: use
getkeyswith keys[smtphost, smtpport, smtpuser, smtppass, emailfrom] - If any credentials are missing: try
searchcomputer, thenaskuser, thenstore_keys - If recipient, subject, or body not provided, ask the user via
ask_user - Send the email:
``bash python3 skills/send-email/scripts/send.py \ --to "[email protected]" \ --subject "Hello" \ --body "This is the message body" ` With attachment: `bash python3 skills/send-email/scripts/send.py \ --to "[email protected]" \ --subject "Report attached" \ --body "Please find the report attached." \ --attachment /path/to/report.pdf ``
- Verify the script reports success
- Report delivery status to the user
Bundled Scripts
| Script | Type | Description |
|---|---|---|
scripts/send.py |
Python | Send email via SMTP |
Script Usage
# Set credentials as environment variables (from get_keys), then:
# Simple email
python3 scripts/send.py --to "[email protected]" --subject "Hello" --body "Hi there!"
# With attachment
python3 scripts/send.py --to "[email protected]" --subject "Report" --body "See attached." --attachment report.pdf
# HTML email
python3 scripts/send.py --to "[email protected]" --subject "Newsletter" --body "<h1>Hello</h1><p>Content</p>" --html
# Multiple recipients
python3 scripts/send.py --to "[email protected],[email protected]" --cc "[email protected]" --subject "Team Update" --body "..."
Example
send an email to [email protected] saying "meeting at 3pm"
email the report to my boss
send an email with the PDF attached
compose an email to the team about the project update