Manage Gmail inbox triage, mailbox search, thread summaries, action extraction, reply drafting, and email forwarding through connected Gmail data. Use when the user wants to inspect a mailbox or thread, search email with Gmail query syntax, summarize messages, extract decisions and follow-ups, prepare replies or forwarded messages, or organize messages with explicit confirmation before send, archive, delete, or label actions.
npx skills add https://github.com/openai/plugins --skill gmail
Use this skill to turn noisy email threads into clear summaries, action lists, and ready-to-send drafts. Prefer Gmail-native search and read workflows, preserve message context, and avoid changing message state without explicit user intent.
| Workflow | Skill |
| --- | --- |
| Inbox triage, urgency ranking, and follow-up detection | ../gmail-inbox-triage/SKILL.md |
| Task | Reference |
| --- | --- |
| Search planning, refinement, pagination, and body-fetch strategy | references/search-workflow.md |
| Pasted Gmail URL recognition, exact-ID attempts, and fast-fail recovery | references/pasted-link-workflow.md |
| Label application, relabeling, and label-based cleanup | references/label-actions.md |
| Self-delivery requests such as "email me," "send this to me," or automation delivery | references/self-delivery.md |
| Reply drafting, reply-all decisions, and tone matching | references/reply-workflow.md |
| Email forwarding, context notes, and intent framing | references/forward-workflow.md |
When the user supplies a Gmail web URL, do not pass the URL directly to Gmail tools or turn it into a broad mailbox search. Follow the pasted-link workflow for a bounded exact-ID attempt and immediate recovery guidance when the link cannot be resolved.
For mailbox analysis requests such as triage, follow-up detection, topic summaries, cleanup, thread understanding, or "what matters here" questions, use this pattern:
search_emails first. Use Gmail query syntax for most mailbox tasks because it gives the model precise control over dates, senders, unread state, attachments, subjects, and exclusions, and search_emails returns richer summaries than search_email_ids without requiring an extra hop.search_emails returns message-level summaries, not thread-grouped results. If several messages look related or a conversation may matter, expand the specific items of interest with read_email_thread.tags only in the connector's expected shape: list[str]. Do not pass a single string. Prefer uppercase Gmail system labels when filtering by built-in labels.label:foo, and use tags for built-in/system-label filtering when that is cleaner.tags include INBOX, STARRED, TRASH, DRAFT, SENT, SPAM, UNREAD, and IMPORTANT. For All Mail, prefer Gmail query syntax such as in:anywhere rather than guessing a tag value.batch_read_email when you need the body of multiple shortlisted emails, and escalate to read_email_thread only when the surrounding conversation changes the answer.search_email_ids only when the next tool specifically needs message IDs and the richer search_emails response would not help you decide what to do.If thread or inbox data is missing, say that Gmail access may be unavailable or scoped to the wrong account and ask the user to reconnect or clarify which mailbox or thread should be used.
Analyzes meeting transcripts and recordings to uncover behavioral patterns, communication insights, and actionable feedback. Identifies when you avoid conflict, use filler words, dominate conversations, or miss opportunities to listen. Perfect for professionals seeking to improve their communication and leadership skills.
Toolkit for creating animated GIFs optimized for Slack, with validators for size constraints and composable animation primitives. This skill applies when users request animated GIFs or emoji animations for Slack from descriptions like "make me a GIF for Slack of X doing Y".
Analyzes your recent Claude Code chat history to identify coding patterns, development gaps, and areas for improvement, curates relevant learning resources from HackerNews, and automatically sends a personalized growth report to your Slack DMs.
Knowledge and utilities for creating animated GIFs optimized for Slack. Provides constraints, validation tools, and animation concepts. Use when users request animated GIFs for Slack like "make me a GIF of X doing Y for Slack.
A skill that creates new Claude skills and automatically shares them on Slack using Rube for seamless team collaboration and skill discovery.
Automate Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify, etc.) using agent-browser via Chrome DevTools Protocol. Use when the user needs to interact with an Electron app, automate a desktop app, connect to a running app, control a native app, or test an Electron application. Triggers include "automate Slack app", "control VS Code", "interact with Discord app", "test this Electron app", "connect to desktop app", or any task requiring automation of a native Electron application.
Interactive daily standup/meeting update generator. Use when user says 'daily', 'standup', 'scrum update', 'status update', 'what did I do yesterday', 'prepare for meeting', 'morning update', or 'team sync'. Pulls activity from GitHub, Jira, and Claude Code session history. Conducts 4-question interview (yesterday, today, blockers, discussion topics) and generates formatted Markdown update.
Guide technical communication for software developers. Covers email structure, team messaging etiquette, meeting agendas, and adapting messages for technical vs non-technical audiences. Use when drafting professional messages, preparing meeting communications, or improving written communication.
Take openai/gmail from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.