mcpField
C
calcom-access

calcom-access

github.com/terrylica生产力2106 次安装1 天前更新
代码仓库

关于 calcom-access

calcom-access 是面向 Claude Code 的技能,通过命令行管理 Cal.com 事件类型、预订、日程和可用时段。它会引导用户配置凭据,并在操作前检查所需条件。

主要功能

  1. 01列出和创建事件类型
  2. 02列出、查看和取消预订
  3. 03列出和创建日程
  4. 04检查时段可用性
  5. 05引导使用 1Password 配置 API 凭据

适用场景

  1. 01查看近期预订
  2. 02取消或查看某项预订
  3. 03调整事件类型或可用时段
  4. 04配置 Cal.com API 凭据

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/terrylica/cc-skills --skill calcom-access

安装后在 Claude Code 中输入/calcom-access确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
calcom-api-setup.md
env-setup.md
evolution-log.md

详细介绍

Cal.com 访问

通过 Claude Code 以编程方式管理 Cal.com 预约和事件类型。

自我演进的技能:此技能会随着使用不断改进。如果指令有误、参数发生偏移,或需要采用变通方法,请立即修复此文件,不要拖延。仅针对真实且可复现的问题进行更新。

强制预检(执行任何 Cal.com 操作前)

重要:运行任何 Cal.com 命令前,必须完成此预检清单。切勿跳过任何步骤。

步骤 1:检查 CLI 二进制文件是否存在
ls -la "$HOME/.claude/plugins/marketplaces/cc-skills/plugins/calcom-commander/scripts/calcom-cli/calcom" 2>/dev/null || echo "BINARY_NOT_FOUND"

如果为 BINARY_NOT_FOUND:先构建:

cd ~/.claude/plugins/marketplaces/cc-skills/plugins/calcom-commander/scripts/calcom-cli && bun install && bun run build
步骤 2:检查 CALCOM_OP_UUID 环境变量
echo "CALCOM_OP_UUID: ${CALCOM_OP_UUID:-NOT_SET}"

如果为 NOT_SET:必须运行下方的设置流程。不要继续执行 Cal.com 命令。

步骤 3:验证 1Password 身份验证
op account list 2>&1 | head -3

如果出错或尚未登录:告知用户先运行 op signin。

步骤 4:测试 API 连通性
CALCOM_CLI="$HOME/.claude/plugins/marketplaces/cc-skills/plugins/calcom-commander/scripts/calcom-cli/calcom"
$CALCOM_CLI event-types list 2>&1 | head -5

设置流程(当 CALCOM_OP_UUID 为 NOT_SET 时)

按顺序执行以下步骤。在需要做决定时使用 AskUserQuestion。

设置步骤 1:检查 1Password CLI
command -v op && echo "OP_CLI_INSTALLED" || echo "OP_CLI_MISSING"

如果为 OP_CLI_MISSING:停止并告知用户:

需要 1Password CLI。使用以下命令安装:brew install 1password-cli

设置步骤 2:在 1Password 中查找 Cal.com API 密钥
op item list --vault "Claude Automation" --format json 2>/dev/null | jq -r '.[] | select(.title | test("calcom|cal.com|calendar"; "i")) | "\(.id)\t\(.title)"'

解析输出,并根据结果继续操作。

设置步骤 3:用户选择 API 凭据

如果找到条目,使用 AskUserQuestion 并提供找到的条目供用户选择。

如果未找到条目,引导用户:

  1. 登录 Cal.com 实例(自托管或 cal.com)
  2. 前往 Settings > Developer > API Keys
  3. 生成具有相应权限范围的新 API 密钥
  4. 将其存储到 1Password Claude Automation 保管库:
op item create --category "API Credential" --title "Cal.com API Key" \
  --vault "Claude Automation" \
  "credential=<api-key>" \
  "api_url=<cal.com-instance-url>"
设置步骤 4:提供 UUID

用户选择条目(含 UUID)后,使用 AskUserQuestion 确认该值的保存位置:仅用于当前 Shell(export CALCOM_OP_UUID=<selected-uuid>),还是用于 launchd 守护进程(将 export CALCOM_OP_UUID='<selected-uuid>' 添加到 ~/gh/<org>/<automation-repo>/.env.launchd,启动器脚本会加载该文件)。

设置步骤 5:验证
echo "CALCOM_OP_UUID: ${CALCOM_OP_UUID:-NOT_SET}"
设置步骤 6:测试连接
CALCOM_OP_UUID="${CALCOM_OP_UUID}" $HOME/.claude/plugins/marketplaces/cc-skills/plugins/calcom-commander/scripts/calcom-cli/calcom event-types list

Cal.com 命令(仅在预检通过后)

CALCOM_CLI="$HOME/.claude/plugins/marketplaces/cc-skills/plugins/calcom-commander/scripts/calcom-cli/calcom"

# List event types
$CALCOM_CLI event-types list

# List bookings
$CALCOM_CLI bookings list -n 10

# List bookings by status
$CALCOM_CLI bookings list --status upcoming -n 20

# Get booking details
$CALCOM_CLI bookings get <booking_id>

# Create event type
$CALCOM_CLI event-types create --title "30min Interview" --slug "interview-30" --length 30

# Update event type
$CALCOM_CLI event-types update <event_type_id> --title "Updated Title"

# List schedules (availability)
$CALCOM_CLI schedules list

# JSON output (for parsing)
$CALCOM_CLI bookings list -n 10 --json

Cal.com API v2 参考

端点CLI 命令说明
事件类型event-types list列出所有事件类型
事件类型event-types create创建新的事件类型
预约bookings list列出预约
预约bookings get获取预约详情
预约bookings cancel取消预约
日程schedules list列出可用时间段
日程schedules create创建可用时间
可用性availability check检查时段可用性

环境变量

变量必需说明
CALCOM_OP_UUID是API 密钥对应的 1Password 条目 UUID
CALCOM_API_URL否API 基础 URL(默认:自托管)

参考资料

变更后检查清单

  • YAML frontmatter 有效(description 中不含冒号)
  • 触发关键词为最新
  • 路径模式使用 $HOME,而非硬编码路径
  • 参考文件存在且已链接

执行后反思

此技能完成后,请在结束任务前进行反思:

  1. 确认位置。——编辑前,找到此 SKILL.md 的规范路径。
  2. 哪里失败了?——修复导致问题的指令。
  3. 哪些做得比预期更好?——将其列为推荐做法。
  4. 哪里偏离了?——修复任何与实际情况不符的脚本、参考资料或依赖项。
  5. 记录下来。——在演进日志中记录触发原因、修复内容和证据。

不要推迟。下一次调用会继承你留下的一切。

评论

支持 Markdown