<< All versions

Skill v1.0.1

currentAutomated scan100/100
team-attention/plugins-for-claude-natives/gmail

18 files

──Details
PublishedSeptember 30, 2026 at 03:10 AM
Content Hashsha256:29be04b15e7aa9ac...
Git SHAfd9c20754dba
Bump Typepatch
Compare with v1.0.0
──Files
Files (1 file, 3.9 KB)
SKILL.md3.9 KBactive
SKILL.md · 112 lines · 3.9 KB

version: "1.0.1" name: gmail description: This skill should be used when the user asks to "check email", "read emails", "send email", "reply to email", "search inbox", or manages Gmail. Supports multi-account Gmail integration for reading, searching, sending, and label management.


Gmail Skill

Manage emails through Gmail API - read, search, send, and organize across multiple Google accounts.

Account Setup

Before running any command, read `accounts.yaml` to check registered accounts.

If accounts.yaml is missing or empty → Read references/setup-guide.md for initial setup
yaml
# accounts.yaml example
accounts:
personal:
email: user@gmail.com
description: Personal Gmail
work:
email: user@company.com
description: Work account

Email Sending Workflow (5 Steps)

When sending emails, create 5 Tasks with TaskCreate and execute sequentially:

StepTaskKey Action
1Gather contextRun Explore SubAgents in parallel: recipient info, related projects, background context
2Check previous conversationsSearch --query "to:recipient OR from:recipient newer_than:90d" → AskUserQuestion for thread selection
3Draft emailCompose draft → AskUserQuestion for feedback
4Test sendSend [TEST] email to user's own address → Open in Gmail web → Request confirmation
5Actual sendSend to recipient → Report completion

Signature: Append ---\nSent with Claude Code to all outgoing emails

Workflow Example: "Send a meeting email to John"

1. Create 5 Tasks
2. Step 1: Run parallel Explore SubAgents
- Search recipient (John) info (partners/, projects/, context.md, etc.)
- Search meeting context (calendar, recent meeting notes, etc.)
3. Step 2: Search "to:john@company.com OR from:john@company.com"
→ If previous conversation exists, AskUserQuestion (reply/new email)
4. Step 3: Draft email → AskUserQuestion (proceed/revise)
5. Step 4: Test send to my email → Open in Gmail web (`open "https://mail.google.com/mail/u/0/#inbox/{message_id}"`) → Request confirmation
6. Step 5: Actual send → Done

CLI Quick Reference

bash
# List messages
uv run python scripts/list_messages.py --account work --query "is:unread" --max 10
# Send email
uv run python scripts/send_message.py --account work --to "user@example.com" --subject "Subject" --body "Content"
# Check profile
uv run python scripts/manage_labels.py --account work profile
Detailed CLI usage: references/cli-usage.md
Search query reference: references/search-queries.md

View Email in Web

After sending, use the returned Message ID to view directly in Gmail web:

bash
# URL format
https://mail.google.com/mail/u/0/#inbox/{message_id}
# Example: Open in browser after test send
open "https://mail.google.com/mail/u/0/#inbox/19c145bbd47ddd01"
Note: u/0 is the first logged-in account, u/1 is the second account

File Structure

skills/gmail/
├── SKILL.md
├── accounts.yaml # Account metadata
├── scripts/ # CLI scripts
├── references/
│ ├── setup-guide.md # Initial setup guide
│ ├── cli-usage.md # Detailed CLI usage
│ ├── search-queries.md # Search query reference
│ └── credentials.json # OAuth Client ID (gitignore)
├── assets/
│ ├── accounts.default.yaml # Account config template
│ ├── email-templates.md # Email body templates
│ └── signatures.md # Signature templates (Plain/HTML)
└── accounts/ # Per-account tokens (gitignore)

Error Handling

SituationResolution
accounts.yaml missingRead references/setup-guide.md for initial setup
Token missingGuide user to run setup_auth.py --account <name>
Token expiredAuto-refresh; if failed, guide re-authentication
← v1.0.0All versions