SKILL.md
Fastmail Skill
Manage Fastmail email, masked email aliases, calendars, contacts, and vacation auto-reply via the fastmail CLI.
Prerequisites
fastmailCLI installed and authenticated (fastmail auth)FASTMAIL_ACCOUNTenvironment variable set to your account email
Commands
Email Operations
# List recent emails
fastmail --output=json email list --limit 10
# Search emails
fastmail --output=json email search "invoice" --limit 20
# Get email by ID
fastmail --output=json email get <emailId>
# Send email
fastmail email send --to [email protected] --subject "Hello" --body "Message"
# Send with attachment
fastmail email send --to [email protected] --subject "Report" --body "See attached" --attach report.pdf
# List mailboxes (folders)
fastmail --output=json email mailboxes
Masked Email (Aliases)
Create disposable email aliases that forward to your inbox.
# Create masked email for a domain
fastmail --output=json masked create example.com "Shopping account"
# List masked emails (optionally filter by domain)
fastmail --output=json masked list
fastmail --output=json masked list example.com
# Enable/disable masked email
fastmail masked enable [email protected]
fastmail masked disable [email protected]
# Delete masked email (emails will bounce)
fastmail masked delete [email protected]
Calendar
# List calendars
fastmail --output=json calendar list
# List events (default: next 30 days)
fastmail --output=json calendar events
# Create event
fastmail calendar event-create --title "Meeting" --start "2024-01-15T10:00:00" --end "2024-01-15T11:00:00"
# Create event with attendees (sends invitations)
fastmail calendar invite --title "Team Sync" --start "2024-01-15T14:00:00" --attendees [email protected],[email protected]
Contacts
# List contacts
fastmail --output=json contacts list
# Search contacts
fastmail --output=json contacts search "john"
# Create contact
fastmail contacts create --name "John Doe" --email [email protected]
Vacation / Auto-Reply
# Get current vacation settings
fastmail --output=json vacation get
# Set vacation auto-reply
fastmail vacation set --subject "Out of Office" --body "I'm away until Jan 20"
# Disable vacation
fastmail vacation disable
Output
Use --output=json for structured output. Use --query to apply jq filters:
fastmail --output=json --query '.[] | select(.unreadEmails > 0)' email mailboxes
Common Options
| Flag | Description |
|---|---|
--account |
Override account email |
--limit |
Limit results (for list/search operations) |
--output |
Output format: text or json |
--query |
JQ filter expression for JSON output |