From multi-mail
This skill should be used when the user asks to "check my email", "send an email", "read my messages", "search email", "reply to", "forward", "manage email folders", "list accounts", "sieve filter", "mail filter", "mail rule", "filter rule", "check my calendar", "list events", "create event", "list contacts", "search contacts", "add contact", or otherwise work with their IMAP/SMTP email accounts, CalDAV calendars, or CardDAV contacts. It provides guidance on composing effective searches, managing multiple accounts, managing server-side Sieve filter rules, working with calendars and contacts, and handling common email workflows.
How this skill is triggered — by the user, by Claude, or both
Slash command
/multi-mail:email-workflowsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Guide for working with multiple self-hosted mail accounts — email (IMAP/SMTP), Sieve filters, CalDAV calendars, and CardDAV contacts.
Guide for working with multiple self-hosted mail accounts — email (IMAP/SMTP), Sieve filters, CalDAV calendars, and CardDAV contacts.
email_)email_sieve_)cal_)card_)email_list_accounts to confirm which account to use.email_list_messages with the account id and folder (default INBOX).email_read_message with the UID.Use email_search_messages with IMAP SEARCH syntax. Common patterns:
| Goal | Query |
|---|---|
| From a person | FROM "[email protected]" |
| By subject | SUBJECT "invoice" |
| Unread only | UNSEEN |
| Since a date | SINCE 01-Mar-2026 |
| Flagged | FLAGGED |
| Combined | FROM "bob" SINCE 01-Jan-2026 UNSEEN |
| OR logic | OR FROM "bob" SUBJECT "urgent" |
Dates use DD-Mon-YYYY format (e.g., 01-Jan-2026).
email_send_message with to, subject, and body.email_reply with the UID. Set reply_all: true to include all original recipients.email_forward with the UID and new recipient(s). Optionally include a note.email_autodiscover to auto-detect IMAP/SMTP/CalDAV/CardDAV settings.email_add_account with all settings.Autodiscovery supports Mozilla autoconfig (Mailcow, Stalwart, standard ISPs),
Microsoft Autodiscover (Exchange, Mailcow), DNS SRV records, and .well-known
CalDAV/CardDAV endpoints (RFC 6764).
Sieve is a server-side mail filtering language (RFC 5228). ManageSieve (RFC 5804, port 4190) is the protocol for managing Sieve scripts remotely.
email_sieve_list to see all scripts and which is active.email_sieve_get to read a script's content.email_sieve_put with the script name and content.activate: true to make it the active filter immediately.Move mail from a sender to a folder:
require ["fileinto"];
if address :is "from" "[email protected]" {
fileinto "GitHub";
}
Discard spam with a subject keyword:
require ["reject"];
if header :contains "subject" "win a prize" {
discard;
}
Vacation auto-reply:
require ["vacation"];
vacation :days 7 :subject "Out of office"
"I'm currently away. I'll respond when I return.";
Redirect a copy to another address:
require ["copy"];
redirect :copy "[email protected]";
email_sieve_activate with a script name to switch.email_sieve_activate with an empty script_name to disable all filtering.ManageSieve defaults to the IMAP host on port 4190 with STARTTLS.
Override per account with sieve_host, sieve_port, sieve_security fields.
For Sieve language reference, see references/sieve-language.md.
CalDAV requires a caldav_url set on the account. Autodiscovery tries
.well-known/caldav on the mail server automatically.
cal_list_calendars to see all calendars for an account.cal_list_events with an optional date range (start / end in ISO 8601).cal_get_event with a UID for full event details.Call cal_create_event with:
2026-03-15T10:00:00)Call cal_update_event with the event UID and any fields to change
(summary, dtstart, dtend, description, location).
Call cal_delete_event with the event UID.
All dates use ISO 8601 format: YYYY-MM-DDTHH:MM:SS (e.g., 2026-03-15T14:30:00).
For all-day events, use just the date: 2026-03-15.
CardDAV requires a carddav_url set on the account. Autodiscovery tries
.well-known/carddav on the mail server automatically.
card_list_addressbooks to see all address books.card_list_contacts to list contacts in an address book (defaults to the first one).Call card_search_contacts with a query string. It searches across names and email addresses.
Call card_create_contact with:
Call card_update_contact with the contact href and any fields to update
(full_name, email, phone, organization).
Call card_delete_contact with the contact href.
allow_insecure flags skip TLS verification — only use for self-signed certs on trusted networks.references/imap-search-syntax.mdreferences/sieve-language.mdnpx claudepluginhub disko/multi-mailCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.