← 返回 Skills 市场
russidan-nadee

Mail Summary

作者 Russidan-Nadee · GitHub ↗ · v1.1.6 · MIT-0
cross-platform ⚠ suspicious
131
总下载
0
收藏
0
当前安装
5
版本数
在 OpenClaw 中安装
/install mail-summary
功能描述
Fetch Gmail emails from the last 24h, rank by importance, summarize into bullet points, and auto-create Google Calendar events for detected meetings.
使用说明 (SKILL.md)

name: mail-summary description: Fetch Gmail emails from the last 24h, rank by importance, summarize into bullet points, and auto-create Google Calendar events for detected meetings.

Email & Calendar Assistant Skill

Description

This skill reads Gmail emails, ranks them by importance, summarizes each email into bullet points, and creates Google Calendar events if an email contains a meeting or interview that is not already on the calendar.

Capabilities

  • Read emails (read-only)
  • Rank emails by importance
  • Summarize emails into bullet points
  • Detect meeting/interview emails
  • Create Google Calendar events (only when not already added)
  • Auto-refreshes Google OAuth token as needed for uninterrupted access.

Installation

Via ClawHub (recommended):

clawhub install mail-summary

Manual:

git clone https://github.com/Russidan-Nadee/mail-summary.git ~/.openclaw/workspace/skills/mail-summary

Setup Instructions (First-Time Only)

Step 1 — Get Google API credentials

  1. Go to Google Cloud Console
  2. Create a new project (or select existing one)
  3. In the left sidebar, go to APIs & Services → click Enable APIs and Services
  4. Search and enable each of the following:
    • Gmail API
    • Google Calendar API
  5. In the left sidebar, go to APIs & Services → OAuth consent screen
    • Click Get Started
    • Fill in App name and User support email → click Save and Continue
    • Under Audience → click Add Users → add your Google email → click Save
  6. In the left sidebar, go to APIs & Services → Credentials
  7. Click Create Credentials → OAuth client ID
  8. Under Application type select Desktop app
  9. Give it a name (e.g. Mail Summary) → click Create
  10. Click Download JSON → you'll get a file named client_secret_*.json

