📦 飞书日历 — Lark日程

v1.0.0

管理Lark日历,包括创建、查询和修改日程事件。

3· 5.7k·50 当前·51 累计
by @boyangwang·MIT-0
下载技能包
License
MIT-0
最后更新
2026/2/28
0
安全扫描
VirusTotal
无害
查看报告
OpenClaw
可疑
medium confidence
该技能的代码和指令与其所述目的(Lark日历管理)一致,它使用Lark API进行交互,请求适当的配置,不请求无关的凭证或意外端点。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv1.0.02026/2/2

初始版本,支持Lark日历管理

无害

安装命令

点击复制
官方npx clawhub@latest install lark-calendar
🇨🇳 镜像加速npx clawhub@latest install lark-calendar --registry https://cn.longxiaskill.com

技能文档

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

Configuration

Required Environment Variables (in .secrets.env):

FEISHU_APP_ID=cli_a9f52a4ed7b8ded4
FEISHU_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:

ParamRequiredDescription
--titleEvent title
--descriptionEvent description
--startStart time (YYYY-MM-DD HH:MM:SS)
--endEnd time (YYYY-MM-DD HH:MM:SS)
--attendeesComma-separated names (auto-resolved to user_ids)
--attendee-idsComma-separated user_ids directly
--locationEvent location
--timezoneTimezone (default: Asia/Singapore)
--calendarCalendar 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:

ParamRequiredDescription
--titleTask title
--descriptionTask description
--dueDue date (YYYY-MM-DD HH:MM:SS)
--assigneesComma-separated names (auto-resolved)
--assignee-idsComma-separated user_ids directly
--timezoneTimezone (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_idNamesRole
dgg163e1Boyang, by, 博洋Boss
gb71g28bRKLeadership, R&D
53gc5724DingLeadership, Operations
217ec2c2CharlineHR
f2bfd283曾晓玲, xiaolingHR
f26fe45dHHResearch
45858f91zan, Eva-
7f79b6deIssacOperations
1fb2547g王铁柱Operations
e5997acd尼克, NicoOperations
438c3c1fIvanOperations
17g8bab2DodoR&D, Product
73b45ec5启超, QiChaoShiR&D, Design
d1978a39chenglinR&D, Frontend
ef6fc4a7冠林, GreenR&D, Frontend
b47fa8f2sixian, sx, Sixian-YuR&D, Frontend
934fbf15jc, sagiri, 俊晨R&D, Backend
8c4aad87大明, damingR&D, Backend
ab87g5e1Emily YobalIntern
55fa337fjingda, 景达Intern
333c7cf1刘纪源, 纪源, AidenIntern

Business Rules

  • Boyang is always added as attendee to every calendar event (automatic)
  • Timezone handling: Uses IANA identifiers (e.g., Asia/Singapore, Asia/Shanghai)
  • Time format: Always YYYY-MM-DD HH:MM:SS
  • 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:

  • Go to Lark Open Platform
  • Add scopes: task:task:write, contact:contact:readonly (for dynamic employee lookup)
  • 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.

数据来源:ClawHub ↗ · 中文优化:龙虾技能库