飞书日历与日程管理工具集。包含日历管理、日程管理、参会人管理、忙闲查询。
54
61%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./nexu-skills/skills/feishu-calendar/SKILL.mdThe canonical home for this skill is feishu-calendar in op7418/CodePilot
2026-02-25T14:00:00+08:00ou_...,群 oc_...,会议室 omm_...,邮箱 email@...| 用户意图 | 工具 | action | 必填参数 | 强烈建议 | 常用可选 |
|---|---|---|---|---|---|
| 创建会议 | feishu_calendar_event | create | summary, start_time, end_time | user_open_id | attendees, description, location |
| 查某时间段日程 | feishu_calendar_event | list | start_time, end_time | - | - |
| 改日程时间 | feishu_calendar_event | patch | event_id, start_time/end_time | - | summary, description |
| 搜关键词找会 | feishu_calendar_event | search | query | - | - |
| 回复邀请 | feishu_calendar_event | reply | event_id, rsvp_status | - | - |
| 查重复日程实例 | feishu_calendar_event | instances | event_id, start_time, end_time | - | - |
| 查忙闲 | feishu_calendar_freebusy | list | time_min, time_max, user_ids[] | - | - |
| 邀请参会人 | feishu_calendar_event_attendee | create | calendar_id, event_id, attendees[] | - | - |
| 删除参会人 | feishu_calendar_event_attendee | batch_delete | calendar_id, event_id, user_open_ids[] | - | - |
工具使用用户身份:日程创建在用户主日历上,用户本人能看到。
但为什么还要传 user_open_id:将发起人也添加为参会人,确保:
如果不传:
工具已默认设置 attendee_ability: "can_modify_event",参会人可以编辑日程和管理参与者。
| 权限值 | 能力 |
|---|---|
none | 无权限 |
can_see_others | 可查看参与人列表 |
can_invite_others | 可邀请他人 |
can_modify_event | 可编辑日程(推荐) |
user_open_id = SenderIdattendees[].id = "ou_xxx"user_open_ids = ["ou_xxx"](工具已优化,直接传 open_id 即可)⚠️ ID 格式区分:
ou_xxx:用户的 open_id(你应该使用的)user_xxx:日程内部的 attendee_id(list 接口返回,仅用于内部记录)添加会议室类型参会人后,会议室进入异步预约流程:
rsvp_status: "needs_action"(预约中)accept(成功)或 decline(失败)查询预约结果:使用 feishu_calendar_event_attendee.list 查看 rsvp_status。
⚠️ 重要:instances action 仅对重复日程有效,必须满足:
recurrence 字段)如何判断:
get action 获取日程详情recurrence 字段且不为空instances 获取实例列表{
"action": "create",
"summary": "项目复盘会议",
"description": "讨论 Q1 项目进展",
"start_time": "2026-02-25 14:00:00",
"end_time": "2026-02-25 15:30:00",
"user_open_id": "ou_aaa",
"attendees": [
{"type": "user", "id": "ou_bbb"},
{"type": "user", "id": "ou_ccc"},
{"type": "resource", "id": "omm_xxx"}
]
}{
"action": "list",
"start_time": "2026-02-25 00:00:00",
"end_time": "2026-03-03 23:59:00"
}{
"action": "list",
"time_min": "2026-02-25 09:00:00",
"time_max": "2026-02-25 18:00:00",
"user_ids": ["ou_aaa", "ou_bbb", "ou_ccc"]
}注意:user_ids 是数组,支持 1-10 个用户。当前不支持会议室忙闲查询。
{
"action": "patch",
"event_id": "xxx_0",
"start_time": "2026-02-25 15:00:00",
"end_time": "2026-02-25 16:00:00"
}{
"action": "search",
"query": "项目复盘"
}{
"action": "reply",
"event_id": "xxx_0",
"rsvp_status": "accept"
}| 错误现象 | 根本原因 | 解决方案 |
|---|---|---|
| 发起人不在参会人列表中 | 未传 user_open_id | 强烈建议传 user_open_id = SenderId |
| 参会人看不到其他参会人 | attendee_ability 权限不足 | 工具已默认设置 can_modify_event |
| 时间不对 | 使用了 Unix 时间戳 | 改用 ISO 8601 格式(带时区):2024-01-01T00:00:00+08:00 |
| 会议室显示"预约中" | 会议室预约是异步的 | 等待几秒后用 list 查询 rsvp_status |
| 修改日程报权限错误 | 当前用户不是组织者,且日程未设置可编辑权限 | 确保日程创建时设置了 attendee_ability: "can_modify_event" |
| 无法查看参会人列表 | 当前用户无查看权限 | 确保是组织者或日程设置了 can_see_others 以上权限 |
飞书日历采用 三层架构:
日历(Calendar)
└── 日程(Event)
└── 参会人(Attendee)关键理解:
attendee_ability 参数控制参会人能否编辑日程、邀请他人、查看参与人列表type: "user" + id: "ou_xxx" — 飞书用户(使用 open_id)type: "chat" + id: "oc_xxx" — 飞书群组type: "resource" + id: "omm_xxx" — 会议室type: "third_party" + id: "email@example.com" — 外部邮箱cancelled| 类型 | 说明 | 能否删除 | 能否修改 |
|---|---|---|---|
primary | 主日历(每个用户/应用一个) | ❌ 否 | ✅ 是 |
shared | 共享日历(用户创建并共享) | ✅ 是 | ✅ 是 |
resource | 会议室日历 | ❌ 否 | ❌ 否 |
google | 绑定的 Google 日历 | ❌ 否 | ❌ 否 |
exchange | 绑定的 Exchange 日历 | ❌ 否 | ❌ 否 |
| 状态 | 含义(用户) | 含义(会议室) |
|---|---|---|
needs_action | 未回复 | 预约中 |
accept | 已接受 | 预约成功 |
tentative | 待定 | - |
decline | 拒绝 | 预约失败 |
removed | 已被移除 | 已被移除 |
dadfb1c
Canonical home
since Jul 24, 2026
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.