Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Secure, safe-by-default Fastmail integration (email, contacts, calendar) via JMAP + CalDAV. Use when you want to verify Fastmail setup, triage/search email,...
Secure, safe-by-default Fastmail integration (email, contacts, calendar) via JMAP + CalDAV. Use when you want to verify Fastmail setup, triage/search email,...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Use the bundled scripts (stdlib-only) to interact with Fastmail safely.
Set credentials/tokens: # JMAP token (Mail + Contacts scopes) export FASTMAIL_TOKEN='โฆ' # CalDAV app password (calendar) export FASTMAIL_CALDAV_USER='you@yourdomain' export FASTMAIL_CALDAV_PASS='app-password' # Optional: redact output (default is 1) export FASTMAIL_REDACT=1 Verify setup: python3 skills/fastmail-suite/scripts/suite.py status
python3 skills/fastmail-suite/scripts/suite.py status Expected style: Mail (JMAP): OK / MISSING TOKEN / AUTH FAILED Calendar (CalDAV): OK / MISSING APP PASSWORD / AUTH FAILED Contacts (JMAP): OK / MISSING TOKEN / AUTH FAILED
python3 skills/fastmail-suite/scripts/suite.py triage today python3 skills/fastmail-suite/scripts/suite.py triage last-7d Triage summarizes: top senders, action-needed subject patterns (invoice, bill, payment, due, confirm, action required, reminder, ...), highlights for friends.tas.edu.au and bill/payment-like items.
python3 skills/fastmail-suite/scripts/suite.py search "from:billing@ subject:invoice last:7d" python3 skills/fastmail-suite/scripts/suite.py search "has:attachment before:2026-02-01 tax" python3 skills/fastmail-suite/scripts/suite.py search "after:2026-02-01 reminder" Supported query tokens: from:foo subject:bar has:attachment last:7d (and other Nd forms) before:YYYY-MM-DD after:YYYY-MM-DD Bare words โ subject/body text search
python3 skills/fastmail-suite/scripts/suite.py thread <email-id> python3 skills/fastmail-suite/scripts/suite.py thread <thread-id> python3 skills/fastmail-suite/scripts/suite.py thread "school invoice" Shows concise thread summary: participants, rough timeline, latest 1โ2 messages with short plain-text summary.
python3 skills/fastmail-suite/scripts/fastmail.py mail inbox --limit 20 python3 skills/fastmail-suite/scripts/fastmail.py mail search "invoice" --limit 10 python3 skills/fastmail-suite/scripts/fastmail.py mail read <email-id>
python3 skills/fastmail-suite/scripts/fastmail.py contacts list --limit 20 python3 skills/fastmail-suite/scripts/fastmail.py contacts search "alice" --limit 5 python3 skills/fastmail-suite/scripts/fastmail.py contacts get <contact-id>
python3 skills/fastmail-suite/scripts/fastmail.py calendar calendars python3 skills/fastmail-suite/scripts/fastmail.py calendar upcoming --days 7
Fastmail Suite works with real Fastmail credentials, so the design is intentionally conservative.
FASTMAIL_TOKEN โ Fastmail JMAP API token (Mail + Contacts scopes). Best practice is to use a read-only token for normal usage.
FASTMAIL_TOKEN_SEND โ separate JMAP token with Email Submission scope for sending mail. Only used if you explicitly enable writes. FASTMAIL_CALDAV_USER / FASTMAIL_CALDAV_PASS โ Fastmail app password for calendar (CalDAV). FASTMAIL_REDACT โ controls redaction of output (default 1 = redacted). FASTMAIL_ENABLE_WRITES โ when set to 1, enables write operations (send/move/update). Omit or set to 0 to keep read-only.
Redaction is ON by default Output is redacted unless you pass --raw where supported. FASTMAIL_REDACT=1 is the default. Writes are OFF by default The skill will not send/move/update anything unless FASTMAIL_ENABLE_WRITES=1 and you have provided appropriate tokens (for example FASTMAIL_TOKEN_SEND for sending mail). Separation of roles You can keep a strict separation: Email reading: FASTMAIL_TOKEN Email sending: FASTMAIL_TOKEN_SEND (optional, only when writes are enabled) Calendar: FASTMAIL_CALDAV_USER + FASTMAIL_CALDAV_PASS (Fastmail app password) Read-only mode is fully supported You can run the entire suite (status, triage, search, thread, contacts, calendar read) with a read-only JMAP token + calendar app password, without ever enabling writes.
Contacts commands (list, search, get) tested against real Fastmail accounts. suite.py status now probes Contacts via JMAP and reports Contacts (JMAP) health.
Added scripts/suite.py with onboarding status checks for JMAP + CalDAV. Added mail workflows: triage today triage last-7d search <query> with token parser (from:, subject:, has:attachment, last:, before:, after:) thread <id-or-snippet> conversation summary Added wrapper passthrough in scripts/fastmail.py for suite .... Added quick-start and usage examples for status/triage/search/thread.
Workflow acceleration for inboxes, docs, calendars, planning, and execution loops.
Largest current source with strong distribution and engagement signals.