PluginBench
Skill
Pass
Audit score 90

gws-gmail-reply

googleworkspace/cli

Reply to Gmail messages with automatic threading, CC/BCC, attachments, and draft support.

What is gws-gmail-reply?

Sends a reply to a Gmail message while automatically handling threading, quoted text, and message headers. Use this when you need to respond to an email with optional recipients, attachments, or HTML formatting.

  • Reply to messages with automatic In-Reply-To and References headers
  • Quote the original message in the reply body
  • Add CC, BCC, or additional To recipients
  • Attach files (multiple attachments supported)
  • Send as HTML or plain text
  • Save replies as drafts instead of sending

How to install gws-gmail-reply

npx skills add null --skill gws-gmail-reply
Prerequisites
  • gws CLI installed and configured
  • Google Workspace account with Gmail enabled
  • Authentication configured (see gws-shared/SKILL.md)
Claude Code
Cursor
Windsurf
Cline

How to use gws-gmail-reply

  1. 1.Obtain the Gmail message ID of the email you want to reply to
  2. 2.Run gws gmail +reply with --message-id and --body as minimum arguments
  3. 3.Optionally add --cc, --bcc, or --to for additional recipients
  4. 4.Optionally use --attach to include file attachments (can repeat)
  5. 5.Use --html flag if your body contains HTML formatting
  6. 6.Use --draft to save as draft instead of sending immediately
  7. 7.Use --dry-run to preview the request before executing

Use cases

Good for
  • Respond to a specific email with a quick acknowledgment
  • Reply to a message while adding new recipients (CC or To)
  • Send a formatted HTML reply with preserved inline images
  • Attach updated documents or files to a reply
  • Save a draft reply for later review before sending
Who it's for
  • Email automation workflows
  • Productivity agents managing Gmail inboxes
  • Users needing programmatic email responses
  • Teams automating customer or internal communications

gws-gmail-reply FAQ

How do I reply to all recipients in the original message?

Use gws gmail +reply-all instead of +reply. The +reply skill adds only the sender; +reply-all includes all original recipients.

Can I add attachments to my reply?

Yes, use the --attach flag (or -a shorthand) with a file path. You can specify --attach multiple times to add multiple files.

How does threading work automatically?

The skill automatically sets In-Reply-To, References, and threadId headers, so Gmail groups your reply with the original message conversation.

Can I send HTML-formatted replies?

Yes, use the --html flag with your --body content. The original message is quoted using Gmail's gmail_quote CSS classes, and inline images are preserved via cid: references.

What does --dry-run do?

It shows the request that would be sent without actually executing it, letting you preview the reply before sending.

Full instructions (SKILL.md)

Source of truth, from googleworkspace/cli.


name: gws-gmail-reply description: "Gmail: Reply to a message (handles threading automatically)." metadata: version: 0.22.5 openclaw: category: "productivity" requires: bins: - gws cliHelp: "gws gmail +reply --help"

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

FlagRequiredDefaultDescription
--message-idGmail message ID to reply to
--bodyReply body (plain text, or HTML with --html)
--fromSender address (for send-as/alias; omit to use account default)
--toAdditional To email address(es), comma-separated
--attachAttach a file (can be specified multiple times)
--ccCC email address(es), comma-separated
--bccBCC email address(es), comma-separated
--htmlTreat --body as HTML content (default is plain text)
--dry-runShow the request that would be sent without executing it
--draftSave 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 (<p>, <b>, <a>, etc.) — no <html>/<body> 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