google-calendar

中风险
作者:AdrianMiller99 | 审计时间:2026-02-26T09:59:20.936Z | 规则集:0.2.0

快速安装

将技能安装到你的 Agent

clawhub install google-calendar

技能介绍

通过 Google Calendar API 与 Google Calendar 交互 —— 列出即将举行的活动、创建新活动、更新或删除活动。当您需要从 Open… 以编程方式访问您的日历时,请使用此技能。

活动创建
日程管理
循环活动
空闲状态检查

使用场景

1 安排会议
2 设置提醒
3 管理预约

文档(原文)

来源:SKILL.md
以下为作者原文(通常为英文)。安装请以页面顶部“快速安装”为准。

name: google-calendar
description: Interact with Google Calendar via the Google Calendar API – list upcoming events, create new events, update or delete them. Use this skill when you need programmatic access to your calendar from OpenClaw.

Google Calendar Skill

Overview

This skill provides a thin wrapper around the Google Calendar REST API. It lets you:

  • list upcoming events (optionally filtered by time range or query)
  • add a new event with title, start/end time, description, location, and attendees
  • update an existing event by its ID
  • delete an event by its ID

The skill is implemented in Python (scripts/google_calendar.py). It expects the following environment variables to be set (you can store them securely with openclaw secret set):

GOOGLE_CLIENT_ID=…
GOOGLE_CLIENT_SECRET=…
GOOGLE_REFRESH_TOKEN=…   # obtained after OAuth consent
GOOGLE_CALENDAR_ID=primary   # or the ID of a specific calendar

The first time you run the skill you may need to perform an OAuth flow to obtain a refresh token – see the Setup section below.

Commands

google-calendar list [--from <ISO> --to <ISO> --max <N>]
google-calendar add   --title <title> [--start <ISO> --end <ISO>]
                     [--desc <description> --location <loc> --attendees <email1,email2>]
google-calendar update --event-id <id> [--title <title> ... other fields]
google-calendar delete --event-id <id>

All commands return a JSON payload printed to stdout. Errors are printed to stderr and cause a non‑zero exit code.

Setup

  1. Create a Google Cloud project and enable the Google Calendar API.
  2. Create OAuth credentials (type Desktop app). Note the client_id and client_secret.
  3. Run the helper script to obtain a refresh token:
    GOOGLE_CLIENT_ID=… GOOGLE_CLIENT_SECRET=… python3 -m google_calendar.auth
    
    It will open a browser (or print a URL you can open elsewhere) and ask you to grant access. After you approve, copy the refresh_token it prints.
  4. Store the credentials securely:
    openclaw secret set GOOGLE_CLIENT_ID <value>
    openclaw secret set GOOGLE_CLIENT_SECRET <value>
    openclaw secret set GOOGLE_REFRESH_TOKEN <value>
    openclaw secret set GOOGLE_CALENDAR_ID primary   # optional
    
  5. Install the required Python packages (once):
    pip install --user google-auth google-auth-oauthlib google-api-python-client
    

How it works (brief)

The script loads the credentials from the environment, refreshes the access token using the refresh token, builds a service = build('calendar', 'v3', credentials=creds), and then calls the appropriate API method.

References


Note: This skill does not require a GUI; it works entirely via HTTP calls, so it is suitable for headless servers.

安全审计

中风险

摘要

通过 Google Calendar API 与 Google Calendar 交互 —— 列出即将举行的活动、创建新活动、更新或删除活动。当您需要从 OpenClaw 以编程方式访问您的日历时,请使用此技能。

风险画像 危险 隐私 范围 声誉 质量

ToxicSkills 分析

黑名单
未命中
提示词注入
未检测到

Toxic 标签

exfiltration

当前静态检测未发现 Toxic 信号。

关键风险 0 项

暂无 LLM 风险要点(LLM 未启用或无缓存)。

确定性发现(证据)

规则 严重性 文件 片段
NET_HTTP_REQUEST skills/AdrianMiller99/google-calendar/scripts/google_calendar.py 行 2
import os, sys, json, urllib.request, urllib.parse, argparse
NET_HTTP_REQUEST skills/AdrianMiller99/google-calendar/scripts/google_calendar.py 行 23
req = urllib.request.Request(url, data=data, method=method)
NET_HTTP_REQUEST skills/AdrianMiller99/google-calendar/scripts/google_calendar.py 行 29
with urllib.request.urlopen(req) as resp:
NET_HTTP_REQUEST skills/AdrianMiller99/google-calendar/scripts/refresh_token.py 行 2
import os, sys, json, urllib.request, urllib.parse
NET_HTTP_REQUEST skills/AdrianMiller99/google-calendar/scripts/refresh_token.py 行 17
req = urllib.request.Request('https://oauth2.googleapis.com/token', data=data, method='POST')
NET_HTTP_REQUEST skills/AdrianMiller99/google-calendar/scripts/refresh_token.py 行 20
with urllib.request.urlopen(req) as resp:

评分标准

每个技能从 5 个维度评分,加权总分决定星级。

代码毒性 100/100 (权重 30%)
隐私风险 28/100 (权重 25%)
权限范围 90/100 (权重 20%)
作者声誉 75/100 (权重 15%)
代码质量 70/100 (权重 10%)

星级说明

5★ 安全 — 总分 ≥ 80
4★ 良好 — 总分 70–79
3★ 注意 — 总分 60–69
2★ 有风险 — 总分 40–59
1★ 危险 — 总分 < 40

为何是这个评分?

以下维度评分低于 60 分,拉低了整体评级:

  • 隐私风险: 28/100

更多技能

VettedSkillsHub

从 ClawHub(ClawdBot / OpenClaw 官方市场)精选下载量前 100 的技能,进行独立 5 维度安全审计。证据透明可查,评分可复现,一键安装。

关于

本站评分为 best-effort 静态分析,分数可复现、证据可追溯。在敏感环境中仍应进行人工审计与隔离部署。

© 2026 VettedSkillsHub。ClawdBot 和 OpenClaw 为社区项目。