gmail
Skill10 starsChanged 7 months agoMITView on GitHub
Email management for small businesses. Daily triage, vendor communication, customer replies, templates, and inbox automation. Built on the gws CLI.
We split this skill into the rules it gives an agent
8 rules. 0 are common, 5 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 22 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 30
Run gws auth login -s gmail if not already done
- Distinctive: line 58
When triaging, sort emails into these buckets:
- Distinctive: line 156
Instead of typing the same response repeatedly, use templates:
- Distinctive: line 224
Run triage at the same time every day — consistency matters more than frequency
- Very specific: line 225
Use --format table for quick visual scans, --format json for programmatic processing
- Distinctive: line 226
Create labels that match your business categories (vendors, customers, accounting, team)
- Distinctive: line 227
Don't try to reach inbox zero — triage and prioritize instead
- Very specific: line 228
Use --dry-run before creating filters to preview what they'd match
“Common” is measured: kept by at least 6 in 10 of the 22 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Gmail
Email management built for how small businesses actually use email.
Uses the gws CLI for all Gmail operations. See the google-workspace skill for setup.
Triggers
- "check my email"
- "triage inbox"
- "send an email to..."
- "reply to..."
- "email summary"
- "set up email filters"
- Any request involving reading, sending, or managing email
Prerequisites
gwsCLI installed and authenticated with Gmail scope- Run
gws auth login -s gmailif not already done
Core Commands
gws gmail +triage # Unread inbox summary (sender, subject, date)
gws gmail +triage --max 10 # Limit to 10 messages
gws gmail +send # Send a new email
gws gmail +reply # Reply to a message (handles threading)
gws gmail +reply-all # Reply-all
gws gmail +forward # Forward a message
gws gmail +watch # Stream new emails as NDJSON (real-time)Sending and filters are consequential. Draft every outbound email and show it to the user for approval before
+send/+reply/+forward. Before creating a filter (which silently diverts or archives future mail), run it with--dry-run, show the user what it would match, and get a yes.
Daily Triage Workflow
The most valuable email workflow for an SMB owner. Run this every morning.
Step 1: Get the inbox snapshot
gws gmail +triage --max 20 --format tableStep 2: Categorize by priority
When triaging, sort emails into these buckets:
| Priority | What Goes Here | Action |
| Urgent | Customer complaints, payment issues, time-sensitive vendor requests | Handle immediately |
| Today | Orders, supplier confirmations, employee questions | Handle before end of day |
| This week | Marketing emails, partnership inquiries, non-urgent vendor comms | Batch process |
| Archive | Newsletters, notifications, FYI-only | Label and archive |
Step 3: Process urgent items first
# Reply to a specific message
gws gmail +reply
# Forward something that needs delegation
gws gmail +forwardStep 4: Batch-archive the noise
# Find and label promotional emails
gws gmail users messages list --params '{"q": "category:promotions is:unread", "maxResults": 50}' --format jsonSMB Email Patterns
Vendor Communication
Common patterns for small businesses dealing with suppliers:
# Find all emails from a specific vendor
gws gmail +triage --query 'from:vendor@example.com'
# Find purchase orders
gws gmail +triage --query 'subject:(purchase order OR PO OR invoice)'
# Find delivery notifications
gws gmail +triage --query 'subject:(delivery OR shipping OR tracking)'Customer Service
# Find customer questions (unread)
gws gmail +triage --query 'is:unread -category:promotions -category:social'
# Find emails mentioning orders or complaints
gws gmail +triage --query '(order OR complaint OR refund OR return) is:unread'Financial / Accounting
# Find invoices and receipts
gws gmail +triage --query 'subject:(invoice OR receipt OR payment OR statement)'
# Find emails from your bank
gws gmail +triage --query 'from:*@yourbank.com'Setting Up Filters
Filters automate email organization. Essential for any SMB:
Priority vendor filter
# Create a filter that labels emails from key vendors
gws gmail users settings filters create --json '{
"criteria": {"from": "vendor1@example.com OR vendor2@example.com"},
"action": {"addLabelIds": ["Label_vendors"], "removeLabelIds": ["INBOX"]}
}'Customer inquiry filter
# Label and star customer inquiries
gws gmail users settings filters create --json '{
"criteria": {"query": "from:(-@yourdomain.com) subject:(order OR question OR help)"},
"action": {"addLabelIds": ["Label_customers"], "markImportant": true}
}'Archive noise
# Auto-archive marketing newsletters
gws gmail users settings filters create --json '{
"criteria": {"query": "unsubscribe category:promotions"},
"action": {"removeLabelIds": ["INBOX"], "addLabelIds": ["Label_newsletters"]}
}'Email Templates
Replying to common questions
Instead of typing the same response repeatedly, use templates:
Order status inquiry:
Thanks for reaching out! Your order is [status]. Expected delivery is [date]. Let me know if you have any other questions.
Vendor payment confirmation:
Payment for invoice #[number] has been processed. Please confirm receipt. Thanks.
Meeting request:
Thanks for reaching out. I'm available [times]. Would any of those work for you? Here's my calendar link: [link]
The agent should adapt these templates to match the business's tone and the specific context of each email.
Monitoring & Alerts
Watch for new emails in real-time
# Stream new emails as they arrive (NDJSON)
gws gmail +watchSet up push notifications
# Watch for new messages (requires Pub/Sub topic)
gws gmail users watch --json '{
"topicName": "projects/YOUR_PROJECT/topics/gmail-notifications",
"labelIds": ["INBOX"]
}'Advanced Queries
Gmail search syntax works with all --query flags:
| Query | What It Finds |
is:unread | Unread messages |
is:starred | Starred messages |
has:attachment | Messages with attachments |
newer_than:7d | Last 7 days |
from:name@domain.com | From specific sender |
to:me | Sent directly to you (not CC/BCC) |
subject:(keyword) | Subject contains keyword |
label:vendors | Messages with specific label |
larger:5M | Larger than 5MB |
filename:pdf | Has PDF attachment |
Combine with AND/OR:
gws gmail +triage --query 'is:unread has:attachment newer_than:3d'Email Templates
Ready-to-adapt templates for common SMB emails (customer replies, vendor follow-ups, payment reminders, appointment confirmations) live in references/email-templates.md. Load the file when the user asks for copy, not when they ask for operations.
Integration with Other Skills
morning-briefing— Email triage is part of the daily briefingplaybook-discovery— Analyze 6 months of email to find automation opportunitiesgoogle-drive— Save attachments to Drivegoogle-tasks— Convert emails to tasksgoogle-calendar— Find meeting-related emails
Tips
- Run triage at the same time every day — consistency matters more than frequency
- Use
--format tablefor quick visual scans,--format jsonfor programmatic processing - Create labels that match your business categories (vendors, customers, accounting, team)
- Don't try to reach inbox zero — triage and prioritize instead
- Use
--dry-runbefore creating filters to preview what they'd match
Related Skills
google-workspace— Required setup (install and auth)google-calendar— Calendar events referenced in emailsgoogle-drive— Attachment managementmorning-briefing— Daily digest including email triageplaybook-discovery— Discover email-based workflows to automate
Your inbox is your business's nervous system. Triage it, don't fight it.
Other versions24 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 24
- vellum-ai/vellum-assistant★ 1.5ksame name
- gemini-cli-extensions/workspace★ 646same name
- greatSumini/cc-system★ 438same name
- sanjay3290/ai-skills★ 424same name
- glebis/claude-skills★ 404same name
- refly-ai/refly-skills★ 203same name
- hyperfx-ai/marketing-skills★ 107same name
- obra/muse-skills★ 20same name
- AbdullahMalik17/malikclaw★ 16same name
- chnlich/charlie-bot★ 9same name
14 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use google_sheets, elevenlabs and 3 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
Shugar86Skillgoogle_sheets
Google Sheets read/write integration
Also in 3 projects that use this
kennyolofsson23-netizenSkillelevenlabs
ElevenLabs voice AI integration. Text-to-speech, speech-to-text, voice cloning, and audio processing via ElevenLabs API and MCP.
Also in 3 projects that use this
G-HunterAiSkilltiktok
TikTok platform integration. Manage videos, view analytics, and track engagement.
Also in 3 projects that use this
toolittlecakesSkilltelegram
Read Telegram messages and chats. Use when the user wants to search Telegram chats, list dialogs, or get messages from a chat. Requires authentication on first use.
Also in 3 projects that use this
OpenAISkillemail
Email sending integration guidance — Resend (native Vercel Marketplace) with React Email templates. Covers API setup, transactional emails, domain verification, and template patterns. Use when sending emails from a Vercel-deployed application.
Also in 3 projects that use this
In this repository23 other files it gives its agents.
- data-lake-starterSkill
- google-workspaceSkill
- mcp-guideSkill
- secrets-managerSkill
- semantic-layer-auditSkill
- google-calendarSkill
- google-chatSkill
- slack-directorySkill
- slackSkill
- google-docsSkill
- google-driveSkill
- google-sheetsSkill
- google-tasksSkill
- brand-identitySkill
- creative-matrixSkill
- google-adsSkill
- nano-bananaSkill
- autoresearchSkill
- long-running-agentSkill
- morning-briefingSkill
- playbook-discoverySkill
- revenue-forecasterSkill
- patent-figureSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

