Skip to main content

gmail

Gmail connector tools and quirks (MAIL_PROVIDER=gmail) - searching, reading, archiving, drafting and sending with `mcp__claude_ai_Gmail__*`. Load with `ted-personal-assistant:mail`, which holds the rules.

Source facts

Repository
bbinoy/ted-personal-assistant
Last source activity
November 2, 2026 at 12:48
Detected SKILL.md language
English
Stars
2
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
gmail
description
Gmail connector tools and quirks (MAIL_PROVIDER=gmail) - searching, reading, archiving, drafting and sending with `mcp__claude_ai_Gmail__*`. Load with `ted-personal-assistant:mail`, which holds the rules.
# Gmail (claude.ai connector) Gmail comes through the owner's Claude account like Notion does: tools named `mcp__claude_ai_Gmail__*`. If they are missing, the connector is not connected: say so and tell the owner to connect Gmail in their Claude account (Settings, Connectors); do not try anything else. The mail rules (triage, drafting, sending) are in `ted-personal-assistant:mail`; this file holds what is particular to Gmail. The tools you have: `search_threads`, `get_thread`, `get_message`, `get_draft`, `list_drafts`, `list_labels`, `create_draft`, `update_draft`, `reply`, `forward`, `send_message`, `unlabel_thread`, `label_thread`. Ids are strings. Arguments are camelCase (`threadId`, `messageId`, `labelIds`, `messageFormat`). - **Listing and reading.** `search_threads` with Gmail search syntax: `in:inbox`, `is:unread`, `newer_than:2d`, `from:`, `subject:`. A look lists the whole inbox, read and unread (`in:inbox`, not `is:unread`, paging with the page token until it ends, oldest included). Sent mail, every look: `in:sent newer_than:2d` (back to the last look). Rows carry sender, subject, snippet and date. Open with `get_thread` and `messageFormat: "PLAIN_TEXT"` (never `RAW`). - **Attachments**: never read or open their content; if the owner needs it, tell them to open it in Gmail. - **Archive** = `unlabel_thread` with `labelIds: ["INBOX"]` (reversible: `npm run restore <threadId>` or label the thread INBOX again). Never trash, delete or mark spam: those tools and the labels `TRASH` and `SPAM` (on any label tool) are blocked. Archiving may be switched to log-only, in which case a refused archive is not an error. - **Drafts**: `create_draft` (for a reply pass `replyToMessageId` so it stays in the thread) and `update_draft`. Plain text in `body`, no Markdown; one blank line between paragraphs, and read the saved draft back before any send. Show it in chat as the mail skill says. - **Sends**: `send_message` (a new mail, or a draft by `draftId`), `reply` and `forward` ask on the owner's phone or are judged against what they just told you. In `reply`, give the text and the `messageId` of the latest message in the thread. - **Labels**: `label_thread` and the other label tools are routine upkeep, done without asking. `list_labels` gives label ids (the tools take ids, not names).
View on GitHub