feishu-task
飞书任务管理工具,用于创建、查询、更新任务和清单。 **当以下情况时使用此 Skill**: (1) 需要创建、查询、更新任务 (2) 需要创建、管理任务清单 (3) 需要查看任务列表或清单内的任务 (4) 用户提到"任务"、"待办"、"to-do"、"清单"、"task",且意图明确为**飞书任务**(其他任务系统或普通待办场景不使用本 Skill) (5) 需要设置任务负责人、关注人、截止时间、添加成员 (6) 需要追加任务步骤记录(Task 的 steps) (7) 需要上传任务附件(支持 task / task_delivery) (8) 需要注册 Agent / 更新 Agent 信息(register / update_profile)
- License 许可
- MIT
- 最近更新
- 2026-11-10
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- feishu-task
- description
- 飞书任务管理工具,用于创建、查询、更新任务和清单。 **当以下情况时使用此 Skill**: (1) 需要创建、查询、更新任务 (2) 需要创建、管理任务清单 (3) 需要查看任务列表或清单内的任务 (4) 用户提到"任务"、"待办"、"to-do"、"清单"、"task",且意图明确为**飞书任务**(其他任务系统或普通待办场景不使用本 Skill) (5) 需要设置任务负责人、关注人、截止时间、添加成员 (6) 需要追加任务步骤记录(Task 的 steps) (7) 需要上传任务附件(支持 task / task_delivery) (8) 需要注册 Agent / 更新 Agent 信息(register / update_profile)
03 SKILL.md 正文
飞书任务管理
? 执行前必读
- ✅ 时间格式:ISO 8601 / RFC 3339(带时区),例如
2026-02-28T17:00:00+08:00 - ✅ 身份授权:工具支持
auth_type为user(默认,用户身份)或tenant(应用身份)。 - ✅ 任务 Agent(feishu_task_agent):仅支持应用身份(tenant),不支持 user 身份
- ✅ current_user_id 强烈建议:从消息上下文的 SenderId 获取(ou_...),工具会自动添加为 follower(如不在 members 中),确保创建者可以编辑任务
- ✅ patch/get 必须:task_guid
- ✅ tasklist.tasks 必须:tasklist_guid
- ✅ 完成任务:completed_at = "2026-02-26 15:00:00"
- ✅ 反完成(恢复未完成):completed_at = "0"
- ✅ append_steps 的 task_steps[].timestamp:秒级 Unix 时间戳(10 位),不要用毫秒(13 位)
? 快速索引:意图 → 工具 → 必填参数
| 用户意图 | 工具 | action | 必填参数 | 强烈建议 | 常用可选 |
|---|---|---|---|---|---|
| 新建待办 | feishu_task_task | create | summary | current_user_id(SenderId) | members, due, description, auth_type |
| 查未完成任务 | feishu_task_task | list | - | completed=false | page_size, auth_type, agent_task_status |
| 获取任务详情 | feishu_task_task | get | task_guid | - | auth_type |
| 完成任务 | feishu_task_task | patch | task_guid, completed_at | - | auth_type |
| 反完成任务 | feishu_task_task | patch | task_guid, completed_at="0" | - | auth_type |
| 改截止时间 | feishu_task_task | patch | task_guid, due | - | auth_type |
| 添加任务成员 | feishu_task_task | add_members | task_guid, members[] | - | auth_type |
| 追加任务步骤记录 | feishu_task_task | append_steps | task_guid, idempotent_key, task_steps[] | task_steps[].timestamp 用秒级(10 位) | - |
| 创建清单 | feishu_task_tasklist | create | name | - | members |
| 查看清单任务 | feishu_task_tasklist | tasks | tasklist_guid | - | completed |
| 添加清单成员 | feishu_task_tasklist | add_members | tasklist_guid, members[] | - | - |
| 上传任务附件 | feishu_task_attachment | upload | resource_id, file(base64) | name | resource_type |
| 注册任务 Agent | feishu_task_agent | register | - | 仅支持 tenant(应用身份) | - |
| 更新任务 Agent Profile | feishu_task_agent | update_profile | profile_content | 仅支持 tenant(应用身份) | - |
? 核心约束(Schema 未透露的知识)
1. 授权身份与可见性 (auth_type)
工具支持两种调用身份 auth_type:
user(默认):用户身份(user_access_token)。用于需要严格代表用户操作或查询用户私有任务的场景。- ⚠️ 使用
user身份时,只能查看和编辑自己是成员的任务。 - ⚠️ 如果创建时没把自己加入成员,后续无法编辑该任务。
- ⚠️ 使用
tenant:应用身份(tenant_access_token)。当用户身份不满足要求时,使用应用身份。如果创建的任务没有把用户加入成员,用户可能看不见。
自动保护机制:
- 传入
current_user_id参数(从 SenderId 获取) - 如果
members中不包含current_user_id,工具会自动添加为 follower - 确保创建者始终可以编辑和查看任务
2. 任务成员的角色与类型
- 角色 (role):
- assignee(负责人):负责完成任务,可以编辑任务
- follower(关注人):关注任务进展,接收通知
- 类型 (type):
- user(默认,用户):普通的飞书用户
- app(应用/机器人):如果是把机器人自己或者其他应用加入任务,必须指定
type: "app"
添加成员示例:
{
"members": [
{"id": "ou_xxx", "role": "assignee", "type": "user"}, // 负责人(用户)
{"id": "cli_yyy", "role": "follower", "type": "app"} // 关注人(机器人/应用)
]
}
说明:id 默认使用 open_id。
3. 任务清单角色冲突
现象:创建清单(tasklist.create)时传了 members,但返回的 tasklist.members 为空或缺少成员
原因:创建人自动成为清单 owner(所有者),如果 members 中包含创建人,该用户最终成为 owner 并从 members 中移除(同一用户只能有一个角色)
建议:不要在 members 中包含创建人,只添加其他协作成员
4. completed_at 的三种用法
1) 完成任务(设置完成时间):
{
"action": "patch",
"task_guid": "xxx",
"completed_at": "2026-02-26 15:30:00" // 北京时间字符串
}
2) 反完成(恢复未完成状态):
{
"action": "patch",
"task_guid": "xxx",
"completed_at": "0" // 特殊值 "0" 表示反完成
}
3) 毫秒时间戳(不推荐,除非上层已严格生成):
{
"completed_at": "1740545400000" // 毫秒时间戳字符串
}
5. 清单成员的角色
| 成员类型 | 角色 | 说明 |
|---|---|---|
| user(用户) | owner | 所有者,可转让所有权 |
| user(用户) | editor | 可编辑,可修改清单和任务 |
| user(用户) | viewer | 可查看,只读权限 |
| chat(群组) | editor/viewer | 整个群组获得权限 |
说明:创建清单时,创建者自动成为 owner,无需在 members 中指定。
? 使用场景示例
场景 1: 创建任务并分配负责人
{
"action": "create",
"summary": "准备周会材料",
"description": "整理本周工作进展和下周计划",
"current_user_id": "ou_发送者的open_id",
"auth_type": "tenant",
"due": {
"timestamp": "2026-02-28 17:00:00",
"is_all_day": false
},
"members": [
{"id": "ou_协作者的open_id", "role": "assignee", "type": "user"}
]
}
说明:
summary是必填字段current_user_id强烈建议传入(从 SenderId 获取),工具会自动添加为 followermembers可以只包含其他协作者,当前用户会被自动添加- 时间使用带时区的 ISO 8601 格式
场景 2: 查询我负责的未完成任务
{
"action": "list",
"completed": false,
"page_size": 20,
"auth_type": "user"
}
场景 3: 为现有任务添加机器人或成员
{
"action": "add_members",
"task_guid": "任务的guid",
"auth_type": "tenant",
"members": [
{"id": "cli_机器人的app_id", "role": "follower", "type": "app"}
]
}
场景 4: 完成任务
{
"action": "patch",
"task_guid": "任务的guid",
"completed_at": "2026-02-26 15:30:00"
}
场景 5: 反完成任务(恢复未完成状态)
{
"action": "patch",
"task_guid": "任务的guid",
"completed_at": "0"
}
场景 6: 创建清单并添加协作者
{
"action": "create",
"name": "产品迭代 v2.0",
"members": [
{"id": "ou_xxx", "role": "editor"},
{"id": "ou_yyy", "role": "viewer"}
]
}
场景 7: 查看清单内的未完成任务
{
"action": "tasks",
"tasklist_guid": "清单的guid",
"completed": false
}
场景 8: 全天任务
{
"action": "create",
"summary": "年度总结",
"due": {
"timestamp": "2026-03-01 00:00:00",
"is_all_day": true
}
}
场景 9: 注册任务 Agent(仅应用身份)
{
"action": "register",
"auth_type": "tenant"
}
场景 10: 更新任务 Agent Profile(仅应用身份)
{
"action": "update_profile",
"auth_type": "tenant",
"profile_content": "some profile content"
}
? 常见错误与排查
| 错误现象 | 根本原因 | 解决方案 |
|---|---|---|
| 创建后无法编辑任务 | 创建时未将自己加入 members | 创建时至少将当前用户(SenderId)加为 assignee 或 follower |
| patch 失败提示 task_guid 缺失 | 未传 task_guid 参数 | patch/get/add_members 必须传 task_guid |
| tasks 失败提示 tasklist_guid 缺失 | 未传 tasklist_guid 参数 | tasklist.tasks action 必须传 tasklist_guid |
| 反完成失败 | completed_at 格式错误 | 使用 "0" 字符串,不是数字 0 |
| 时间不对 | 使用了 Unix 时间戳 | 改用 ISO 8601 格式(带时区):2024-01-01T00:00:00+08:00 |
| 添加机器人失败 | 未指定成员 type 为 app | 将机器人的 type 指定为 "app" |
? 附录:背景知识
A. 资源关系
任务清单(Tasklist)
└─ 自定义分组(Section,可选)
└─ 任务(Task)
├─ 成员:负责人(assignee)、关注人(follower)
├─ 子任务(Subtask)
├─ 截止时间(due)、开始时间(start)
└─ 附件、评论
核心概念:
- 任务(Task):独立的待办事项,有唯一的
task_guid - 清单(Tasklist):组织多个任务的容器,有唯一的
tasklist_guid - 负责人(assignee):可以编辑任务并标记完成
- 关注人(follower):接收任务更新通知
- 我负责的(MyTasks):所有负责人为自己的任务集合
B. 如何获取 GUID
- task_guid:创建任务后从返回值的
task.guid获取,或通过list查询 - tasklist_guid:创建清单后从返回值的
tasklist.guid获取,或通过list查询
C. 如何将任务加入清单
创建任务时指定 tasklists 参数:
{
"action": "create",
"summary": "任务标题",
"tasklists": [
{
"tasklist_guid": "清单的guid",
"section_guid": "分组的guid(可选)"
}
]
}
D. 重复任务如何创建
使用 repeat_rule 参数,采用 RRULE 格式:
{
"action": "create",
"summary": "每周例会",
"due": {"timestamp": "2026-03-03 14:00:00", "is_all_day": false},
"repeat_rule": "FREQ=WEEKLY;INTERVAL=1;BYDAY=MO"
}
说明:只有设置了截止时间的任务才能设置重复规则。
E. 数据权限
- 只能操作自己有权限的任务(作为成员的任务)
- 只能操作自己有权限的清单(作为成员的清单)
- 将任务加入清单需要同时拥有任务和清单的编辑权限
04 同仓库更多 Skills
web-extract
获取社交/内容网站数据,Bilibili/知乎/微博/Reddit/HN/V2EX/雪球/微信读书/BOSS直聘/arXiv 等 60+ 站点的结构化数据,自动复用Chrome登录态,零风险。
openclaw-maintenance
诊断和维护 Matcha 托管的本地 OpenClaw,按证据申请最小修复并核实恢复。Use when 用户说 OpenClaw 起不来、启动失败、运行异常,要求检查配置、日志、数据库或进行维护修复;不用于创建 Agent、通用系统管理或后台巡检。
nuwa-skill
女娲造人:输入人名/主题/甚至只是模糊需求,自动深度调研→思维框架提炼→生成可运行的人物Skill。 两种入口:(1)明确人名→直接蒸馏 (2)模糊需求→诊断推荐→再蒸馏。 触发词:「造skill」「蒸馏XX」「女娲」「造人」「XX的思维方式」「做个XX视角」「更新XX的skill」。 模糊需求也触发:「我想提升决策质量」「有没有一种思维方式能帮我...」「我需要一个思维顾问」。
multi-search-engine
凡是需要使用 web_search 搜索任何信息时必须优先激活。覆盖所有联网查询场景:新闻、资讯、事件、价格、人物、公司、热点等。结合多引擎覆盖(百度/微信/集思录等中文源),并自动读取原文确认内容完整性。适用于任何需要联网查询的场景。
llm-wiki
通过 Matcha 共用 MCP 服务器 matcha 查询用户的 LLM Wiki 知识库,支持页面检索、正文读取、目录、知识图谱和源文件任务查看。仅在用户明确提到 LLM Wiki、我的 wiki、我的知识库 / knowledge base,或要求查询 wiki 页面、知识图谱、扫描 wiki 源文件时触发;不用于泛指笔记、本地文件、Obsidian、Notion、Apple Notes、Logseq 等其他工具或开放网络检索。自动使用用户在 Wiki 页或 Chat 输入框选择的全局当前库,不绑定会话。默认只读;导入、刷新、扫描、写入、删除与嵌入仅在用户明确要求时执行。
daily-news-briefing
Universal daily news briefing generator. Aggregates and summarizes the latest news on ANY topic the user specifies (AI, finance, geopolitics, sports, tech, science, etc.) from multiple sources. Activates when user asks for today's news, daily briefing, or latest updates on any subject — e.g. '给我今天的AI资讯', '帮我整理一下美股新闻', '科技行业有什么新动态', '今日财经简报'.