jpskill.com
🛠️ 開発・MCP コミュニティ 🔴 エンジニア向け 👤 エンジニア・AI開発者

🛠️ Google Calendar Automation

google-calendar-automation

Googleカレンダーと安全かつ簡単に連携し、予定の

⏱ MCPサーバー実装 1日 → 2時間

📺 まず動画で見る(YouTube)

▶ 【衝撃】最強のAIエージェント「Claude Code」の最新機能・使い方・プログラミングをAIで効率化する超実践術を解説! ↗

※ jpskill.com 編集部が参考用に選んだ動画です。動画の内容と Skill の挙動は厳密には一致しないことがあります。

📜 元の英語説明(参考)

Lightweight Google Calendar integration with standalone OAuth authentication. No MCP server required.

🇯🇵 日本人クリエイター向け解説

一言でいうと

Googleカレンダーと安全かつ簡単に連携し、予定の

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o google-calendar-automation.zip https://jpskill.com/download/2945.zip && unzip -o google-calendar-automation.zip && rm google-calendar-automation.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/2945.zip -OutFile "$d\google-calendar-automation.zip"; Expand-Archive "$d\google-calendar-automation.zip" -DestinationPath $d -Force; ri "$d\google-calendar-automation.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して google-calendar-automation.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → google-calendar-automation フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-17
取得日時
2026-05-17
同梱ファイル
1

💬 こう話しかけるだけ — サンプルプロンプト

  • Google Calendar Automation を使って、最小構成のサンプルコードを示して
  • Google Calendar Automation の主な使い方と注意点を教えて
  • Google Calendar Automation を既存プロジェクトに組み込む方法を教えて

これをClaude Code に貼るだけで、このSkillが自動発動します。

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

Google Calendar

スタンドアロンの OAuth 認証による軽量な Google Calendar 連携です。MCP サーバーは不要です。

⚠️ Google Workspace アカウントが必要です。 個人の Gmail アカウントはサポートされていません。

使用する場面

  • ローカルスクリプトから Google Calendar のイベントを一覧表示、作成、検査、または更新する必要がある場合。
  • MCP サーバーを立ち上げずに、OAuth を利用したカレンダーの自動化が必要なタスクの場合。
  • Workspace 環境で、カレンダー、スケジュール、参加者、またはイベントの詳細に迅速に運用アクセスする必要がある場合。

初回セットアップ

Google で認証します(ブラウザが開きます):

python scripts/auth.py login

認証ステータスを確認します:

python scripts/auth.py status

必要に応じてログアウトします:

python scripts/auth.py logout

コマンド

すべての操作は scripts/gcal.py を介して行われます。ログインしていない場合、初回使用時に自動的に認証されます。

カレンダーを一覧表示する

python scripts/gcal.py list-calendars

イベントを一覧表示する

# プライマリ カレンダーのイベントを一覧表示します(デフォルト:今後 30 日間)
python scripts/gcal.py list-events

# 特定の時間範囲のイベントを一覧表示します
python scripts/gcal.py list-events --time-min 2024-01-15T00:00:00Z --time-max 2024-01-31T23:59:59Z

# 特定のカレンダーのイベントを一覧表示します
python scripts/gcal.py list-events --calendar "work@example.com"

# 結果を制限します
python scripts/gcal.py list-events --max-results 10

イベントの詳細を取得する

python scripts/gcal.py get-event EVENT_ID
python scripts/gcal.py get-event EVENT_ID --calendar "work@example.com"

イベントを作成する

# 基本的なイベント
python scripts/gcal.py create-event "Team Meeting" "2024-01-15T10:00:00Z" "2024-01-15T11:00:00Z"

# 説明と場所を含むイベント
python scripts/gcal.py create-event "Team Meeting" "2024-01-15T10:00:00Z" "2024-01-15T11:00:00Z" \
    --description "Weekly sync" --location "Conference Room A"

