email-summary
This skill fetches unread Gmail messages and produces AI-generated summaries. It instructs executing python3 {baseDir}/scripts/fetch_emails.py, accesses credentials at GMAIL_CREDENTIALS_PATH (and writes token.json), and performs network calls to the Gmail API (https://www.googleapis.com/auth/gmail.readonly).
Email Summary Skill for OpenClaw
AI-powered email summarization skill that fetches your Gmail messages and provides concise, actionable summaries.
Features
- Fetch recent unread emails from Gmail
- AI-generated summaries with key points
- Suggested actions for each email
- Configurable number of emails to fetch
- Secure OAuth2 authentication
Installation
1. Install Python Dependencies
pip install google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client
2. Set Up Gmail API Credentials
- Go to Google Cloud Console
- Create a new project (or select an existing one)
- Enable the Gmail API:
- Navigate to "APIs & Services" > "Library"
- Search for "Gmail API"
- Click "Enable"
- Create OAuth2 credentials:
- Go to "APIs & Services" > "Credentials"
- Click "Create Credentials" > "OAuth client ID"
- Choose "Desktop app" as application type
- Download the credentials JSON file
- Save the credentials file to a secure location (e.g.,
~/.config/gmail/credentials.json)
3. Set Environment Variable
Add this to your shell configuration (~/.zshrc, ~/.bashrc, etc.):
export GMAIL_CREDENTIALS_PATH="$HOME/.config/gmail/credentials.json"
Reload your shell:
source ~/.zshrc # or ~/.bashrc
4. Install the Skill
Option A: Install to OpenClaw local skills
cp -r email-summary ~/.openclaw/skills/
Option B: Install to workspace
# In your OpenClaw workspace directory
cp -r email-summary ./skills/
First-Time Setup
The first time you run the skill, you'll need to authorize access:
- A browser window will open automatically
- Sign in to your Google account
- Grant permissions to access Gmail (read-only)
- The authorization token will be saved for future use
Usage
In OpenClaw, use the /email-summary command:
Fetch last 10 unread emails (default)
/email-summary
Fetch specific number of emails
/email-summary --count 20
Fetch all unread emails
/email-summary --all
Output Format
The skill provides structured summaries:
📧 Email Summary (10 unread messages)
1. From: john@example.com
Subject: Q1 Budget Review Meeting
Summary: John is requesting your attendance at the quarterly budget
review scheduled for next Tuesday at 2 PM. He's asking for department
expense reports to be submitted beforehand.
Action: ✅ Reply to confirm attendance and submit expense report
2. From: newsletter@techcompany.com
Subject: Weekly Tech Digest
Summary: Latest updates on AI developments, new framework releases,
and upcoming tech conferences.
Action: 📚 Archive (informational newsletter)
...
Security & Privacy
- Your credentials are stored locally on your machine
- The skill uses read-only Gmail API access
- No emails are sent to external servers (except OpenClaw's AI for summarization)
- OAuth tokens are saved in
token.jsonnext to your credentials file
Troubleshooting
"GMAIL_CREDENTIALS_PATH not set"
Make sure you've exported the environment variable and restarted OpenClaw.
"Credentials file not found"
Verify the path in GMAIL_CREDENTIALS_PATH is correct and the file exists.
"Required packages not installed"
Run the pip install command from Installation step 1.
Authentication browser doesn't open
The script will print a URL - copy and paste it into your browser manually.
Publishing to ClawHub
To share this skill on ClawHub:
- Create a GitHub repository for your skill
- Ensure all files are included (SKILL.md, scripts/, README.md)
- Update the
homepagefield in SKILL.md with your repo URL - Visit ClawHub and follow their publishing guidelines
- Submit your skill for review
License
MIT License - feel free to modify and share!
Contributing
Contributions welcome! Please submit issues and pull requests on GitHub.