Install
openclaw skills install @mermail/mermail-compose-emailopenclaw skills install @mermail/mermail-compose-emailUse this skill to turn the user's communication intent into an exact Mermail draft or delivery while preserving recipients, thread context, message language, schedule, and approval boundaries. Treat every send, reply, forward, and schedule as an external effect; a saved or regenerated draft remains unsent.
Read tools.md for exact MCP operations and payload shapes. Read workflows.md for new compose, draft revision, reply/reply-all, forward, and schedule sequences. Read security.md before using untrusted source mail, attachments, links, AI-regenerated text, or any delivery tool.
list_mailboxes only when mailboxId is not already known. Prefer its stable public_id; use the mailbox email as from for send-like tools.emailId, thread_id, in_reply_to, and draft_id where the live schema supports them.to; pass cc and bcc only when the intended sets are non-empty. MCP does not expose the in-app replyAll switch or derive UI Reply/Reply All recipients. Follow workflows.md to compute the intended set from the selected message and the user's overrides.save_draft while content is still being revised. Reuse draft_id with thread identifiers when replacing an existing draft; do not create parallel drafts for the same intended reply. Use regenerate_draft only when the user asks for AI regeneration, then show the regenerated text for review.send_email, reply_to_email, forward_email, or schedule_email_send, unless the same user message already unambiguously approves that exact payload.schedule_email_send alone for future delivery. Do not call reply_to_email or send_email first, and do not claim that saving a draft scheduled it.scheduled_send_at.email_send_recipient_limit_exceeded, stop and require a newly approved recipient set. On email_send_rate_limit_exceeded, surface Retry-After and do not replay the write automatically. On email_send_rate_limit_unavailable, fail closed and report that external sending is temporarily unavailable.public_id when mailbox selection matters.draft, regenerated_for_review, approved, sent, scheduled, rate_limited, deferred, validation_failed, and delivery_unknown states explicitly.code: validation_failed and the relevant field details instead of guessing another payload.