Agent Skills

Gmail: Reply to a message (handles threading automatically).

Install

npx skills add https://github.com/googleworkspace/cli --skill gws-gmail-reply
SKILL.md

gmail +reply

PREREQUISITE: Read ../gws-shared/SKILL.md for auth, global flags, and security rules. If missing, run gws generate-skills to create it.

Reply to a message (handles threading automatically)

Usage

gws gmail +reply --message-id <ID> --body <TEXT>

Flags

Flag Required Default Description
--message-id ✓ — Gmail message ID to reply to
--body ✓ — Reply body (plain text, or HTML with --html)
--from — — Sender address (for send-as/alias; omit to use account default)
--to — — Additional To email address(es), comma-separated
--attach — — Attach a file (can be specified multiple times)
--cc — — CC email address(es), comma-separated
--bcc — — BCC email address(es), comma-separated
--html — — Treat --body as HTML content (default is plain text)
--dry-run — — Show the request that would be sent without executing it
--draft — — Save as draft instead of sending

Examples

gws gmail +reply --message-id 18f1a2b3c4d --body 'Thanks, got it!'
gws gmail +reply --message-id 18f1a2b3c4d --body 'Looping in Carol' --cc carol@example.com
gws gmail +reply --message-id 18f1a2b3c4d --body 'Adding Dave' --to dave@example.com
gws gmail +reply --message-id 18f1a2b3c4d --body '<b>Bold reply</b>' --html
gws gmail +reply --message-id 18f1a2b3c4d --body 'Updated version' -a updated.docx
gws gmail +reply --message-id 18f1a2b3c4d --body 'Draft reply' --draft

Tips

  • Automatically sets In-Reply-To, References, and threadId headers.
  • Quotes the original message in the reply body.
  • --to adds extra recipients to the To field.
  • Use -a/--attach to add file attachments. Can be specified multiple times.
  • With --html, the quoted block uses Gmail's gmail_quote CSS classes and preserves HTML formatting. Use fragment tags (

    , , , etc.) — no / wrapper needed.

  • With --html, inline images in the quoted message are preserved via cid: references.
  • Use --draft to save the reply as a draft instead of sending it immediately.
  • For reply-all, use +reply-all instead.

See Also

Search skills and MCP servers

Fuzzy search across 23,137 skills and servers