Install
$ agentstack add skill-benchflow-ai-skillsbench-gmail-skill ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Gmail Manager Skill
This skill provides comprehensive Gmail integration through lightweight CLI scripts. All operations are token-efficient and composable.
First-Time Setup
Before using this skill, you must set up OAuth authentication:
- Install dependencies:
``bash cd ~/.claude/skills/gmail-skill && npm install ``
- Set up Google Cloud credentials:
- Follow the guide in
docs/google-cloud-setup.md - Download
credentials.jsonand save toscripts/auth/credentials.json
- Authenticate:
``bash cd ~/.claude/skills/gmail-skill && npm run setup ``
This will open a browser for Google OAuth and save your token locally.
Multi-Account Support
The Gmail skill supports multiple accounts (e.g., personal and work email):
Add Additional Accounts
# Add a second account (from skill directory)
npm run setup -- --account work
# Add a third account
npm run setup -- --account personal
Each account needs separate OAuth authentication.
Manage Accounts
# List all configured accounts
node scripts/manage-accounts.js --list
# Set default account (used when --account is not specified)
node scripts/manage-accounts.js --set-default work
# Remove an account
node scripts/manage-accounts.js --remove old-account
Using Specific Accounts
All Gmail operations support the --account parameter:
# Send email from work account
node gmail-send.js --account work --to "user@example.com" --subject "..." --body "..."
# Send from personal (or omit --account to use default)
node gmail-send.js --account personal --to "friend@example.com" --subject "..." --body "..."
# Search work emails
node gmail-search.js --account work --query "is:unread"
If --account is not specified, the default account is used.
Usage Guidelines
1. Read Documentation On-Demand
When first using Gmail operations, read the comprehensive README:
cat ~/.claude/skills/gmail-skill/README.md
This provides detailed usage examples for all operations.
2. Execute Scripts via Bash
All scripts are in the scripts/ directory and output JSON for easy parsing:
cd ~/.claude/skills/gmail-skill/scripts
3. Parse JSON Output
All scripts return JSON. Parse the output and present relevant information to the user in a friendly format.
4. Chain Operations
Save intermediate results to files when chaining operations:
# Search for emails
node gmail-search.js --query "from:user@example.com" > /tmp/search-results.json
# Read first message from results
MESSAGE_ID=$(cat /tmp/search-results.json | jq -r '.messages[0].id')
node gmail-read.js --id "$MESSAGE_ID"
Available Operations
Send Email
node gmail-send.js --to "user@example.com" --subject "Subject" --body "Body text"
Search Emails
node gmail-search.js --query "is:unread" --limit 10
Read Message
node gmail-read.js --id "MESSAGE_ID"
Manage Labels
# List all labels
node gmail-labels.js --action list
# Add label to message
node gmail-labels.js --action add --id "MESSAGE_ID" --label "Important"
Manage Drafts
# Create draft
node gmail-drafts.js --action create --to "user@example.com" --subject "Subject" --body "Draft body"
# Send draft
node gmail-drafts.js --action send --id "DRAFT_ID"
Error Handling
If scripts fail:
- Check that
token.jsonexists inscripts/auth/ - If token is expired, run
npm run setupagain - Verify the user granted all required Gmail API permissions
Best Practices
- Always change to the scripts directory first to ensure relative paths work
- Parse JSON output and present user-friendly summaries
- Validate user input before passing to scripts
- Handle errors gracefully and provide helpful error messages
- Use search operators for precise email filtering (see README.md)
Token Efficiency
This skill is designed for minimal token usage:
- Documentation loaded only when needed
- Scripts are small and focused
- JSON output is compact and parseable
- No persistent server overhead
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: benchflow-ai
- Source: benchflow-ai/skillsbench
- License: Apache-2.0
- Homepage: https://www.skillsbench.ai
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.