# 参加者を含むイベント
python scripts/gcal.py create-event "Team Meeting" "2024-01-15T10:00:00Z" "2024-01-15T11:00:00Z" \
    --attendees user1@example.com user2@example.com

# 特定のカレンダーでのイベント
python scripts/gcal.py create-event "Meeting" "2024-01-15T10:00:00Z" "2024-01-15T11:00:00Z" \
    --calendar "work@example.com"

イベントを更新する

# イベントのタイトルを更新します
python scripts/gcal.py update-event EVENT_ID --summary "New Title"

# イベントの時間を更新します
python scripts/gcal.py update-event EVENT_ID --start "2024-01-15T14:00:00Z" --end "2024-01-15T15:00:00Z"

# 複数のフィールドを更新します
python scripts/gcal.py update-event EVENT_ID \
    --summary "Updated Meeting" --description "New agenda" --location "Room B"

# 参加者を更新します
python scripts/gcal.py update-event EVENT_ID --attendees user1@example.com user3@example.com

イベントを削除する

python scripts/gcal.py delete-event EVENT_ID
python scripts/gcal.py delete-event EVENT_ID --calendar "work@example.com"

空き時間を見つける

指定された参加者との会議の最初の利用可能なスロットを見つけます:

# 自分の 30 分間のスロットを見つけます
python scripts/gcal.py find-free-time \
    --attendees me \
    --time-min "2024-01-15T09:00:00Z" \
    --time-max "2024-01-15T17:00:00Z" \
    --duration 30

# 複数の参加者との 60 分間のスロットを見つけます
python scripts/gcal.py find-free-time \
    --attendees me user1@example.com user2@example.com \
    --time-min "2024-01-15T09:00:00Z" \
    --time-max "2024-01-19T17:00:00Z" \
    --duration 60

イベントの招待に返信する

# 招待を承諾します
python scripts/gcal.py respond-to-event EVENT_ID accepted

# 招待を辞退します
python scripts/gcal.py respond-to-event EVENT_ID declined

# 仮承諾としてマークします
python scripts/gcal.py respond-to-event EVENT_ID tentative

# 主催者に通知せずに返信します
python scripts/gcal.py respond-to-event EVENT_ID accepted --no-notify

日付/時刻の形式

すべての時刻はタイムゾーン付きの ISO 8601 形式を使用します:

  • UTC: 2024-01-15T10:30:00Z
  • オフセット付き: 2024-01-15T10:30:00-05:00 (EST)

カレンダー ID の形式

  • プライマリ カレンダー: primary を使用するか、--calendar フラグを省略します
  • その他のカレンダー: list-calendars から取得したカレンダー ID(通常はメールアドレス)を使用します

トークン管理

トークンはシステムキーリングを使用して安全に保存されます:

  • macOS: Keychain
  • Windows: Windows Credential Locker
  • Linux: Secret Service API (GNOME Keyring, KDE Wallet など)

サービス名: google-calendar-skill-oauth

トークンは、Google のクラウド機能を使用して期限切れ時に自動的に更新されます。

制限事項

  • このスキルは、タスクが上記の範囲と明確に一致する場合にのみ使用してください。
  • 出力を、環境固有の検証、テスト、または専門家によるレビューの代わりとして扱わないでください。
  • 必要な入力、権限、安全境界、または成功基準が不足している場合は、停止して説明を求めてください。
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Google Calendar

Lightweight Google Calendar integration with standalone OAuth authentication. No MCP server required.

⚠️ Requires Google Workspace account. Personal Gmail accounts are not supported.

When to Use

  • You need to list, create, inspect, or update Google Calendar events from local scripts.
  • The task requires OAuth-backed calendar automation without standing up an MCP server.
  • You need quick operational access to calendars, schedules, attendees, or event details in a Workspace environment.

First-Time Setup

Authenticate with Google (opens browser):

python scripts/auth.py login

Check authentication status:

python scripts/auth.py status

Logout when needed:

python scripts/auth.py logout

Commands

All operations via scripts/gcal.py. Auto-authenticates on first use if not logged in.

List Calendars

python scripts/gcal.py list-calendars

List Events

# List events from primary calendar (default: next 30 days)
python scripts/gcal.py list-events

# List events with specific time range
python scripts/gcal.py list-events --time-min 2024-01-15T00:00:00Z --time-max 2024-01-31T23:59:59Z

# List events from a specific calendar
python scripts/gcal.py list-events --calendar "work@example.com"

# Limit results
python scripts/gcal.py list-events --max-results 10

Get Event Details

python scripts/gcal.py get-event EVENT_ID
python scripts/gcal.py get-event EVENT_ID --calendar "work@example.com"

Create Event

# Basic event
python scripts/gcal.py create-event "Team Meeting" "2024-01-15T10:00:00Z" "2024-01-15T11:00:00Z"

# Event with description and location
python scripts/gcal.py create-event "Team Meeting" "2024-01-15T10:00:00Z" "2024-01-15T11:00:00Z" \
    --description "Weekly sync" --location "Conference Room A"

# Event with attendees
python scripts/gcal.py create-event "Team Meeting" "2024-01-15T10:00:00Z" "2024-01-15T11:00:00Z" \
    --attendees user1@example.com user2@example.com

# Event on specific calendar
python scripts/gcal.py create-event "Meeting" "2024-01-15T10:00:00Z" "2024-01-15T11:00:00Z" \
    --calendar "work@example.com"

Update Event

# Update event title
python scripts/gcal.py update-event EVENT_ID --summary "New Title"

# Update event time
python scripts/gcal.py update-event EVENT_ID --start "2024-01-15T14:00:00Z" --end "2024-01-15T15:00:00Z"

# Update multiple fields
python scripts/gcal.py update-event EVENT_ID \
    --summary "Updated Meeting" --description "New agenda" --location "Room B"

# Update attendees
python scripts/gcal.py update-event EVENT_ID --attendees user1@example.com user3@example.com

Delete Event

python scripts/gcal.py delete-event EVENT_ID
python scripts/gcal.py delete-event EVENT_ID --calendar "work@example.com"

Find Free Time

Find the first available slot for a meeting with specified attendees:

# Find 30-minute slot for yourself
python scripts/gcal.py find-free-time \
    --attendees me \
    --time-min "2024-01-15T09:00:00Z" \
    --time-max "2024-01-15T17:00:00Z" \
    --duration 30

# Find 60-minute slot with multiple attendees
python scripts/gcal.py find-free-time \
    --attendees me user1@example.com user2@example.com \
    --time-min "2024-01-15T09:00:00Z" \
    --time-max "2024-01-19T17:00:00Z" \
    --duration 60

Respond to Event Invitation

# Accept an invitation
python scripts/gcal.py respond-to-event EVENT_ID accepted

# Decline an invitation
python scripts/gcal.py respond-to-event EVENT_ID declined

# Mark as tentative
python scripts/gcal.py respond-to-event EVENT_ID tentative

# Respond without notifying organizer
python scripts/gcal.py respond-to-event EVENT_ID accepted --no-notify

Date/Time Format

All times use ISO 8601 format with timezone:

  • UTC: 2024-01-15T10:30:00Z
  • With offset: 2024-01-15T10:30:00-05:00 (EST)

Calendar ID Format

  • Primary calendar: Use primary or omit the --calendar flag
  • Other calendars: Use the calendar ID from list-calendars (usually an email address)

Token Management

Tokens stored securely using the system keyring:

  • macOS: Keychain
  • Windows: Windows Credential Locker
  • Linux: Secret Service API (GNOME Keyring, KDE Wallet, etc.)

Service name: google-calendar-skill-oauth

Tokens are automatically refreshed when expired using Google's cloud function.

Limitations

  • Use this skill only when the task clearly matches the scope described above.
  • Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
  • Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.