lark-calendar
飞书日历(calendar):提供日历与日程(会议)的全面管理能力。核心场景包括:查看/搜索日程、创建/更新日程、管理参会人、查询忙闲状态及推荐空闲时段。高频操作请优先使用 Shortcuts:+agenda(快速概览今日/近期行程)、+create(创建日程并按需邀请参会人)、+freebusy(查询用户主日历的忙闲信息和rsvp的状态)、+suggestion(针对时间未确定的预约日程需求,提供多个时间推荐方案)。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o lark-calendar.zip https://jpskill.com/download/19576.zip && unzip -o lark-calendar.zip && rm lark-calendar.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/19576.zip -OutFile "$d\lark-calendar.zip"; Expand-Archive "$d\lark-calendar.zip" -DestinationPath $d -Force; ri "$d\lark-calendar.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
lark-calendar.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
lark-calendarフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 5
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
calendar (v4)
重要 — 開始する前に、../lark-shared/SKILL.md を必ず Read ツールで読み込んでください。これには認証と権限処理に関する情報が含まれています。
重要 — すべての Shortcuts は、実行する前に必ず対応する説明ドキュメントを Read ツールで読み込んでください。コマンドを直接盲目的に呼び出すことは禁止されています。
コアシナリオ
カレンダースキルには、以下のコアシナリオが含まれています。
1. スケジュールの予約
これはカレンダースキルの最も重要なシナリオであり、ユーザーが低コストでスケジュールを予約できるようにすることが核となります。
💡 コア原則:スマートアシスタントとして、補助的な意思決定を提供し、フォーム入力機やユーザーの代理人にならないでください。
時間と日付の推論規範: 時間の推論に関わる場合、正確性を確保するために以下の規則を厳守してください。
- 週の定義:月曜日が週の最初の日、日曜日が週の最後の日です。「来週の月曜日」などの相対的な日付を計算する際は、現在の実際の日付と曜日の基準に基づいて推論し、日付の計算間違いを避けてください。
- 一日の範囲:ユーザーが「明日」や「今日」など、特定の日を漠然と指す場合、時間範囲はデフォルトで一日全体をカバーするようにしてください。夜の時間帯の予定を見落とさないように、検索範囲を自己判断で縮小することは絶対に避けてください。
- 過去の時間制約:完全に過ぎ去った時間を予約することはできません。唯一の例外は「現在時刻をまたぐ」スケジュールです。つまり、スケジュールの開始時刻が過去であっても、終了時刻が未来である場合です。
スケジュールの予約ワークフロー:
-
スマートなデフォルト値の推論
- タイトル、参加者、所要時間にはすべてデフォルト値が存在するため、ユーザーに頻繁に確認する必要はありません。
- 参加者:他の参加者が明確に指定されていない場合、デフォルトの参加者はユーザー自身のみとなります。特定の参加者(人、グループ、会議室)を検索して複数の結果が表示され、一意に特定できない場合は、ユーザーに選択を確認し、その設定を長期記憶として記録して、以降の自動識別を可能にする必要があります。
- 会議室:現在、会議室の能動的な予約はサポートされていません。ただし、現在のコンテキストに会議室ID(
omm_プレフィックス)が存在し、それをスケジュールに追加する必要がある場合は除きます。 - タイトル:会話のコンテキストに基づいて自動生成されます(例:「コミュニケーション調整」や「要件議論」)。推論できない場合は、デフォルトで「会議」となります。
- 所要時間:会議の種類とコンテキストに基づいて動的に推論されます(例:「レビュー/報告」は60分と推論されるなど)。推論できない場合は、デフォルトで30分となります。
-
時間の提案と補助的な意思決定(コア体験)
- 明確な時間点がある場合(例:
明日の午前10時):関連ツール(例:lark-cli calendar +freebusylark-calendar-freebusy)を呼び出し、まずその時間帯の参加者の空き状況を照会します(注:参加者のスケジュールのRSVPステータスが拒否の場合、その時間帯は空きとみなされます)。競合がない場合は、次の確認と作成ステップに直接進みます。競合がある場合は、ユーザーに競合状況を提示し、作成を続行するか、時間を再選択するかを尋ねます。 - 時間帯がある場合(例:
明日、午後、今週):関連ツール(例:lark-cli calendar +suggestionlark-calendar-suggestion)を呼び出し、その時間帯におけるすべての参加者の複数の時間推奨案をユーザーに提示して選択させます。ユーザーが案を確認した後でなければ、スケジュール作成操作を実行することはできません。また、ユーザーが推奨案を選択した場合、再度空き状況を照会する必要はありません。 - 時間情報が全くない場合:合理的な時間帯(例:「今日」または「ここ2日間」)をデフォルトで推論し、同様に複数の時間推奨案を取得してユーザーが迅速に選択できるようにします。
- 生活系のニーズ(例:フィットネス、水泳、散歩、食事の約束、タピオカミルクティーなど。「コーヒーの約束」は仕事のシナリオとみなされます):
suggestionツールを呼び出さないことが期待されます。適切な非勤務時間を自己推論し、ユーザーに確認を求めます。推論できない場合は、ユーザーに積極的に尋ね、ユーザーからのフィードバックを記憶として形成し、以降直接適用できるようにしてください。 - 曖昧な意味の解消と長期記憶の構築 (Aha Moment):ユーザー固有の時間表現習慣(例:「仕事の後」、「仕事の前」)や、午前/午後が指定されていない12時間制のような曖昧な時間シナリオに対して、主観的な憶測は厳禁です。積極的に明確化することで真の意図を明確にし、このような個別定義を長期的な好みとして蓄積し、システム認識能力の継続的な進化を促進し、最終的に「次回は理解できる」というインテリジェントな体験を実現してください。
- 明確な時間点がある場合(例:
-
非ブロッキング実行
- ユーザーが具体的な時間オプションを確認した後、
lark-cli calendar +create --summary "..." --start "..." --end "..." --attendee-ids ...を実行します。
- ユーザーが具体的な時間オプションを確認した後、
-
友好的なフィードバック
- 結果の報告:作成に成功したスケジュールの概要情報を返します。
コアコンセプト
- カレンダー(Calendar):スケジュールのコンテナです。各ユーザーはメインカレンダー(primary calendar)を持ち、共有カレンダーを作成または購読することもできます。
- スケジュール(Event):カレンダー内の個々のイベントエントリで、開始時刻、終了時刻、場所、タイトル、参加者などの属性を含みます。単発スケジュールと繰り返しスケジュールをサポートし、RFC5545 iCalendar国際標準に準拠しています。
- 終日スケジュール(All-day Event):日付のみを占有し、具体的な開始/終了時刻がないスケジュールです。終了日はスケジュール時間内に含まれます。
- スケジュールインスタンス(Instance):スケジュールの具体的な時間インスタンスで、本質的にはスケジュールの展開です。通常スケジュールと例外スケジュールは1つのInstanceに対応し、繰り返しスケジュールはN個のInstanceに対応します。時間帯で照会する際、インスタンスビューを通じて繰り返しスケジュールを個別のインスタンスに展開して返し、タイムライン上で正確に表示および管理できるようにします。
- 繰り返しルール(Rrule/Recurrence Rule):繰り返しスケジュールの繰り返しルールを定義します。例えば、
FREQ=DAILY;UNTIL=20230307T155959Z;INTERVAL=14は14日ごとに繰り返すことを意味します。 - 例外スケジュール(Exception):繰り返しスケジュールの中で、元の繰り返しスケジュールと一致しないスケジュールです。
- 参加者(Attendee):スケジュールの参加者で、ユーザー、グループ、会議室リソース、外部メールアドレスなどがあります。各参加者は独立したRSVPステータスを持ちます。
- 応答ステータス(RSVP):参加者によるスケジュール招待への返信ステータス(承諾/拒否/未定)。
- 空き時間(FreeBusy):指定された時間帯におけるユーザーの空き状況を照会し、会議時間の調整に使用します。
リソース関係
Calendar (カレンダー)
└── Event (スケジュール)
├── Attendee (参加者)
└── Reminder (リマインダー)
Shortcuts(優先的に使用することを推奨)
Shortcut は、一般的な操作を高度にカプセル化したものです(lark-cli calendar +<verb> [flags])。Shortcut がある操作は優先的に使用してください。
| Shortcut | 説明 |
|---|---|
+agenda |
スケジュールを確認する(デフォルトは今日) |
+create |
スケジュールを作成し、参加者を招待する(ISO 8601 形式の時間) |
+freebusy |
ユーザーのメインカレンダーの空き状況とRSVPステータスを照会する |
+suggestion |
時間が未確定のスケジュール予約ニーズに対して、複数の時間推奨案を提供する |
+suggestion の使用
+suggestion を呼び出す前に、必ず lark-calendar-suggestion の使用説明を読み込んでください。コマンドを直接呼び出すことは禁止されています。
lark-cli calendar +suggestion --start "2026-03-10T00:00:00+08:00" --end "2026-03-10T11:00:00+08:00" --attendee-ids "ou_xxx,oc_yyy" --duration-minutes 30 # ユーザーou_xxxとグループoc_yyyのメンバーに空き時間を推奨する
API Resources
lark-cli schema calendar.<resource>.<method> # API を呼び出す前に必ずパラメータ構造を確認してください
lark-cli calendar <resource> <method> [flags] # API を呼び出す
重要:ネイティブ API を使用する際は、
schemaを実行して--data/--paramsパラメータ構造を必ず確認してください。フィールド形式を推測しないでください。
calendars
create— 共有カレンダーを作成するdelete— 共有カレンダーを削除するget— カレンダー情報を照会するlist— カレンダーリストを照会するpatch— カレンダー情報を更新するprimary— ユーザーのメインカレンダーを照会するsearch— カレンダーを検索する
event.attendees
batch_delete— スケジュール参加者を一括削除するcreate— スケジュール参加者を追加するlist— スケジュール参加者リストを取得する
events
create— スケジュールを作成するdelete— スケジュールを削除するget— スケジュールを取得するinstance_view— スケジュールビューを照会するpatch— スケジュールを更新するsearch— スケジュールを検索する
freebusys
list— メインカレンダーのスケジュール空き状況を照会する
権限表
| メソッド | 必要なスコープ |
|---|---|
calendars.create |
calendar:calendar:create |
calendars.delete |
calendar:calendar:delete |
calendars.get |
calendar:calendar:read |
calendars.list |
calendar:calendar:read |
calendars.patch |
calendar:calendar:update |
calendars.primary |
calendar:calendar:read |
calendars.search |
calendar:calendar:read |
event.attendees.batch_delete |
calendar:calendar.event:update |
event.attendees.create |
calendar:calendar.event:update |
event.attendees.list |
calendar:calendar.event:read |
events.create |
calendar:calendar.event:create |
events.delete |
calendar:calendar.event:delete |
events.get |
calendar:calendar.event:read |
events.instance_view |
calendar:calendar.event:read |
events.patch |
calendar:calendar.event:update |
events.search |
calendar:calendar.event:read |
freebusys.list |
calendar:calendar.free_busy:read |
注意(必須):
- 日付(時間)文字列とタイムスタンプの相互変換に関わる場合、変換の絶対的な正確性を確保するために、必ずシステムコマンドやスクリプトコードなどの外部ツールを呼び出して処理してください。違反すると深刻な論理エラーにつながります!
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
calendar (v4)
CRITICAL — 开始前 MUST 先用 Read 工具读取 ../lark-shared/SKILL.md,其中包含认证、权限处理
CRITICAL — 所有的 Shortcuts 在执行之前,务必先使用 Read 工具读取其对应的说明文档,禁止直接盲目调用命令。
核心场景
日历技能包含以下核心场景:
1. 预约日程
这是日历技能最核心的场景,核心是让用户低成本地实现日程预约。
💡 核心原则:做智能助理,提供辅助决策,而不是表单填写机或替用户做主。
时间与日期推断规范: 为确保准确性,在涉及时间推断时,请严格遵循以下规则:
- 星期的定义:周一是一周的第一天,周日是一周的最后一天。计算
下周一等相对日期时,务必基于当前真实日期和星期基准进行推算,避免算错日期。 - 一天的范围:当用户提到
明天、今天等泛指某一天时,时间范围应默认覆盖整天时间范围。切勿自行缩减查询范围,以免遗漏晚上的时间安排。 - 历史时间约束:不能预约已经完全过去的时间。唯一的例外情况是“跨越当前时间”的日程,即日程的开始时间在过去,但结束时间在未来。
预约日程的工作流:
-
智能推断默认值
- 标题,参与人,时长均存在默认值,无需频繁的和用户确认。
- 参会人:如未明确指定其他人,默认参会人仅为用户自己。当搜索特定参与人(人、群、会议室)出现多个结果无法唯一确定时,必须询问用户进行选择确认,并将该偏好记录为长期记忆,以便后续自动识别。
- 会议室:目前不支持主动预定会议室,除非当前上下文中已经存在对应的会议室ID(omm_ 前缀) 且需要添加到日程中。
- 标题:根据对话上下文自动生成(例如“沟通对齐”或“需求讨论”),如无法推断则默认为“会议”。
- 时长:基于会议类型和上下文动态推断(例如:“评审/汇报”推断为 60 分钟等),如无法推断,则默认为 30 分钟。
-
时间建议与辅助决策(核心体验)
- 有明确时间点(如
明早10点):调用相关工具(如lark-cli calendar +freebusylark-calendar-freebusy)先查询该时间段参会人的忙闲状态(注:若参会人已有日程的 RSVP 状态为拒绝,则认为该时段为空闲)。若均无冲突,直接进入下一步确认并创建;若有冲突,提示用户冲突情况并询问是否继续创建或重新选择时间。 - 有时间区间(如
明天、下午、本周):调用相关工具(如lark-cli calendar +suggestionlark-calendar-suggestion)获取该区间内所有参会人的多个时间推荐方案供用户选择。必须在用户确认方案后,才能执行创建日程操作;且用户一旦选择了推荐的方案,无需再次查询忙闲信息。 - 无任何时间信息:默认推断一个合理区间(如“今天”或“近两天”),并同样获取多个时间推荐方案供用户快速选择。
- 生活类需求(如健身、游泳、遛弯、约饭、奶茶等,注意“约咖啡”算工作场景):预期不调用
suggestion工具。应自行推断合适的非工作时间给到用户确认。如果无法推断,请尝试主动询问用户,并在用户给出反馈后形成记忆,以便后续直接应用。 - 模糊语义消解与长期记忆构建 (Aha Moment):针对用户专属的时间表达习惯(如“上班后”、“下班前”)或存在歧义的时间场景(如未指明上下午的12小时制),严禁主观臆断。应通过主动澄清明确真实意图,并将此类个性化定义沉淀为长期偏好,推动系统认知能力的持续进化,最终实现“下次即懂”的智能化体验。
- 有明确时间点(如
-
非阻断式执行
- 待用户确认具体时间选项后,执行
lark-cli calendar +create --summary "..." --start "..." --end "..." --attendee-ids ...
- 待用户确认具体时间选项后,执行
-
友好反馈
- 报告结果:返回创建成功的日程摘要信息
核心概念
- 日历(Calendar):日程的容器。每个用户有一个主日历(primary calendar),也可以创建或订阅共享日历。
- 日程(Event):日历中的单个事件条目,包含起止时间、地点、标题、参与人等属性。支持单次日程和重复日程,遵循RFC5545 iCalendar国际标准。
- 全天日程(All-day Event): 只按日期占用、没有具体起止时刻的日程,结束日期是包含在日程时间内的。
- 日程实例(Instance):日程的具体时间实例,本质是对日程的展开。普通日程和例外日程对应1个Instance,重复性日程对应N个Instance。在按时间段查询时,可通过实例视图将重复日程展开为独立的实例返回,以便在时间线上准确展示和管理。
- 重复规则(Rrule/Recurrence Rule):定义重复性日程的重复规则,比如
FREQ=DAILY;UNTIL=20230307T155959Z;INTERVAL=14表示每14天重复一次。 - 例外日程(Exception):重复性日程中与原重复性日程不一致的日程。
- 参会人(Attendee):日程的参与者,可以是用户、群、会议室资源、外部邮箱地址等。每个参与人有独立的RSVP状态。
- 响应状态(RSVP):参与人对日程邀请的回复状态(接受/拒绝/待定)。
- 忙闲时间(FreeBusy):查询用户在指定时间段的忙闲状态,用于会议时间协调。
资源关系
Calendar (日历)
└── Event (日程)
├── Attendee (参会人)
└── Reminder (提醒)
Shortcuts(推荐优先使用)
Shortcut 是对常用操作的高级封装(lark-cli calendar +<verb> [flags])。有 Shortcut 的操作优先使用。
| Shortcut | 说明 |
|---|---|
+agenda |
查看日程安排(默认今天) |
+create |
创建日程并邀请参会人(ISO 8601 时间) |
+freebusy |
查询用户主日历的忙闲信息和rsvp的状态 |
+suggestion |
针对时间未确定的预约日程需求,提供多个时间推荐方案 |
+suggestion 使用
在调用 +suggestion 之前,务必读取 lark-calendar-suggestion 中的使用说明,禁止直接调用命令。
lark-cli calendar +suggestion --start "2026-03-10T00:00:00+08:00" --end "2026-03-10T11:00:00+08:00" --attendee-ids "ou_xxx,oc_yyy" --duration-minutes 30 # 为用户ou_xxx和群组oc_yyy里的成员推荐空闲时段
API Resources
lark-cli schema calendar.<resource>.<method> # 调用 API 前必须先查看参数结构
lark-cli calendar <resource> <method> [flags] # 调用 API
重要:使用原生 API 时,必须先运行
schema查看--data/--params参数结构,不要猜测字段格式。
calendars
create— 创建共享日历delete— 删除共享日历get— 查询日历信息list— 查询日历列表patch— 更新日历信息primary— 查询用户主日历search— 搜索日历
event.attendees
batch_delete— 删除日程参与人create— 添加日程参与人list— 获取日程参与人列表
events
create— 创建日程delete— 删除日程get— 获取日程instance_view— 查询日程视图patch— 更新日程search— 搜索日程
freebusys
list— 查询主日历日程忙闲信息
权限表
| 方法 | 所需 scope |
|---|---|
calendars.create |
calendar:calendar:create |
calendars.delete |
calendar:calendar:delete |
calendars.get |
calendar:calendar:read |
calendars.list |
calendar:calendar:read |
calendars.patch |
calendar:calendar:update |
calendars.primary |
calendar:calendar:read |
calendars.search |
calendar:calendar:read |
event.attendees.batch_delete |
calendar:calendar.event:update |
event.attendees.create |
calendar:calendar.event:update |
event.attendees.list |
calendar:calendar.event:read |
events.create |
calendar:calendar.event:create |
events.delete |
calendar:calendar.event:delete |
events.get |
calendar:calendar.event:read |
events.instance_view |
calendar:calendar.event:read |
events.patch |
calendar:calendar.event:update |
events.search |
calendar:calendar.event:read |
freebusys.list |
calendar:calendar.free_busy:read |
注意(强制性):
- 涉及日期(时间)字符串与时间戳的相互转换时,务必调用系统命令或脚本代码等外部工具进行处理,以确保转换的绝对准确。违者将导致严重的逻辑错误!
同梱ファイル
※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。
- 📄 SKILL.md (9,895 bytes)
- 📎 references/lark-calendar-agenda.md (2,344 bytes)
- 📎 references/lark-calendar-create.md (4,671 bytes)
- 📎 references/lark-calendar-freebusy.md (3,852 bytes)
- 📎 references/lark-calendar-suggestion.md (7,172 bytes)