lark-workflow-standup-report

Original🇨🇳 Chinese
Translated

Schedule & To-Do Summary: Orchestrate calendar +agenda and task +get-my-tasks to generate a summary of schedules and incomplete tasks for a specified date. Suitable for checking today's, tomorrow's or this week's arrangements.

400.4kinstalls
Added on

NPX Install

npx skill4agent add larksuite/cli lark-workflow-standup-report

SKILL.md Content (Chinese)

View Translation Comparison →

Schedule & To-Do Summary Workflow

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

Applicable Scenarios

  • "What's on my schedule today?" / "Today's schedule and to-dos"
  • "What meetings do I have tomorrow?" / "Tomorrow's schedule and incomplete tasks"
  • "Help me check what I need to do today" / "Morning briefing summary"
  • "Work start summary" / "standup report"
  • "What arrangements do I have left this week?"

Prerequisites

Only supports user identity. Ensure authorization is completed before execution:
bash
lark-cli auth login --domain calendar,task

Workflow

{date} ─┬─► calendar +agenda [--start/--end] ──► Schedule List (Meetings/Events)
        └─► task +get-my-tasks [--due-end]    ──► Incomplete To-Do List
              AI Summary (Time Conversion + Conflict Detection + Sorting)──► Summary

Step 1: Get Schedules

bash
# Today (default, no additional parameters required)
lark-cli calendar +agenda

# Specify date range (must use ISO 8601 format, natural language like "tomorrow" is not supported)
lark-cli calendar +agenda --start "2026-03-26T00:00:00+08:00" --end "2026-03-26T23:59:59+08:00"
Note:
--start
/
--end
only supports ISO 8601 format (e.g.,
2026-01-01
or
2026-01-01T15:04:05+08:00
) and Unix timestamp, does not support natural language like
"tomorrow"
,
"next monday"
, etc. The AI needs to calculate the target date automatically 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

bash
# Default: Returns incomplete tasks assigned to the current user (max 20 items)
lark-cli task +get-my-tasks

# Only view tasks due before the specified date (recommended for summary scenarios to reduce data volume)
lark-cli task +get-my-tasks --due-end "2026-03-27T23:59:59+08:00"

# Get all tasks (when more than 20 items)
lark-cli task +get-my-tasks --page-all
Note: Without filtering conditions, a large number of historical to-dos may be returned (tested 30+ items, 100KB+), which may easily exceed context limits. Recommendations for summary scenarios:
  • Use
    --due-end
    to filter tasks due before the target date
  • If tasks without due dates are also needed, no filtering is required, but when the AI summarizes, only those created within the last 30 days will be displayed, and the rest will be collapsed into "Other N historical to-dos"

Step 3: AI Summary

Integrate the results of Step 1 and Step 2, and output according to the following structure:
## {Date} Summary (YYYY-MM-DD, WeekX)

### Schedule Arrangements
| Time | Event | Organizer | Status |
|------|------|--------|------|
| 09:00-10:00 | Product Requirements Review | Zhang San | Accepted |
| 14:00-15:00 | Technical Solution Discussion | Li Si | Pending Confirmation |

### To-Do Items
- [ ] {task_summary} (Due: {due_date})
- [ ] {task_summary}

### Summary
- Total {n} meetings, {m} to-dos
- Conflict Reminder: {List overlapping schedules}
- Free Time Slots: {free_slots} (Calculated based on schedules)
Data Processing Rules:
  1. Time Conversion: The API returns Unix timestamp, which needs to be converted to
    HH:mm
    format according to the
    timezone
    field (usually
    Asia/Shanghai
    )
  2. RSVP Status Mapping:
    API ValueDisplay Text
    accept
    Accepted
    decline
    Declined
    needs_action
    Pending Confirmation
    tentative
    Tentative
  3. Schedule Sorting: Sort in ascending order of start time
  4. Conflict Detection: After sorting by time, check if adjacent schedules overlap (previous end_time > next start_time). If yes, list the conflict groups in the summary
  5. Declined Schedules: Mark as "Declined" but not included in busy time slots and conflict detection
  6. To-Do Sorting: Sort in ascending order of due date. Expired tasks are marked as "Expired", and tasks without due dates are placed last

Permission Table

CommandRequired Scope
calendar +agenda
calendar:calendar.event:read
task +get-my-tasks
task:task:read

References

  • lark-shared — Authentication, Permissions (Must Read)
  • lark-calendar — Detailed usage of
    +agenda
  • lark-task — Detailed usage of
    +get-my-tasks