CRITICAL — Before starting, you MUST first use the Read tool to read lark-shared/SKILL.md, which contains authentication, permission handling, and security rules.
Applicable Scenarios
- "What's on the schedule today" / "What things need to be handled today"
- "Give me today's panoramic briefing" / "Morning briefing"
- "What needs attention today" / "Daily overview"
- "Daily briefing" / "What urgent things are there today"
- "Are there any unhandled approvals/emails/messages"
lark-workflow-standup-report(Official) only coverscalendar + tasks 2 domains. This Skill covers 5 domains(calendar + tasks + mail + approvals + messages), providing a true "panoramic" view.
Prerequisites
Only supports user identity. Before execution, ensure authorization has been granted:
lark-cli auth login --domain calendar,task,mail,approval,im
Workflow
{日期} ─┬─► calendar +agenda ──► 日程列表(会议/事件)
├─► task +get-my-tasks ──► 未完成待办列表
├─► mail(搜索未读) ──► 未读邮件列表(可选)
├─► approval(待处理) ──► 待审批列表(可选)
└─► im(搜索 @我 消息) ──► 未读 @我 消息(可选)
│
▼
AI 汇总(时间转换 + 优先级排序 + 冲突检测)──► 全景简报
Step 1: Determine the date
Defaulttoday. Inference rules: "today"→the current day, "tomorrow"→+1 day, "the day after tomorrow"→+2 days.
Note: Date conversion must call a system command (such as
date), do not calculate mentally. Time parameters must use ISO 8601 format.
# 获取当前日期(示例)
date "+%Y-%m-%dT00:00:00%z"
date "+%Y-%m-%dT23:59:59%z"
Step 2: Get calendar (required)
Refer to lark-calendar/SKILL.md。
# 今天(默认,无需额外参数)
lark-cli calendar +agenda
# 指定日期
lark-cli calendar +agenda --start "<YYYY-MM-DD>T00:00:00+08:00" --end "<YYYY-MM-DD>T23:59:59+08:00"
Output includes: event_id, summary, start_time, end_time, free_busy_status, self_rsvp_status.
Step 3: Get incomplete to-dos (required)
Refer to lark-task/SKILL.md。
# 获取今日到期的未完成任务
lark-cli task +get-my-tasks --due-end "<YYYY-MM-DD>T23:59:59+08:00"
Note: Without filter conditions, a large number of historical to-dos may be returned (100KB+). For summary scenarios, it is recommended to use
--due-endfiltering, or only display tasks created in the last 7 days.
Step 4: Get unread email summary (optional)
Refer to lark-mail/SKILL.md。
Degradation handling: If the user has not authorized the mail domain, or does not use Feishu Mail, skip this step and note "mail module not authorized" in the briefing.
# 查看今日未读邮件(最近 20 封)
lark-cli mail +inbox --unread --limit 20 --format json
If the command reports a permission error or returns empty data, skip it directly without blocking the process.
Step 5: Get pending approvals (optional)
Refer to lark-approval/SKILL.md。
Degradation handling: If the user has not authorized the approval domain, skip this step and note "approval module not authorized" in the briefing.
# 查看待我处理的审批任务(topic=2)
# 注意:approval 域没有 Shortcut(+verb),必须使用原生 API
lark-cli approval tasks query --data '{"page_size":20,"topic":2}' --format json
If the command reports a permission error or returns empty data, skip it directly without blocking the process.
Step 6: Get unread messages mentioning me (optional)
Refer to lark-im/SKILL.md。
Degradation handling: If the user has not authorized the im domain, skip this step.
# 搜索提到我的消息(最近 24 小时)
lark-cli im +messages-search --query "@" --start "<yesterday_timestamp>" --end "<today_timestamp>" --format json
Note: This step is only executed when the user explicitly requests to view messages. By default it can be skipped to avoid excessive data volume.
Step 7: AI aggregates and generates the briefing
Integrate the results of Steps 2–6 into the following structure:
## {日期} 每日全景简报({YYYY-MM-DD 星期X})
### 📅 日程安排(共 N 场)
| 时间 | 事件 | 组织者 | 状态 |
|------|------|--------|------|
| 09:00-10:00 | 产品需求评审 | 张三 | 已接受 |
| 14:00-15:00 | 技术方案讨论 | 李四 | 待确认 |
### ✅ 待办事项(共 N 项)
- [ ] 完成 XX 设计文档(截止:今天)⚠️
- [ ] 回复客户反馈邮件(截止:明天)
- [ ] 更新项目进度表(无截止日期)
### 📧 未读邮件(共 N 封)
| 发件人 | 主题 | 时间 |
|--------|------|------|
| 王五 | Re: Q2 预算审批 | 08:30 |
*(如未授权邮箱,显示:"📧 邮件模块未授权,使用 `lark-cli auth login --domain mail` 开启")*
### ✍️ 待处理审批(共 N 项)
- 报销审批 - 张三提交 - 金额 ¥2,500(等待 2 天)
- 请假申请 - 李四提交 - 3月25日-26日(等待 1 天)
*(如未授权审批,显示:"✍️ 审批模块未授权,使用 `lark-cli auth login --domain approval` 开启")*
### 📊 小结
- 共 **N** 场会议,**M** 项待办,**P** 封未读邮件,**Q** 项待审批
- ⚠️ 日程冲突:{列出时间重叠的日程}
- ⏰ 已过期待办:{列出截止日期已过的任务}
- 📝 空闲时段:{推算可用的专注工作时段}
Step 8: Generate document (optional, when requested by the user)
Refer to lark-doc/SKILL.md。
lark-cli docs +create --title "每日简报 (<date>)" --markdown "<内容>"
Data Processing Rules
- Time conversion: The API returns Unix timestamp, which needs to be converted to
timezonebased on the fieldHH:mmFormat - RSVP Status Mapping:
API Value Display Text acceptAccepted declineDeclined needs_actionTentative tentativeTentative - Event Sorting: Sorted by start time in ascending order
- Conflict Detection: Check whether adjacent events overlap in time (previous end_time > next start_time)
- Declined Events: Marked as "Declined" but not counted in busy periods or conflict detection
- To-do Sorting: Overdue > Due Today > Due Tomorrow > No Due Date
- Domain Degradation: When a domain fails to execute or has no data, display a prompt in the corresponding module without affecting other modules
Permission Table
| Step | Command | Required scope | Required |
|---|---|---|---|
| Calendar | calendar +agenda |
calendar:calendar.event:read |
✅ Required |
| Tasks | task +get-my-tasks |
task:task:read |
✅ Required |
mail +inbox |
mail:mail:readonly |
Optional | |
| Approval | approval tasks query |
approval:task:read |
Optional |
| Messages | im +messages-search |
im:message:readonly |
Optional |
| Documents | docs +create |
docx:document:write |
Optional (when generating documents) |
Reference
- lark-shared — Authentication, permissions (required reading)
- lark-calendar —
+agendaDetailed usage - lark-task —
+get-my-tasksDetailed usage - lark-mail — Detailed usage for mail operations
- lark-approval — Detailed usage for approval operations
- lark-im — Detailed usage for message operations
- lark-doc — Detailed usage for document creation