用途
这是一个面向飞书(Lark)的任务优先级排序工作流技能。它不只列出任务清单,而是结合日程约束和紧急/重要维度进行智能排序,并给出具体的时间块建议(什么时候做什么)。
适用场景
- “帮我排一下任务优先级” / “今天应该先做什么”
- “任务太多了,帮我理一下” / “哪些事情最紧急”
- “安排一下今天的工作” / “帮我做个工作计划”
- “Task prioritization” / “优先级排序”
- “时间不够了,哪些可以推迟” / “今天必须完成的是哪些”
前置条件
仅支持 user 身份。执行前确保已授权:
lark-cli auth login --domain task,calendar
开始前 MUST 先用 Read 工具读取 lark-shared/SKILL.md,其中包含认证、权限处理和安全规则。
工作流
整体流程为:获取任务与日程 → AI 分析(紧急/重要矩阵)→ 时间块分配 → 优先级排序与行动建议。
Step 1:确定目标时间范围
默认今天。推断规则:
- “今天的任务” / “今天先做什么” → 今天
- “这周的优先级” / “本周计划” → 本周(周一~周日)
- “明天的安排” → 明天
# 获取目标日期范围
date "+%Y-%m-%dT00:00:00%z"
date "+%Y-%m-%dT23:59:59%z"
Step 2:获取未完成任务
参考 lark-task/SKILL.md。任务获取策略(v1.0.11+):优先使用列表型能力获取全貌,仅在用户提供明确关键词时才用搜索。
A. 获取分配给我的任务(必选):
# 获取分配给我的未完成任务
lark-cli task +get-my-tasks --format json
# 如果只看近期任务,加截止日期过滤
lark-cli task +get-my-tasks --due-end "<end_date>" --format json
B. 获取与我相关的任务(推荐,v1.0.11+):
# 获取与我相关的未完成任务(我创建的、我关注的,覆盖更广)
lark-cli task +get-related-tasks --include-complete=false --format json
# 仅我创建的任务
lark-cli task +get-related-tasks --created-by-me --include-complete=false --format json
提示:+get-related-tasks 比 +get-my-tasks 覆盖更广,能捕获你创建但分配给他人、或你关注但不是负责人的任务。两者取并集可获得最全面的任务视图。
C. 按关键词搜索任务(可选,用户指定关键词时,v1.0.11+):
# 搜索包含特定关键词的未完成任务
lark-cli task +search --query "<关键词>" --completed=false --format json
# 搜索特定时间范围内到期的任务
lark-cli task +search --due "-1d,+7d" --completed=false --format json
注意:仅在用户明确提供查询关键词时使用 +search。如果用户只说“排序我的任务”而没有关键词,优先用 A/B 方式。
合并策略:将 A + B 的结果按 guid 去重合并,形成完整的任务列表。
从返回结果中提取每个任务的:summary(任务标题)、due(截止时间)、created_at(创建时间)、updated_at(最后更新时间)、creator(创建者,判断是自己创建 vs 他人分配)。
Step 3:获取日程约束
参考 lark-calendar/SKILL.md。
# 获取目标日期的日程
lark-cli calendar +agenda --start "<start>" --end "<end>"
从日程中提取:已被占用的时间段、空闲时段(用于分配任务时间块)。
Step 4:AI 分析与排序
紧急/重要矩阵评估规则:
| 维度 | 信号 |
|---|---|
| 紧急 | 截止日期在今天/明天;已过期;创建者是上级/客户 |
| 重要 | 任务标题关键词(“汇报”、“决策”、“上线”、“交付”);关联会议在今天;影响他人进度 |
| 不紧急 | 截止日期在 3 天后;无截止日期且非他人分配 |
| 不重要 | 任务标题关键词(“了解”、“调研”、“可选”);无截止日期无关联 |
分类规则:
- 🔴 P0 — 紧急且重要(Do First):今天到期 or 已过期;关键交付物 or 影响他人进度
- 🟡 P1 — 重要不紧急(Schedule):截止日期在 2-7 天内;需要深度思考或较长时间
- 🟢 P2 — 紧急不重要(Delegate/Quick Do):今天到期但预计 <30 分钟可完成;简单回复、确认类任务
- ⚪ P3 — 不紧急不重要(Backlog):无截止日期 or 截止日期 >7 天;非核心低优先级
Step 5:时间块分配
基于 Step 3 的空闲时段和 Step 4 的排序,生成时间块建议:
- 空闲时段推算:全天工作时间(09:00-18:00)- 已有日程 = 可用时间块
- 分配策略:P0 任务优先分配到最早的空闲时段;P1 任务分配到较长的连续空闲时段(>1小时);P2 任务分配到碎片时间(会议间隙 30 分钟内);P3 任务不分配时间,放入 Backlog
Step 6:生成排序结果
输出包含:概览(任务总数、各优先级数量、今日可用工作时间)、P0/P1/P2/P3 分组的任务表(含截止、建议时间段、理由)、今日时间规划示意图,以及建议(如 P0 任务过多、时间冲突、可用时间不足时的提示)。
权限表
| 步骤 | 命令 | 所需 scope | 是否必选 |
|---|---|---|---|
| 获取任务 | task +get-my-tasks | task:task:read | ✅ 必选 |
| 相关任务 | task +get-related-tasks | task:task:read | 推荐(v1.0.11+) |
| 搜索任务 | task +search | task:task:read | 可选(v1.0.11+) |
| 获取日程 | calendar +agenda | calendar:calendar.event:read | ✅ 必选 |
参考
- lark-shared — 认证、权限(必读)
- lark-calendar — +agenda 详细用法
- lark-task — +get-my-tasks 详细用法
限制
仅支持 user 身份;需完成 task、calendar 域授权。其他平台支持范围、收费情况、任务数量或时长上限等信息暂未提供。