Agent Skills by ALSEL
OpenAI個人生産性⭐ リポ 2品質スコア 69/100

google-calendar-automation

Rube MCP(Composio)を使用して、Google Calendarのイベント作成、スケジュール管理、空き時間確認、参加者管理を自動化できます。イベントの作成、空き枠の検索、参加者の管理、カレンダーの一覧表示などをプログラムで実行でき、カレンダー運用の効率化が可能です。

description の原文を見る

Automate Google Calendar events, scheduling, availability checks, and attendee management via Rube MCP (Composio). Create events, find free slots, manage attendees, and list calendars programmatica...

SKILL.md 本文

Rube MCP経由のGoogle Calendar自動化

Composioの Google Calendarツールキットを通じて、イベント作成、スケジューリング、可用性チェック、出席者管理、カレンダー閲覧など、Google Calendarワークフローを自動化します。

前提条件

  • Rube MCPが接続されていること(RUBE_SEARCH_TOOLSが利用可能であること)
  • RUBE_MANAGE_CONNECTIONS経由のアクティブなGoogle Calendar接続(ツールキット: googlecalendar
  • 常にRUBE_SEARCH_TOOLSを最初に呼び出して、現在のツールスキーマを取得すること

セットアップ

Rube MCPを取得: クライアント設定にMCPサーバーとして https://rube.app/mcp を追加してください。APIキーは不要です。エンドポイントを追加するだけで動作します。

  1. RUBE_SEARCH_TOOLSが応答することで、Rube MCPが利用可能であることを確認します
  2. RUBE_MANAGE_CONNECTIONSをツールキット googlecalendar で呼び出します
  3. 接続がACTIVEでない場合は、返されたauthリンクをたどってGoogle OAuthを完了します
  4. ワークフローを実行する前に、接続ステータスがACTIVEであることを確認します

コアワークフロー

1. イベントの作成と管理

使用時機: ユーザーがカレンダーイベントを作成、更新、または削除したい場合

ツール実行順序:

  1. GOOGLECALENDAR_LIST_CALENDARS - 対象カレンダーIDを特定 [前提条件]
  2. GOOGLECALENDAR_GET_CURRENT_DATE_TIME - 適切なタイムゾーン付きで現在時刻を取得 [オプション]
  3. GOOGLECALENDAR_FIND_FREE_SLOTS - 予約前に可用性を確認 [オプション]
  4. GOOGLECALENDAR_CREATE_EVENT - イベントを作成 [必須]
  5. GOOGLECALENDAR_PATCH_EVENT - 既存イベントの特定フィールドを更新 [代替]
  6. GOOGLECALENDAR_UPDATE_EVENT - イベントの完全置換更新 [代替]
  7. GOOGLECALENDAR_DELETE_EVENT - イベントを削除 [オプション]

主要パラメータ:

  • calendar_id: メインカレンダーは'primary'、または特定のカレンダーID
  • start_datetime: ISO 8601形式 'YYYY-MM-DDTHH:MM:SS'(自然言語ではない)
  • timezone: IANAタイムゾーン名(例: 'America/New_York'、'EST'や'PST'ではない)
  • event_duration_hour: 時間数(0以上)
  • event_duration_minutes: 分数(0~59のみ。60以上は使用しないこと)
  • summary: イベントタイトル
  • attendees: メールアドレスの配列(名前ではない)
  • location: イベント場所の自由形式テキスト

注意点:

  • start_datetimeはISO 8601である必要があります。'tomorrow'などの自然言語は拒否されます
  • event_duration_minutesの最大値は59です。60分の場合はevent_duration_hour=1を使用してください
  • timezoneはIANA識別子である必要があります。'EST'、'PST'などの省略形は有効ではありません
  • attendeesはメールアドレスのみを受け入れます。名前は受け入れません。先に名前を解決してください
  • Google Meetリンク作成はデフォルトで有効です。個人Gmailアカウントで失敗する可能性があります(グレースフルフォールバック)
  • オーガナイザーはexclude_organizer=trueを指定しない限り、自動的に出席者として追加されます

2. イベントの一覧表示と検索

使用時機: ユーザーがカレンダー上のイベントを検索またはブラウズしたい場合

ツール実行順序:

  1. GOOGLECALENDAR_LIST_CALENDARS - 利用可能なカレンダーを取得 [前提条件]
  2. GOOGLECALENDAR_FIND_EVENT - タイトル/キーワードで検索、時間範囲指定 [必須]
  3. GOOGLECALENDAR_EVENTS_LIST - 時間範囲内のイベント一覧表示 [代替]
  4. GOOGLECALENDAR_EVENTS_INSTANCES - 定期イベントのインスタンスを一覧表示 [オプション]

主要パラメータ:

  • query / q: フリーテキスト検索(概要、説明、場所、出席者にマッチ)
  • timeMin: 下限(RFC3339形式、タイムゾーンオフセット付き、例: '2024-01-01T00:00:00-08:00')
  • timeMax: 上限(RFC3339形式、タイムゾーンオフセット付き)
  • singleEvents: true で定期イベントをインスタンスに展開
  • orderBy: 'startTime'(singleEvents=true が必須)または'updated'
  • maxResults: 1ページあたりの結果数(最大2500)

注意点:

  • タイムゾーン警告: UTC タイムスタンプ('Z'で終わる)はローカル日付と一致しません。代わりにローカルタイムゾーンオフセットを使用してください
  • 例: '2026-01-19T00:00:00Z' は PST で 2026-01-18 16:00 から 2026-01-19 16:00 までをカバーします
  • timeMin/timeMax を省略するとカレンダー全体をスキャンして遅くなる可能性があります
  • レスポンスに pageToken があれば結果がまだあります。pageTokenが不在になるまでペジネーションを続けてください
  • orderBy='startTime'にはsingleEvents=trueが必須です

3. 出席者と招待の管理

使用時機: ユーザーがイベント出席者を追加、削除、または更新したい場合

ツール実行順序:

  1. GOOGLECALENDAR_FIND_EVENT または GOOGLECALENDAR_EVENTS_LIST - イベントを検索 [前提条件]
  2. GOOGLECALENDAR_PATCH_EVENT - 出席者を追加(出席者リスト全体を置換) [必須]
  3. GOOGLECALENDAR_REMOVE_ATTENDEE - メールアドレスで特定の出席者を削除 [必須]

主要パラメータ:

  • event_id: ユニークなイベント識別子(不透明な文字列、イベントタイトルではない)
  • attendees: 出席者メールアドレスの完全なリスト(PATCH は全リストを置換)
  • attendee_email: 削除するメール
  • send_updates: 'all'、'externalOnly'、または'none'

注意点:

  • event_id は技術識別子であり、イベントタイトルではありません。常に最初に検索して ID を取得してください
  • PATCH_EVENT の attendees フィールドはリスト全体を置換します。既存の出席者を削除しないように含めてください
  • 出席者の名前は解決できません。常にメールアドレスを使用してください
  • 出席者を管理する前に、GMAIL_SEARCH_PEOPLEを使用して名前をメールアドレスに解決してください

4. 可用性とフリー/ビジーステータスの確認

使用時機: ユーザーが利用可能な時間帯を検索したり、ビジー期間を確認したい場合

ツール実行順序:

  1. GOOGLECALENDAR_LIST_CALENDARS - チェック対象のカレンダーを特定 [前提条件]
  2. GOOGLECALENDAR_GET_CURRENT_DATE_TIME - タイムゾーン付きで現在時刻を取得 [オプション]
  3. GOOGLECALENDAR_FIND_FREE_SLOTS - カレンダー全体の空き時間帯を検索 [必須]
  4. GOOGLECALENDAR_FREE_BUSY_QUERY - ギャップ計算用のビジー期間の生データを取得 [フォールバック]
  5. GOOGLECALENDAR_CREATE_EVENT - 確認済みスロットを予約 [必須]

主要パラメータ:

  • items: チェック対象のカレンダーIDのリスト(例: ['primary'])
  • time_min/time_max: クエリ間隔(省略時はカレント日付がデフォルト)
  • timezone: ナイーブなタイムスタンプを解釈するための IANAタイムゾーン
  • calendarExpansionMax: 最大カレンダー数(1~50)
  • groupExpansionMax: グループあたりの最大メンバー数(1~100)

注意点:

  • Google Calendar freeBusy API制限により、最大期間は約90日です
  • 非常に長い範囲またはアクセス不可能なカレンダーは、空のまたは無効な結果を返します
  • freeBusyReader アクセス以上の権限があるカレンダーのみが表示されます
  • 空き時間スロットレスポンスは UTC('Z')に正規化される可能性があります。オフセットを確認してください
  • GOOGLECALENDAR_FREE_BUSY_QUERYは RFC3339 タイムスタンプ(タイムゾーン付き)が必須です

共通パターン

ID解決

  • カレンダー名 → calendar_id: GOOGLECALENDAR_LIST_CALENDARS ですべてのカレンダーを列挙
  • イベントタイトル → event_id: GOOGLECALENDAR_FIND_EVENT または GOOGLECALENDAR_EVENTS_LIST
  • 出席者名 → メール: GMAIL_SEARCH_PEOPLE

タイムゾーン処理

  • 常に IANA タイムゾーン識別子を使用してください(例: 'America/Los_Angeles')
  • ユーザーのタイムゾーンで現在時刻を取得する際は GOOGLECALENDAR_GET_CURRENT_DATE_TIME を使用してください
  • ローカル日付のイベントをクエリする場合は、UTC ではなくローカルオフセット付きのタイムスタンプを使用してください
  • 例: PST の場合は '2026-01-19T00:00:00-08:00'、'2026-01-19T00:00:00Z' ではない

ページネーション

  • GOOGLECALENDAR_EVENTS_LISTnextPageToken を返します。不在になるまで反復してください
  • GOOGLECALENDAR_LIST_CALENDARS もページネーションします。page_token を使用してください

既知の注意点

  • 自然言語の日付: サポートされていません。すべての日付は ISO 8601 または RFC3339 である必要があります
  • タイムゾーン不一致: UTC タイムスタンプはフィルタリング用のローカル日付と一致しません
  • 期間制限: event_duration_minutes の最大値は 59 です。より長い期間は時間を使用してください
  • IANAタイムゾーンのみ: 'EST'、'PST'などは有効ではありません。'America/New_York' を使用してください
  • イベントIDは不透明: 常に検索して event_id を取得してください。推測または作成しないでください
  • メールとしての出席者: 名前は使用できません。GMAIL_SEARCH_PEOPLE で解決してください
  • PATCH が出席者を置換: 新規のみではなく、すべての目的の出席者を配列に含めてください
  • 会議の制限: Google Meet は個人アカウントで失敗する可能性があります(グレースフルフォールバック)
  • レート制限: 大量の検索は 403/429 をトリガーします。呼び出し間でスロットルしてください

クイックリファレンス

タスクツールスラッグ主要パラメータ
カレンダーを一覧表示GOOGLECALENDAR_LIST_CALENDARSmax_results
イベントを作成GOOGLECALENDAR_CREATE_EVENTstart_datetime, timezone, summary
イベントを更新GOOGLECALENDAR_PATCH_EVENTcalendar_id, event_id, 更新フィールド
イベントを削除GOOGLECALENDAR_DELETE_EVENTcalendar_id, event_id
イベントを検索GOOGLECALENDAR_FIND_EVENTquery, timeMin, timeMax
イベントを一覧表示GOOGLECALENDAR_EVENTS_LISTcalendarId, timeMin, timeMax
定期イベントのインスタンスGOOGLECALENDAR_EVENTS_INSTANCEScalendarId, eventId
空き時間を検索GOOGLECALENDAR_FIND_FREE_SLOTSitems, time_min, time_max, timezone
フリー/ビジークエリGOOGLECALENDAR_FREE_BUSY_QUERYtimeMin, timeMax, items
出席者を削除GOOGLECALENDAR_REMOVE_ATTENDEEevent_id, attendee_email
現在時刻を取得GOOGLECALENDAR_GET_CURRENT_DATE_TIMEtimezone
カレンダーを取得GOOGLECALENDAR_GET_CALENDARcalendar_id

使用時機

このスキルは、概要で説明されているワークフローまたはアクションを実行する場合に適用可能です。

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
c4kar
リポジトリ
c4kar/ktunDepo
ライセンス
MIT
最終更新
2026/3/28

Source: https://github.com/c4kar/ktunDepo / ライセンス: MIT

本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: c4kar · c4kar/ktunDepo · ライセンス: MIT