Step 2 — Connect to the agent

  1. Send the client_secret_*.json file to the agent as an attachment
    • Via Telegram: send as a file (not photo) in your Clawdbot chat
    • Via Claude Desktop: drag and drop the file into the chat
    • Via other platforms: attach the file the same way you attach any document
  2. The agent will print an authorization URL — click it to open in your browser
  3. Log in with your Google account and click Allow
  4. Your browser will redirect to a localhost page showing an error — this is normal
  5. Copy the full URL from your browser address bar (starts with http://localhost/?...)
  6. Paste that URL back to the agent

Step 3 — Done!

The agent will confirm: "Auth complete. I can now access your Gmail and Google Calendar."

From now on just say: "Summarize today's important emails"

Configuration

This skill uses a config.yaml file in the project root for runtime configuration. You can edit this file to control timezone, retry behavior, and logging level.

Example config.yaml:

timezone: Asia/Bangkok    # Timezone for calendar events (e.g. Asia/Bangkok, UTC, Asia/Tokyo)
max_retries: 5            # Max retry attempts for authentication and API calls
log_level: INFO           # Logging level: DEBUG, INFO, WARNING, ERROR, CRITICAL

Agent Instructions

See agent/instructions.md for full agent instructions (commands, auth setup, behavior).

安全使用建议
This skill appears to implement the advertised Gmail summary + calendar creation, but it has several implementation problems and some persistence behavior you should be aware of: - Credential placement mismatch: The SKILL.md / agent instructions tell the agent to save the user-provided client_secret_*.json in the project root, but the code's find_credentials_file() looks in ~/.openclaw/config/mail-summary. Confirm where the agent will place the file (preferably ~/.openclaw/config/mail-summary) or update the code/instructions before running. - Sensitive files written to disk: The agent is instructed to write the user-provided client_secret file and the resulting token.json to disk. Only proceed if you trust the skill/source and you understand these files grant access to your Gmail and Calendar (scopes: gmail.readonly and calendar.events). - Missing dependency: refresh_service.py uses psutil but requirements.txt does not list it. Install psutil (pip install psutil) or add it to requirements.txt to avoid runtime failure. - Blocking auto-run of refresh service: setup_auth.py attempts to run refresh_service.py with subprocess.run, which will block because refresh_service loops forever. This will likely hang the auth process. Instead, run refresh_service.py in the background yourself (e.g., nohup/pythonw, systemd, or use subprocess.Popen), or modify setup_auth.py to spawn it as a daemon. - Persistence and cleanup: The skill creates ~/.openclaw/config/mail-summary/token.json and a refresh_service.lock file in the scripts folder. If you later uninstall, remove these files and stop the background process to revoke persistent access. - Source trust: The skill's Homepage is missing and the repository is unknown; because the skill will receive OAuth credentials and store tokens locally, only install if you trust the code. Review the scripts locally or run them in an isolated environment before granting access. If you want help: I can produce a patched setup_auth.py that launches refresh_service.py in the background safely, update instructions to use the CREDENTIALS_DIR path, and add psutil to requirements.txt so installation works as intended.
功能分析
Type: OpenClaw Skill Name: mail-summary Version: 1.1.6 The skill is a legitimate tool for summarizing Gmail messages and managing Google Calendar events using official Google APIs. It implements a standard OAuth2 flow with PKCE for authentication (scripts/setup_auth.py and scripts/auth.py) and requests appropriate permissions (gmail.readonly and calendar.events). While the code contains minor functional bugs, such as a blocking subprocess call in setup_auth.py and a path discrepancy for credential storage, the logic is transparent and strictly aligned with the stated purpose without any indicators of data exfiltration or malicious intent.
能力评估
Purpose & Capability
The code files implement exactly what the description promises: reading Gmail (readonly), summarizing, detecting meetings, and creating Calendar events. The requested Google OAuth credentials and token storage are consistent with that purpose.
Instruction Scope
Agent instructions require the agent to write the user's client_secret JSON to disk and run multiple scripts itself (setup_auth.py, fetch_emails.py, etc.). This is expected for OAuth, but the SKILL.md / agent instructions say to write the client_secret file to the project root while the code (find_credentials_file) looks in ~/.openclaw/config/mail-summary — a direct inconsistency that will break the flow unless the agent moves files. The setup process also tells the agent to print auth URLs and accept the redirect URL from the user (normal OAuth), but instructing the agent to write sensitive client secrets to disk should be done deliberately and with the correct target path.
Install Mechanism
No install spec (instruction-only), so nothing is downloaded automatically. Code will be executed by the agent from the skill folder. Note: requirements.txt does not include 'psutil', but several scripts import or require psutil (refresh_service.py), so the provided dependency list is incomplete and will cause runtime errors unless corrected.
Credentials
No environment variables or unrelated credentials are requested; instead the skill uses OAuth client secrets and token.json which is appropriate for Gmail/Calendar access. The code stores tokens under ~/.openclaw/config/mail-summary which is reasonable but does give the skill persistent access to a filesystem location under the user's home — verify permissions and trust for stored tokens.
Persistence & Privilege
The skill attempts to start a long-running refresh_service that refreshes OAuth tokens every 30 minutes. setup_auth.py tries to auto-run refresh_service.py after auth using subprocess.run (blocking call) — this is likely to hang the auth script because refresh_service loops forever. The skill will create persistent artifacts (token.json, lock file) and may spawn a background process; this elevated persistence should be expected and authorized explicitly by the user.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install mail-summary
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /mail-summary 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.1.6
- Removed the README.md file. - Metadata section simplified in SKILL.md (removed 'openclaw' and requirements). - No functional changes to the skill's logic or features.
v1.1.5
- Added script (scripts/refresh_service.py) for refreshing the Google OAuth token. - Now auto-refreshes Google OAuth token to ensure uninterrupted access to Gmail and Google Calendar. - Updated documentation to reflect the new auto-refresh capability.
v1.1.4
- Removed a sample Google API client secret file (client_secret_*.json) from the repository. - No changes to functionality or documentation.
v1.1.3
- Skill renamed from "gmail-daily-briefing" to "mail-summary" - Updated installation and setup instructions to reflect the new skill name and repository - No code or functional changes detected
v1.1.2
- Skill renamed to "gmail-daily-briefing" with updated description and metadata. - Expanded documentation including setup instructions for Google API credentials and OAuth. - Describes creation of Google Calendar events for meetings not already scheduled. - Added configuration guide using a config.yaml file for timezone, retries, and log level adjustments. - Installation and usage instructions improved for clarity.
元数据
Slug mail-summary
版本 1.1.6
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 5
常见问题

Mail Summary 是什么?

Fetch Gmail emails from the last 24h, rank by importance, summarize into bullet points, and auto-create Google Calendar events for detected meetings. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 131 次。

如何安装 Mail Summary?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install mail-summary」即可一键安装,无需额外配置。

Mail Summary 是免费的吗?

是的,Mail Summary 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Mail Summary 支持哪些平台?

Mail Summary 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Mail Summary?

由 Russidan-Nadee(@russidan-nadee)开发并维护,当前版本 v1.1.6。

💬 留言讨论