SuperAPI AI 工具集

lark-workflow-task-prioritizer

办公与效率

查看项目

更新于 10-16 10:16

技能介绍

用途

这是一个面向飞书(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 域授权。其他平台支持范围、收费情况、任务数量或时长上限等信息暂未提供。