📅 Gcalcli Calendar 3.0.0 — Google日历管理
v1.0.0通过 gcalcli 管理 Google 日历,默认仅显示今日议程,通过议程扫描进行有界语义查找,带验证的快速创建/删除操作——优化以减少工具调用和最小化输出。
0· 102·0 当前·0 累计
安全扫描
OpenClaw
安全
high confidence技能的指令、需求和范围与基于 gcalcli 的 Google Calendar 助手内部一致;所请求或安装的内容与其声明的目的相称。
评估建议
此技能对于通过 gcalcli CLI 控制 Google Calendar 是合理的,但在安装前需注意:(1) 确认 gcalcli 已在代理运行环境中安装并完成身份验证(gcalcli 在本地存储 OAuth 令牌——确保这些令牌可从此运行时访问);(2) 注意文档中的 UX 选择:当用户消息明确且匹配无歧义时自动执行删除/编辑操作(如果需要可编辑 SKILL.md 要求所有破坏性操作都需确认);(3) 如果代理运行在共享或远程主机上,需考虑 gcalcli OAuth 文件的暴露风险——限制访问或避免在该处安装技能。...详细分析 ▾
✓ 用途与能力
名称/描述与行为匹配:技能需要 gcalcli 二进制文件,其指令仅使用 gcalcli 子命令(agenda/search/add/import/delete)。未请求无关凭证、二进制文件或安装步骤。
ℹ 指令范围
SKILL.md 将运行时操作限制在 gcalcli 调用和议程/搜索扫描中。需要注意的一个行为选择:操作策略允许在匹配明确时立即执行删除/编辑操作(明确的用户请求 + 单一狭窄时间窗口匹配 + 操作后验证)。这是 README 中解释的 UX 决策,并非隐蔽,但用户应理解自动删除行为,以及在这些狭窄情况下代理将根据明确的用户消息采取行动,无需额外确认步骤。
✓ 安装机制
纯指令技能,无安装规范和代码文件;安装风险最低。技能期望 gcalcli 已安装在 PATH 上(推荐通过 pip/brew 安装)——对于其目的而言是合理的。
ℹ 凭证需求
技能不请求环境变量或外部凭证。它依赖 gcalcli 的本地 OAuth2 凭证(由 gcalcli 存储,例如 ~/.gcalcli_oauth)。确保代理运行时仅能访问预期的 gcalcli 凭证;技能本身不请求无关的密钥。
✓ 持久化与权限
always 为 false,技能不请求提升的持久性或修改其他技能。允许模型调用(默认),这对技能来说是正常的;未请求额外的权限提升。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv1.0.02026/3/21
gcalcli-calendar 1.0.0 - 初始版本,通过 gcalcli 提供高效的 Google Calendar 管理。默认仅显示当日议程;支持有界、基于语义的事件查找。简化的创建和删除操作,包括验证和重叠检查。针对最小化输出、低工具调用和快速响应进行了优化。内置歧义处理和确认策略以确保可靠性。
● 可疑
安装命令
点击复制官方npx clawhub@latest install gcalcli-calendar-3-0-0
镜像加速npx clawhub@latest install gcalcli-calendar-3-0-0 --registry https://cn.longxiaskill.com
技能文档
使用 gcalcli 以最少的工具调用和最小输出读取/搜索/管理 Google 日历。
规则
CLI 标志放置(关键)
- 全局标志(
--nocolor,--calendar)放在子命令之前。 - 子命令特定的标志放在子命令名称之后。
- 示例:
gcalcli --nocolor delete --iamaexpert "query" start end— 而不是gcalcli --nocolor --iamaexpert delete ...。 - 这适用于所有子命令标志:
--iamaexpert(delete)、--noprompt/--allday(add)、--use-legacy-import(import)等。
输出和语言
- 不要打印 CLI 命令/标志/工具详情,除非用户明确要求(例如 "show commands used"、"/debug"、"/commands")。
- 如果被要求显示命令:按顺序打印所有执行的命令(包括重试),不要有其他内容。
- 不要在同一回复中混用语言。
- 保持简洁。没有找到内容时不显示范围。
日期和格式
- 默认使用人类友好的日期。仅在明确要求时使用 ISO。
- 除非需要消除歧义,否则不要引用事件标题。
日历范围
- 信任 gcalcli 配置(默认/忽略日历)。除非用户要求"跨越所有日历"或结果明显错误,否则不要扩大范围。
议程(默认仅显示今天)
- 如果用户没有指定时间段询问"议程",仅返回今天的内容。
- 仅在明确要求时扩展(明天 / 接下来 N 天 / 日期范围)。
星期几请求(无需心算)
如果用户说"周一/周二..."而没有给出日期:1) 获取接下来 14 天的议程一次,2) 从工具输出中选择匹配的日期/事件,3) 继续(如果多个匹配则进行消歧)。查找事件:优先确定性议程扫描(语义优先)
在定位要取消/删除/编辑的事件时:- 优先使用
agenda而不是search。 - 使用有界窗口并通过语义匹配(语义匹配)而不是精确文本匹配事件。
- 默认定位窗口:
search 作为后备:
- 时间窗口太大无法通过 agenda 扫描(token 密集),或
- 用户明确要求"搜索"。搜索(有界)
- 默认搜索窗口:接下来约 180 天(除非用户另有指定)。
- 如果没有匹配:显示"接下来约 6 个月没有匹配(->)"并提供扩展选项。
- 仅在没有找到任何内容时显示范围。
工具效率
- 默认:使用
--nocolor减少格式噪音和 token。 - 仅在必须解析/去重/排序时使用
--tsv。
操作策略(针对对话速度优化)
此技能专为个人助理使用而设计,用户期望快速、低摩擦的日历管理。下面的确认策略是一个有意的 UX 选择——请参阅 README.md 了解理由和安全防护。明确操作:立即执行
对于取消/删除/编辑操作,在以下所有条件满足时跳过确认:- 用户明确请求了该操作(例如"删除我的牙医预约")。
- 在一个狭窄的时间窗口内恰好有一个事件匹配。
- 匹配是明确的(精确日期上的单一清晰结果,或用户指定的日期+时间)。
歧义操作:始终先询问
如果多个候选匹配,或匹配不确定:- 询问一个简短的消歧问题,列出候选(1-3 行)并等待用户选择。
创建事件:重叠检查必须跨日历(非忽略范围)
创建事件时:- 始终通过不带
--calendar扫描议程对所有非忽略日历进行尽力而为的重叠检查。 - 这确保即使新事件创建到特定日历中也能检测到重叠。
- 如果与忙碌事件存在重叠:
- 如果没有重叠:
选择正确的创建方法
add— 一次性事件的默认选项。支持--allday、--reminder、--noprompt。不支持重复或空闲/忙碌(透明度)。import通过 stdin — 仅在需要重复(RRULE)或空闲/忙碌(TRANSP:TRANSPARENT)时使用。通过 stdin 传输 ICS 内容;切勿写入临时 .ics 文件(执行沙盒中的工作目录不可靠)。quick— 除非用户明确要求自然语言添加,否则避免使用。不太确定性。
删除必须验证
- 使用带
--iamaexpert的非交互式删除(这是delete子命令的标志——放在delete之后)。这是 gcalcli 内置的非交互式/脚本化删除标志。 - 删除后始终在同一狭窄窗口中通过 agenda 验证。
- 如果验证仍然显示该事件,使用
--refresh进行一次重试。 - 除非验证确认事件已消失,否则不要声称成功。
规范命令
议程(确定性列表)
- 今天:
gcalcli --nocolor agenda today tomorrow - 接下来 14 天(星期分辨率):
gcalcli --nocolor agenda today +14d - 接下来 30 天(语义优先定位):
gcalcli --nocolor agenda today +30d - 自定义:
gcalcli --nocolor agenda
搜索(后备/明确请求)
- 默认(约 6 个月):
gcalcli --nocolor search "" today +180d - 自定义:
gcalcli --nocolor search ""
创建 — add(一次性事件)
- 重叠预检(紧凑,跨日历):
gcalcli --nocolor agenda
- 重要提示:这里不要加 --calendar;重叠必须在所有非忽略日历中检查。
- 定时事件:
gcalcli --nocolor --calendar "" add --noprompt --title "