用途:在 Claude 环境中管理 Google 日历,支持多个账号(如工作、个人)的日程整合查询,以及日程的创建、修改和删除。
主要能力:整合多账号日历并按时间排序展示;使用预先认证的 refresh token,无需每次登录;通过 Subagent 并行执行加快查询;检测不同账号间的日程冲突;支持日程创建、修改、删除及全天日程。查询输出按日期分组,并区分账号、标注冲突与统计。
使用方式:需先完成前置配置。在 Google Cloud Console 创建项目并启用 Calendar API,创建 OAuth 2.0 Client ID(Desktop 类型),将下载的 credentials.json 保存至 references/credentials.json。之后按账号首次认证:uv run python .claude/skills/google-calendar/scripts/setup_auth.py --account work(个人账号替换为 personal),浏览器登录后 refresh token 保存到 accounts/{name}.json。查询时先查看 accounts/ 下已注册账号,再通过 Task 并行调用各账号查询,例如:Task(subagent_type="general-purpose", prompt="fetch calendar for work account"),子代理执行 uv run python .claude/skills/google-calendar/scripts/fetch_events.py --account {account_name} --days 7,最后合并排序并标记冲突。日程管理使用 manage_events.py,支持 create、update、delete,以及 --summary、--start、--end、--description、--location、--attendees、--account、--adc、--timezone、--json 参数。
限制:必须在 Claude 技能目录中使用并完成 Cloud 项目、OAuth 凭证与账号认证;脚本位于 .claude/skills/google-calendar/scripts/ 下。错误处理包括账号目录为空时提示初始设置、令牌过期时仅需重新认证该账号、API 配额超限时稍后重试、网络错误时检查连接。安全上,accounts/*.json 与 references/credentials.json 含敏感凭证,必须加入 .gitignore,禁止提交。