Learn-skills.dev gmail-inbox
Manage emails across multiple Gmail accounts with unified tooling. Use when user asks to check email, read inbox, label emails, archive messages, or manage Gmail across accounts.
install
source · Clone the upstream repo
git clone https://github.com/NeverSight/learn-skills.dev
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeverSight/learn-skills.dev "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skills-md/aiagentwithdhruv/skills/gmail-inbox" ~/.claude/skills/neversight-learn-skills-dev-gmail-inbox && rm -rf "$T"
manifest:
data/skills-md/aiagentwithdhruv/skills/gmail-inbox/SKILL.mdsource content
Gmail Inbox Management
Goal
Check and manage emails across multiple Gmail accounts using unified tooling.
Scripts
- Check and manage inboxes./scripts/gmail_unified.py
- Authenticate accounts./scripts/gmail_multi_auth.py
- Bulk labeling./scripts/gmail_bulk_label.py
- Create filters./scripts/gmail_create_filters.py
- Auth helper./scripts/gmail_auth.py
Quick Reference
# Check unread across all accounts python3 ./scripts/gmail_unified.py --query "is:unread" --limit 50 # Check specific account only python3 ./scripts/gmail_unified.py --query "is:unread" --account yourcompany # List registered accounts python3 ./scripts/gmail_unified.py --accounts # Label and archive emails python3 ./scripts/gmail_unified.py --query "from:notifications@" --label "Notifications" --archive # Mark as read python3 ./scripts/gmail_unified.py --query "from:noreply@" --mark-read # Dry run (preview) python3 ./scripts/gmail_unified.py --query "subject:invoice" --label "Invoices" --dry-run
Account Registry
| Account | Credentials | Token | |
|---|---|---|---|
| youruser | you@example.com | credentials.json | token_youruser.json |
| yourcompany | you@yourdomain.com | credentials_yourcompany.json | token_yourcompany.json |
Troubleshooting Auth Errors
"Token file not found"
python3 ./scripts/gmail_multi_auth.py --account yourcompany --email you@yourdomain.com
"invalid_scope: Bad Request"
rm token_youruser.json python3 ./scripts/gmail_multi_auth.py --account youruser --email you@example.com
"Failed to authenticate" Check that credentials.json exists in root directory.
Required Scopes
- Read/write emailsgmail.modify
- Create/manage labelsgmail.labels
- Manage settingsgmail.settings.basic
- Google Sheets accessspreadsheets
- Google Drive accessdrive
Credentials Location
All credential files should be in the workspace root:
/credentials.json
- OAuth client configscredentials_yourcompany.json
- Auth tokens (auto-generated)token_*.json
- Account registrygmail_accounts.json
Schema
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| string | No | Gmail search query (e.g., 'is:unread') |
| string | No | Specific account name from registry |
| integer | No | Max emails to fetch (default: 50) |
Outputs
| Name | Type | Description |
|---|---|---|
| array | List of email objects with subject, from, date, snippet |
Credentials
| Name | Source |
|---|---|
| file |
| file (auto-generated) |
Composable With
Skills that chain well with this one:
gmail-label, instantly-autoreply
Cost
Free (Gmail API)