recipe-plan-weekly-schedule は何をしますか?
Googleカレンダーの週間スケジュールを確認し、空き時間を特定してイベントを追加します。
概要
このスキルは、現在の週(月曜日から日曜日)のGoogleカレンダーイベントを取得し、既存の予定の間にある空き時間を分析します。その後、ユーザーの指示に基づいて、特定された空き時間に新しいイベント(例:集中作業時間、ミーティング、タスクのブロック)を追加します。
前提条件
- Google Workspaceアカウント
- 以下のスコープを持つGoogle Calendar APIの認証情報:
https://www.googleapis.com/auth/calendar.readonlyhttps://www.googleapis.com/auth/calendar.events
- AIエージェントがカレンダーデータにアクセスできるように適切に設定されていること
使用方法
- 現在の週のカレンダーイベントを取得するには、以下のツールを使用します:
calendar.events.list({
"calendarId": "primary",
"timeMin": "2024-01-01T00:00:00Z",
"timeMax": "2024-01-07T23:59:59Z",
"singleEvents": true,
"orderBy": "startTime"
})
-
空き時間を特定するには、イベントリストを反復処理し、各イベントの終了時刻と次のイベントの開始時刻の間のギャップを計算します。
-
新しいイベントを追加するには、以下のツールを使用します:
calendar.events.insert({
"calendarId": "primary",
"resource": {
"summary": "集中作業時間",
"description": "空き時間に追加されたイベント",
"start": {
"dateTime": "2024-01-02T10:00:00",
"timeZone": "Asia/Tokyo"
},
"end": {
"dateTime": "2024-01-02T11:00:00",
"timeZone": "Asia/Tokyo"
}
}
})
設定
- デフォルトのカレンダーIDは
primaryです。必要に応じて変更してください。 - 時間帯はイベント作成時に指定可能です(デフォルトはAsia/Tokyo)。
- 空き時間の最小長さ(例:30分未満のギャップは無視)を設定できます。
注意事項
- このスキルは既存のイベントを変更しません。新しいイベントのみ追加します。
- 重複を避けるため、追加する前に選択した時間帯にイベントがないことを確認します。
- エラーが発生した場合は、ログを確認して権限とAPI制限をチェックしてください。