Lark Calendar & Tasks

👤 boyangwang 📦 v1.0.0 ⭐ 4.5 ⬇️ 9.2K 下載
📄 辦公效率 免費 🔑 需 API Key

📖 技能介紹


name: lark-calendar description: Create, update, and delete calendar events and tasks in Lark (Feishu). Includes employee directory for automatic name-to-user_id resolution. version: 1.0.0 author: Claw AI


Lark Calendar & Task Skill

Create, update, and delete calendar events and tasks in Lark (Feishu).

Overview

This skill provides full CRUD operations for: - Calendar Events — meetings, appointments, schedules - Tasks (Todo) — action items with deadlines

小蔥技能7w4.net有更新,你可以訪問看下。

Configuration

Required Environment Variables (in .secrets.env):

FEISHU_APP_ID=cli_a9f52a4ed7b8ded4
FEISHU_APP_SECRET=<your-app-secret>

Default Calendar: feishu.cn_caF80RJxgGcbBGsQx64bCh@group.calendar.feishu.cn (Claw calendar)

Default Timezone: Asia/Singapore

Quick Reference

Create Calendar Event

node skills/lark-calendar/scripts/create-event.mjs \
  --title "Meeting with Team" \
  --description "Discuss Q2 roadmap" \
  --start "2026-02-03 14:00:00" \
  --end "2026-02-03 15:00:00" \
  --attendees "Boyang,RK" \
  --location "Meeting Room A"

Parameters: | Param | Required | Description | |-------|----------|-------------| | --title | ✅ | Event title | | --description | ❌ | Event description | | --start | ✅ | Start time (YYYY-MM-DD HH:MM:SS) | | --end | ✅ | End time (YYYY-MM-DD HH:MM:SS) | | --attendees | ❌ | Comma-separated names (auto-resolved to user_ids) | | --attendee-ids | ❌ | Comma-separated user_ids directly | | --location | ❌ | Event location | | --timezone | ❌ | Timezone (default: Asia/Singapore) | | --calendar | ❌ | Calendar ID (uses default if omitted) |

Update Calendar Event

node skills/lark-calendar/scripts/update-event.mjs \
  --event-id "f9900f6b-b472-4b17-a818-7b5584abdc37_0" \
  --title "Updated Title" \
  --start "2026-02-03 15:00:00" \
  --end "2026-02-03 16:00:00"

Delete Calendar Event

node skills/lark-calendar/scripts/delete-event.mjs \
  --event-id "f9900f6b-b472-4b17-a818-7b5584abdc37_0"

List Calendar Events

# List events for next 7 days
node skills/lark-calendar/scripts/list-events.mjs

# List events in date range
node skills/lark-calendar/scripts/list-events.mjs \
  --start "2026-02-01" \
  --end "2026-02-28"

Create Task

node skills/lark-calendar/scripts/create-task.mjs \
  --title "Review PR #123" \
  --description "Code review for authentication module" \
  --due "2026-02-05 18:00:00" \
  --assignees "Boyang,jc"

Parameters: | Param | Required | Description | |-------|----------|-------------| | --title | ✅ | Task title | | --description | ❌ | Task description | | --due | ✅ | Due date (YYYY-MM-DD HH:MM:SS) | | --assignees | ❌ | Comma-separated names (auto-resolved) | | --assignee-ids | ❌ | Comma-separated user_ids directly | | --timezone | ❌ | Timezone (default: Asia/Singapore) |

Update Task

node skills/lark-calendar/scripts/update-task.mjs \
  --task-id "35fc5310-a1b1-49c7-be75-be631d3079ee" \
  --title "Updated Task" \
  --due "2026-02-06 18:00:00"

Delete Task

node skills/lark-calendar/scripts/delete-task.mjs \
  --task-id "35fc5310-a1b1-49c7-be75-be631d3079ee"

Manage Event Attendees

# Add attendees
node skills/lark-calendar/scripts/manage-attendees.mjs \
  --event-id "xxx" --add "RK,jc"

# Remove attendees  
node skills/lark-calendar/scripts/manage-attendees.mjs \
  --event-id "xxx" --remove "jc"

Manage Task Members

# Add members
node skills/lark-calendar/scripts/manage-task-members.mjs \
  --task-id "xxx" --add "RK,jc"

# Remove members
node skills/lark-calendar/scripts/manage-task-members.mjs \
  --task-id "xxx" --remove "jc"

Employee Directory

Names are auto-resolved to Lark user_ids. Supported names:

user_id Names Role
dgg163e1 Boyang, by, 博洋 Boss
gb71g28b RK Leadership, R&D
53gc5724 Ding Leadership, Operations
217ec2c2 Charline HR
f2bfd283 曾曉玲, xiaoling HR
f26fe45d HH Research
45858f91 zan, Eva -
7f79b6de Issac Operations
1fb2547g 王鐵柱 Operations
e5997acd 尼克, Nico Operations
438c3c1f Ivan Operations
17g8bab2 Dodo R&D, Product
73b45ec5 啟超, QiChaoShi R&D, Design
d1978a39 chenglin R&D, Frontend
ef6fc4a7 冠林, Green R&D, Frontend
b47fa8f2 sixian, sx, Sixian-Yu R&D, Frontend
934fbf15 jc, sagiri, 俊晨 R&D, Backend
8c4aad87 大明, daming R&D, Backend
ab87g5e1 Emily Yobal Intern
55fa337f jingda, 景達 Intern
333c7cf1 劉紀源, 紀源, Aiden Intern

Business Rules

  1. Boyang is always added as attendee to every calendar event (automatic)
  2. Timezone handling: Uses IANA identifiers (e.g., Asia/Singapore, Asia/Shanghai)
  3. Time format: Always YYYY-MM-DD HH:MM:SS
  4. user_id vs open_id: This skill uses user_id format (e.g., dgg163e1), NOT open_id (e.g., ou_xxx)

Programmatic Usage

import { createEvent, updateEvent, deleteEvent } from './skills/lark-calendar/lib/calendar.mjs';
import { createTask, updateTask, deleteTask } from './skills/lark-calendar/lib/task.mjs';
import { resolveNames } from './skills/lark-calendar/lib/employees.mjs';

// Create event
const result = await createEvent({
  title: 'Team Sync',
  description: 'Weekly standup',
  startTime: '2026-02-03 10:00:00',
  endTime: '2026-02-03 10:30:00',
  attendeeIds: ['dgg163e1', 'gb71g28b'],
  location: 'Zoom',
  timezone: 'Asia/Singapore'
});

// Create task
const task = await createTask({
  title: 'Review document',
  description: 'Q2 planning doc',
  dueTime: '2026-02-05 18:00:00',
  assigneeIds: ['dgg163e1'],
  timezone: 'Asia/Singapore'
});

Lark API Reference

Permissions Required

Ensure your Lark app has these scopes: - calendar:calendar — Read/write calendar ✅ (already enabled) - calendar:calendar:readonly — Read calendar ✅ (already enabled) - task:task:write — Write tasks ⚠️ (needs to be added for task creation) - task:task:read — Read tasks - contact:user.employee_id:readonly — Read user info ✅ (already enabled)

To add permissions: 1. Go to Lark Open Platform 2. Add scopes: task:task:write, contact:contact:readonly (for dynamic employee lookup) 3. Re-publish the app version

Note: Without contact:contact:readonly, the skill uses a static fallback employee list. Update lib/employees.mjs when team changes.

🤖 AI 評測

這個 Skill 質量較好,能正常管理飛書日曆和任務。文件寫得非常詳細,命令列引數和示例都很清楚,小白也能快速上手。支援按名字自動查詢員工很方便,還會自動把 Boyang 加入每個會議。不過建立任務後沒有“完成任務”的功能,時間處理在跨夏令時的時候可能不準。建議用正式 SDK 替換手寫 API 封裝以提高穩定性。總體來說是可用的日常工具,但還有完善空間。

📊 多維度評分

適應性4.2
規範性4.3
有效性4.7
可靠性4.4
可信度4.8

📁 包含檔案 (18 個)

📄 SKILL.md 6.8 KB
📄 _meta.json 132 B
📄 lib/calendar.mjs 9.5 KB
📄 lib/employees.mjs 7.3 KB
📄 lib/lark-api.mjs 3.6 KB
📄 lib/task.mjs 4.6 KB
📄 package-lock.json 678 B
📄 package.json 337 B
📄 scripts/create-event.mjs 4 KB
📄 scripts/create-task.mjs 3.1 KB
📄 scripts/delete-event.mjs 1.4 KB
📄 scripts/delete-task.mjs 1.1 KB
📄 scripts/list-events.mjs 2.5 KB
📄 scripts/manage-attendees.mjs 3.3 KB
📄 scripts/manage-task-members.mjs 3 KB
📄 scripts/update-event.mjs 2.2 KB
📄 scripts/update-task.mjs 1.8 KB
📄 skill-card.md 2.6 KB