SuperAPI AI Directory

lark-workflow-standup-report

Office & productivity

View repository

Updated 10-16 09:28

About this skill

Schedule and To-Do Summary Workflow

CRITICAL — Before starting, you MUST first use the Read tool to read ../lark-shared/SKILL.md, which contains authentication and permission handling

Applicable Scenarios

  • "What's on today" / "Today's schedule and to-dos"
  • "What meetings are tomorrow" / "Tomorrow's schedule and incomplete tasks"
  • "Help me see what I need to do today" / "Morning report summary"
  • "Kickoff summary" / "standup report"
  • "What else is scheduled this week"

Prerequisites

Only user identityis supported. Before execution, ensure authorization has been granted:

lark-cli auth login --domain calendar,task

Workflow

{date} ─┬─► calendar +agenda [--start/--end] ──► 日程列表(会议/事件)
        └─► task +get-my-tasks [--due-end]    ──► 未完成待办列表
                    │
                    ▼
              AI 汇总(时间转换 + 冲突检测 + 排序)──► 摘要

Step 1: Get Schedule

# 今天(默认,无需额外参数)
lark-cli calendar +agenda

# 指定日期范围(必须使用 ISO 8601 格式,不支持 "tomorrow" 等自然语言)
lark-cli calendar +agenda --start "2026-03-26T00:00:00+08:00" --end "2026-03-26T23:59:59+08:00"

Note:--start / --end Only ISO 8601 format is supported (e.g., 2026-01-01 or 2026-01-01T15:04:05+08:00) and Unix timestamp;not supported "tomorrow"、"next monday" and other natural language. The AI needs to calculate the target date itself based on the current date.

Output includes: event_id, summary, start_time (including timestamp + timezone), end_time, free_busy_status, self_rsvp_status.

Step 2: Get Incomplete To-Dos

# 默认:返回分配给当前用户的未完成任务(最多 20 条)
lark-cli task +get-my-tasks

# 只看指定日期前到期的(推荐用于摘要场景,减少数据量)
lark-cli task +get-my-tasks --due-end "2026-03-27T23:59:59+08:00"

# 获取全部(超过 20 条时)
lark-cli task +get-my-tasks --page-all

Note: Without filter conditions, it may return a large number of historical to-dos (measured at 30+ items, 100KB+), which easily exceeds the context limit. For summary scenarios, it is recommended to:

  • Use --due-end to filter out tasks due before the target date
  • If tasks without due dates are also needed, no filter may be added, but when summarizing, the AI should only displaythose created within the last 30 days, and collapse the rest into "N other historical to-dos"

Step 3: AI Summary

Integrate the results of Step 1 and Step 2, and output according to the following structure:

## {日期}摘要({YYYY-MM-DD 星期X})

### 日程安排
| 时间 | 事件 | 组织者 | 状态 |
|------|------|--------|------|
| 09:00-10:00 | 产品需求评审 | 张三 | 已接受 |
| 14:00-15:00 | 技术方案讨论 | 李四 | 待确认 |

### 待办事项
- [ ] {task_summary}(截止:{due_date})
- [ ] {task_summary}

### 小结
- 共 {n} 场会议,{m} 项待办
- 冲突提醒:{列出时间重叠的日程}
- 空闲时段:{free_slots}(根据日程推算)

Data processing rules:

  1. Time conversion: The API returns a Unix timestamp, which needs to be converted to timezone format based on the Asia/Shanghaifield (usually HH:mm )
  2. RSVP status mapping:
    API value Display text
    accept Accepted
    decline Declined
    needs_action Pending confirmation
    tentative Tentative
  3. Schedule sorting: Sort in ascending order by start time
  4. Conflict detection: After sorting by time, check whether adjacent schedules overlap in time (the previous end_time > the next start_time); if so, list the conflict groups in the summary
  5. Declined schedules: Mark as "Declined" but do not count them in busy periods or conflict detection
  6. To-do sorting: Sort in ascending order by due time; mark overdue ones as "Overdue"; those without a due time are placed last

Permission Table

Command Required scope
calendar +agenda calendar:calendar.event:read
task +get-my-tasks task:task:read

Reference