google-calendar by odyssey4me/agent-skills
npx skills add https://github.com/odyssey4me/agent-skills --skill google-calendar与 Google Calendar 交互,用于事件管理、日程安排和空闲时间查询。
依赖项 : pip install --user google-auth google-auth-oauthlib google-api-python-client keyring pyyaml
安装后,验证技能是否已正确配置:
$SKILL_DIR/scripts/google-calendar.py check
这将检查:
如果有任何缺失,检查命令将提供设置说明。
Google Calendar 使用 OAuth 2.0 进行身份验证。完整的设置说明,请参阅:
创建 ~/.config/agent-skills/google.yaml:
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
oauth_client: client_id: your-client-id.apps.googleusercontent.com client_secret: your-client-secret
运行 $SKILL_DIR/scripts/google-calendar.py check 以触发 OAuth 流程并验证设置。
遇到作用域或身份验证错误时,请参阅 OAuth 故障排除指南。
每个命令的读/写分类,请参阅 permissions.md。
# 设置和身份验证
$SKILL_DIR/scripts/google-calendar.py check
$SKILL_DIR/scripts/google-calendar.py auth setup --client-id ID --client-secret SECRET
$SKILL_DIR/scripts/google-calendar.py auth reset
$SKILL_DIR/scripts/google-calendar.py auth status
# 日历
$SKILL_DIR/scripts/google-calendar.py calendars list
$SKILL_DIR/scripts/google-calendar.py calendars get CALENDAR_ID
# 事件
$SKILL_DIR/scripts/google-calendar.py events list
$SKILL_DIR/scripts/google-calendar.py events get EVENT_ID
$SKILL_DIR/scripts/google-calendar.py events create --summary TITLE --start TIME --end TIME
$SKILL_DIR/scripts/google-calendar.py events update EVENT_ID --summary TITLE
$SKILL_DIR/scripts/google-calendar.py events delete EVENT_ID
# 空闲时间
$SKILL_DIR/scripts/google-calendar.py freebusy --start TIME --end TIME
所有命令都支持 --calendar CALENDAR_ID(默认:"primary")。时间使用 RFC3339 格式(例如,2026-01-24T10:00:00Z)或全天事件的 YYYY-MM-DD 格式。
完整的参数详情和示例,请参阅 command-reference.md。
$SKILL_DIR/scripts/google-calendar.py events create \
--summary "团队站会" \
--start "2026-01-25T09:00:00-05:00" \
--end "2026-01-25T09:30:00-05:00" \
--location "Zoom" \
--attendees "team@example.com"
$SKILL_DIR/scripts/google-calendar.py freebusy \
--start "2026-01-24T08:00:00-05:00" \
--end "2026-01-24T17:00:00-05:00" \
--calendars "primary,colleague@example.com"
$SKILL_DIR/scripts/google-calendar.py events list \
--time-min "2026-01-24T00:00:00Z" \
--time-max "2026-01-31T23:59:59Z"
事件列表会自动对所有结果进行分页。当指定时间范围时,无论数量多少,所有匹配的事件都会被返回——结果永远不会被静默截断。
列出事件时,默认会排除已拒绝的会议。脚本输出会指示是否有已拒绝的邀请被过滤掉(例如,"3 个已拒绝的邀请未显示")。当出现此通知时,请告知用户存在已拒绝的邀请,并询问是否需要显示它们。要包含已拒绝的事件,请使用 --include-declined 重新运行。
身份验证和作用域错误不可重试。 如果命令因身份验证错误、作用域不足错误或权限被拒绝错误(退出代码 1)而失败,请停止并通知用户。不要重试或尝试自主修复问题——这些错误需要用户交互(基于浏览器的 OAuth 同意)。请引导用户查看 OAuth 故障排除指南。
可重试的错误:速率限制(HTTP 429)和临时服务器错误(HTTP 5xx)可能在短暂等待后重试成功。所有其他错误都应报告给用户。
此技能需要进行结构化输入/输出的 API 调用。建议使用标准能力模型。
请验证事件 ID 和日历 ID 是否正确。事件 ID 在每个日历中是唯一的。
始终使用带有明确时区偏移量的 RFC3339 格式,或使用 UTC(Z 后缀)。对于全天事件,使用 YYYY-MM-DD 格式,并可选择指定 --timezone。
每周安装数
301
代码仓库
GitHub 星标数
1
首次出现
2026年1月24日
安全审计
安装于
gemini-cli263
opencode263
codex259
cursor256
github-copilot251
amp241
Interact with Google Calendar for event management, scheduling, and availability checking.
Dependencies : pip install --user google-auth google-auth-oauthlib google-api-python-client keyring pyyaml
After installation, verify the skill is properly configured:
$SKILL_DIR/scripts/google-calendar.py check
This will check:
If anything is missing, the check command will provide setup instructions.
Google Calendar uses OAuth 2.0 for authentication. For complete setup instructions, see:
Create ~/.config/agent-skills/google.yaml:
oauth_client: client_id: your-client-id.apps.googleusercontent.com client_secret: your-client-secret
Run $SKILL_DIR/scripts/google-calendar.py check to trigger OAuth flow and verify setup.
On scope or authentication errors, see the OAuth troubleshooting guide.
See permissions.md for read/write classification of each command.
# Setup and auth
$SKILL_DIR/scripts/google-calendar.py check
$SKILL_DIR/scripts/google-calendar.py auth setup --client-id ID --client-secret SECRET
$SKILL_DIR/scripts/google-calendar.py auth reset
$SKILL_DIR/scripts/google-calendar.py auth status
# Calendars
$SKILL_DIR/scripts/google-calendar.py calendars list
$SKILL_DIR/scripts/google-calendar.py calendars get CALENDAR_ID
# Events
$SKILL_DIR/scripts/google-calendar.py events list
$SKILL_DIR/scripts/google-calendar.py events get EVENT_ID
$SKILL_DIR/scripts/google-calendar.py events create --summary TITLE --start TIME --end TIME
$SKILL_DIR/scripts/google-calendar.py events update EVENT_ID --summary TITLE
$SKILL_DIR/scripts/google-calendar.py events delete EVENT_ID
# Availability
$SKILL_DIR/scripts/google-calendar.py freebusy --start TIME --end TIME
All commands support --calendar CALENDAR_ID (default: "primary"). Times use RFC3339 format (e.g., 2026-01-24T10:00:00Z) or YYYY-MM-DD for all-day events.
See command-reference.md for full argument details and examples.
$SKILL_DIR/scripts/google-calendar.py events create \
--summary "Team Standup" \
--start "2026-01-25T09:00:00-05:00" \
--end "2026-01-25T09:30:00-05:00" \
--location "Zoom" \
--attendees "team@example.com"
$SKILL_DIR/scripts/google-calendar.py freebusy \
--start "2026-01-24T08:00:00-05:00" \
--end "2026-01-24T17:00:00-05:00" \
--calendars "primary,colleague@example.com"
$SKILL_DIR/scripts/google-calendar.py events list \
--time-min "2026-01-24T00:00:00Z" \
--time-max "2026-01-31T23:59:59Z"
Event listing automatically paginates through all results. When a time range is specified, all matching events are returned regardless of count — results are never silently truncated.
When listing events, declined meetings are excluded by default. The script output will indicate if declined invitations were filtered out (e.g. "3 declined invitation(s) not shown"). When this notice appears, inform the user that there are declined invitations and offer to show them if desired. To include declined events, re-run with --include-declined.
Authentication and scope errors are not retryable. If a command fails with an authentication error, insufficient scope error, or permission denied error (exit code 1), stop and inform the user. Do not retry or attempt to fix the issue autonomously — these errors require user interaction (browser-based OAuth consent). Point the user to the OAuth troubleshooting guide.
Retryable errors : Rate limiting (HTTP 429) and temporary server errors (HTTP 5xx) may succeed on retry after a brief wait. All other errors should be reported to the user.
This skill makes API calls requiring structured input/output. A standard-capability model is recommended.
Verify the event ID and calendar ID are correct. Event IDs are unique per calendar.
Always use RFC3339 format with explicit timezone offsets, or UTC (Z suffix). For all-day events, use YYYY-MM-DD format and optionally specify --timezone.
Weekly Installs
301
Repository
GitHub Stars
1
First Seen
Jan 24, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykFail
Installed on
gemini-cli263
opencode263
codex259
cursor256
github-copilot251
amp241
Azure RBAC 权限管理工具:查找最小角色、创建自定义角色与自动化分配
104,600 周安装