Gmail 技能用于通过 Gmail API 管理邮件,支持读取、搜索、发送和整理邮件,并可跨多个 Google 账号操作。
用途 该技能适用于用户要求“检查邮件”“阅读邮件”“发送邮件”“回复邮件”“搜索收件箱”或管理 Gmail 的场景。
账号设置 运行任何命令前,需读取 accounts.yaml 检查已注册账号。若 accounts.yaml 缺失或为空,则阅读 references/setup-guide.md 进行初始设置。accounts.yaml 示例包含 personal 和 work 两个账号,分别记录邮箱地址和描述。
邮件发送工作流(5 步) 发送邮件时,使用 TaskCreate 创建 5 个任务并按顺序执行:
- 收集上下文:并行运行 Explore SubAgents,获取收件人信息、相关项目和背景上下文。
- 检查历史会话:搜索 --query "to:recipient OR from:recipient newer_than:90d",通过 AskUserQuestion 选择会话。
- 起草邮件:撰写草稿,通过 AskUserQuestion 获取反馈。
- 测试发送:向用户自己的地址发送 [TEST] 邮件,在 Gmail 网页中打开,请求确认。
- 正式发送:发送给收件人,报告完成。 签名:所有外发邮件末尾追加 ---\nSent with Claude Code。
工作流示例:“给 John 发送会议邮件”
- 创建 5 个任务。
- 步骤 1:并行运行 Explore SubAgents,搜索收件人(John)信息(partners/、projects/、context.md 等)和会议上下文(日历、近期会议记录等)。
- 步骤 2:搜索 "to:john@company.com OR from:john@company.com",若存在历史会话,通过 AskUserQuestion 选择回复或新邮件。
- 步骤 3:起草邮件,通过 AskUserQuestion 选择继续或修改。
- 步骤 4:向自己的邮箱测试发送,在 Gmail 网页中打开(open "https://mail.google.com/mail/u/0/#inbox/{message_id}"),请求确认。
- 步骤 5:正式发送,完成。
CLI 快速参考 列出邮件:uv run python scripts/list_messages.py --account work --query "is:unread" --max 10 发送邮件:uv run python scripts/send_message.py --account work --to "user@example.com" --subject "Subject" --body "Content" 检查配置:uv run python scripts/manage_labels.py --account work profile 详细 CLI 用法见 references/cli-usage.md,搜索查询参考见 references/search-queries.md。
在网页中查看邮件 发送后,使用返回的 Message ID 可直接在 Gmail 网页中查看: URL 格式:https://mail.google.com/mail/u/0/#inbox/{message_id} 示例:测试发送后在浏览器中打开 open "https://mail.google.com/mail/u/0/#inbox/19c145bbd47ddd01" 注意:u/0 是第一个登录账号,u/1 是第二个账号。
文件结构 skills/gmail/ 包含 SKILL.md、accounts.yaml(账号元数据)、scripts/(CLI 脚本)、references/(setup-guide.md 初始设置指南、cli-usage.md 详细 CLI 用法、search-queries.md 搜索查询参考、credentials.json OAuth Client ID,需 gitignore)、assets/(accounts.default.yaml 账号配置模板、email-templates.md 邮件正文模板、signatures.md 签名模板 Plain/HTML)、accounts/(各账号令牌,需 gitignore)。
错误处理 accounts.yaml 缺失:阅读 references/setup-guide.md 进行初始设置。 令牌缺失:引导用户运行 setup_auth.py --account <name>。 令牌过期:自动刷新;若失败,引导重新认证。