skills/tier-2-communication/gmail/SKILL.md
Email management for small businesses. Daily triage, vendor communication, customer replies, templates, and inbox automation. Built on the gws CLI.
npx skillsauth add pbc-os/agent-skills-public gmailInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
gws CLI installed and authenticated with Gmail scopegws auth login -s gmail if not already donegws 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.
The most valuable email workflow for an SMB owner. Run this every morning.
gws gmail +triage --max 20 --format table
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 |
# Reply to a specific message
gws gmail +reply
# Forward something that needs delegation
gws gmail +forward
# Find and label promotional emails
gws gmail users messages list --params '{"q": "category:promotions is:unread", "maxResults": 50}' --format json
Common patterns for small businesses dealing with suppliers:
# Find all emails from a specific vendor
gws gmail +triage --query 'from:[email protected]'
# 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)'
# 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'
# 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'
Filters automate email organization. Essential for any SMB:
# Create a filter that labels emails from key vendors
gws gmail users settings filters create --json '{
"criteria": {"from": "[email protected] OR [email protected]"},
"action": {"addLabelIds": ["Label_vendors"], "removeLabelIds": ["INBOX"]}
}'
# Label and star customer inquiries
gws gmail users settings filters create --json '{
"criteria": {"query": "from:([email protected]) subject:(order OR question OR help)"},
"action": {"addLabelIds": ["Label_customers"], "markImportant": true}
}'
# Auto-archive marketing newsletters
gws gmail users settings filters create --json '{
"criteria": {"query": "unsubscribe category:promotions"},
"action": {"removeLabelIds": ["INBOX"], "addLabelIds": ["Label_newsletters"]}
}'
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.
# Stream new emails as they arrive (NDJSON)
gws gmail +watch
# Watch for new messages (requires Pub/Sub topic)
gws gmail users watch --json '{
"topicName": "projects/YOUR_PROJECT/topics/gmail-notifications",
"labelIds": ["INBOX"]
}'
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:[email protected] | 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'
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.
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--format table for quick visual scans, --format json for programmatic processing--dry-run before creating filters to preview what they'd matchgoogle-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 automateYour inbox is your business's nervous system. Triage it, don't fight it.
tools
Generate and iteratively refine USPTO-style patent figure drawings from provisional patent application markdown files, using nano-banana for v1 generation and targeted single-fix edits for v2+ iteration.
data-ai
Weekly revenue / sales forecasting for small businesses with multiple locations or product lines. Blends recent trend + seasonal baseline + YoY growth with per-entity holiday multipliers and week-of-month adjustments. Ships autoresearch-compatible eval and parameters so you can tune it on your own historical data.
data-ai
Analyze email, calendar, and file patterns to discover repeatable workflows that AI agents can automate.
testing
Automated daily digest for small business owners. Combines email triage, calendar agenda, open tasks, and business KPIs into a single morning briefing. Composable — works with whatever data sources are available. Urgent emails require body inspection and explicit escalation signals — never classified from sender/timing metadata alone.