CRITICAL — Before starting, you MUST first use the Read tool to read ../lark-shared/SKILL.md, which contains authentication and permission handling
Applicable Scenarios
- "How is today's task completion going" / "task progress"
- "Generate this week's task weekly report" / "task report"
- "See what to-dos I have" / "to-do report"
- "project progress report" / "task overview"
- "Help me announce the task status"
Prerequisites
Only supports user identity. Before execution, ensure authorization has been granted:
lark-cli auth login --domain task
# 如需推送消息或保存文档,还需:
lark-cli auth login --domain task,im,docs
Workflow
{时间范围 / 状态筛选}
│
├── task +get-my-tasks [--page-all] ──► 任务列表
│
├── AI 分类统计 ─────────────────────► 按状态/优先级/截止日分组
│ ├── 未开始
│ ├── 进行中
│ ├── 已完成
│ └── 已逾期(高亮)
│
├── AI 生成进度报告 ─────────────────► 结构化 Markdown
│
├── [可选] im +messages-send ────────► 推送到飞书
│
└── [可选] docs +create ─────────────► 保存为文档
Step 1: Determine the time range
Determine the query range based on the user's request:
| User says | Range |
|---|---|
| Today / today | The current day |
| This week | This Monday ~ today |
| This month | The 1st of this month ~ today |
Note: Use the system command for date calculation
date, do not calculate mentally.
# 获取今天的截止范围(示例)
date -d "today 23:59:59" +%s # Unix timestamp
Step 2: Get the task list
# 默认:返回分配给当前用户的未完成任务(最多 20 条)
lark-cli task +get-my-tasks
# 获取全部未完成任务(超过 20 条时)
lark-cli task +get-my-tasks --page-all
# 按截止日期筛选(推荐,减少数据量)
lark-cli task +get-my-tasks --due-end "2026-04-09T23:59:59+08:00"
# 按创建时间筛选
lark-cli task +get-my-tasks --created-at "2026-04-01"
# 包含已完成的任务
lark-cli task +get-my-tasks --complete
# 搜索特定任务
lark-cli task +get-my-tasks --query "<关键词>"
Note: Without filter conditions, a large number of historical to-dos may be returned; it is recommended to use
--due-endto filter. If the data volume is still too large (exceeding the context limit), when summarizing, the AI should only displaythose created within the last 30 days, and collapse the rest as "N other historical to-dos".
Step 3: AI generates the progress report
Organize the results of Step 2 according to the following structure:
## {日期范围} 任务进度报告
### 统计概览
| 状态 | 数量 |
|------|------|
| 未开始 | N |
| 进行中 | N |
| 已完成 | N |
| 已逾期 | N |
| **总计** | **N** |
### 逾期任务(需关注)
| 任务 | 负责人 | 截止日期 | 逾期天数 |
|------|--------|---------|---------|
### 进行中任务
| 任务 | 负责人 | 截止日期 | 进度 |
|------|--------|---------|------|
### 已完成任务
| 任务 | 完成时间 |
|------|---------|
Statistical rules:
- Overdue = due date < current time and status != completed
- Completion rate = completed / total × 100%
- Overdue taskshighlighted(marked in red)
Step 4: Push the report (optional)
Send to a Feishu group
lark-cli im +messages-send \
--chat-id "<chat_id>" \
--markdown "{报告内容}" \
--as bot
Send to an individual
lark-cli im +messages-send \
--user-id "<open_id>" \
--markdown "{报告内容}" \
--as bot
Save as a document
lark-cli docs +create \
--title "任务进度报告 ({日期})" \
--markdown "{报告内容}" \
--as user
Fallback Strategy
| Scenario | Fallback Plan |
|---|---|
| No task data | Return "There are currently no tasks matching the criteria" |
| Data volume too large | Only display data from the last 30 days, collapse historical data |
| im push failed | Only output to the conversation, inform the user to send manually |
| docs save failed | Only output Markdown to the conversation |
Permission Table
| Command | Required scope |
|---|---|
task +get-my-tasks |
task:task:readonly |
im +messages-send |
im:message |
docs +create |
docx:document:create |
References
../lark-task/SKILL.md— Task management atomic operations../lark-im/SKILL.md— Message sending../lark-doc/SKILL.md— Document creation