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

🛠️ Gcalcli Calendar

gcalcli-calendar

gcalcliというツールを使ってGoogleカレンダー

⏱ RAG構築 1週間 → 1日

📺 まず動画で見る(YouTube)

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

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

📜 元の英語説明(参考)

Google Calendar via gcalcli: today-only agenda by default, bounded meaning-first lookup via agenda scans, and fast create/delete with verification--optimized for low tool calls and minimal output.

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

一言でいうと

gcalcliというツールを使ってGoogleカレンダー

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

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

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

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

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

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して gcalcli-calendar.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → gcalcli-calendar フォルダができる
  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-18
同梱ファイル
2

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

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

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

📖 Skill本文(日本語訳)

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

[スキル名] gcalcli-calendar

gcalcli-calendar

gcalcli を使用して、最小限のツール呼び出しと最小限の出力で Google カレンダーを読み取り、検索、管理します。

ルール

CLI フラグの配置 (重要)

  • グローバルフラグ (--nocolor--calendar) はサブコマンドの前に配置します。
  • サブコマンド固有のフラグはサブコマンド名の後に配置します。
  • 例: gcalcli --nocolor delete --iamaexpert "query" start endgcalcli --nocolor --iamaexpert delete ... ではありません。
  • これはすべてのサブコマンドフラグに適用されます: --iamaexpert (delete)、--noprompt/--allday (add)、--use-legacy-import (import) など。

出力と言語

  • ユーザーが明示的に要求しない限り (例: 「使用されたコマンドを表示」、「/debug」、「/commands」)、CLI コマンド/フラグ/ツールの詳細は出力しません。
  • コマンドを要求された場合: 実行されたすべてのコマンドを順序通りに (再試行を含む) 出力し、それ以外は何も出力しません。
  • 1 つの返信内で言語を混在させないでください。
  • 簡潔にしてください。何も見つからない場合を除き、スコープは表示しません。

日付と書式設定

  • デフォルトでは人間が読みやすい日付を使用します。ISO 形式は明示的に要求された場合にのみ使用します。
  • 曖昧さを解消する必要がある場合を除き、イベントタイトルを引用符で囲まないでください。

カレンダースコープ

  • gcalcli の設定 (デフォルト/無視するカレンダー) を信頼します。ユーザーが「すべてのカレンダーで」と要求するか、結果が明らかに間違っている場合を除き、スコープを広げないでください。

予定 (デフォルトでは今日のみ)

  • ユーザーが期間を指定せずに「予定」と尋ねた場合、今日のみを返します。
  • 明示的に要求された場合 (明日 / 次の N 日間 / 日付範囲) にのみ展開します。

曜日のリクエスト (暗算なし)

ユーザーが日付なしで「月曜日/火曜日/...に」と言った場合:

  1. 次の 14 日間の予定を一度取得し、
  2. ツール出力から一致する曜日/イベントを選択し、
  3. 続行します (または複数ある場合は曖昧さを解消します)。

イベントの検索: 決定論的な予定スキャンを優先 (意味優先)

イベントをキャンセル/削除/編集する際:

  • search よりも agenda を優先します。
  • 境界のあるウィンドウを使用し、正確なテキストではなく意味 (セマンティックマッチ) でイベントを照合します。
  • デフォルトの検索ウィンドウ:
    • ユーザーが正確な日付を指定した場合: その日のみをスキャンします。
    • ユーザーが曜日を指定した場合: 次の 14 日間をスキャンします。
    • ユーザーが日付なしで意味のある単語 (「電車」、「講義」など) のみを指定した場合: まず次の 30 日間をスキャンします。
    • それでも見つからない場合: 180 日間に展開し、それでも空の場合にのみその旨を伝えます。

gcalcli の search は、次の場合にのみフォールバックとして使用します:

  • タイムウィンドウが agenda でスキャンするには大きすぎる場合 (トークンが重い)、または
  • ユーザーが明示的に「検索」を要求した場合。

検索 (境界あり)

  • デフォルトの検索ウィンドウ: 次の約 180 日間 (ユーザーが別途指定しない限り)。
  • 一致がない場合: 「次の約 6 か月間 (<from>-><to>) に一致するものはありません」と伝え、展開を提案します。
  • 何も見つからない場合にのみスコープを表示します。

ツールの効率性

  • デフォルト: --nocolor を使用して、書式設定のノイズとトークンを削減します。
  • --tsv は、解析/重複排除/ソートが必要な場合にのみ使用します。

アクションポリシー (会話速度に最適化)

このスキルは、ユーザーが高速で摩擦の少ないカレンダー管理を期待するパーソナルアシスタントでの使用を想定して設計されています。以下の確認ポリシーは意図的な UX の選択です。理由と安全対策については README.md を参照してください。

曖昧でないアクション: すぐに実行

キャンセル/削除/編集アクションの場合、これらすべてが当てはまる場合は確認をスキップします:

  • ユーザーが明示的にアクションを要求した (例: 「歯医者の予約を削除して」)。
  • 厳密な時間枠内で正確に 1 つのイベントが一致する。
  • 一致が曖昧でない (正確な日付での単一の明確な結果、またはユーザーが日付+時刻を指定した)。

曖昧なアクション: 常に最初に尋ねる

複数の候補が一致する場合、または一致が不確実な場合:

  • 候補をリストアップした短い曖昧さ解消の質問 (1~3 行) を尋ね、ユーザーの選択を待ちます。

イベントの作成: 重複チェックは必ずカレンダー横断的であること (無視されないスコープ)

イベントを作成する際:

  • --calendar なしで agenda をスキャンすることにより、無視されないすべてのカレンダーで常に最善の重複チェックを実行します。
    • これにより、新しいイベントが特定のカレンダーに作成された場合でも重複が検出されます。
  • 忙しいイベントと重複がある場合:
    • 作成前に確認を求めます。
  • 重複がない場合:
    • すぐに作成します。

適切な作成方法を選択する

  • add — 1 回限りのイベントのデフォルトです。--allday--reminder--noprompt をサポートします。繰り返しや空き時間情報 (透明性) はサポートしていません。
  • import (stdin 経由) — 繰り返し (RRULE) または空き時間情報 (TRANSP:TRANSPARENT) が必要な場合にのみ使用します。ICS コンテンツを stdin 経由でパイプします。一時的な .ics ファイルは絶対に書き込みません (実行サンドボックスでは作業ディレクトリは信頼できません)。
  • quick — ユーザーが明示的に自然言語での追加を要求しない限り避けてください。決定論的ではありません。

削除は検証する必要がある

  • --iamaexpert を使用して非対話型削除を実行します (これは delete サブコマンドのフラグであり、delete の後に配置されます)。これは gcalcli の非対話型/スクリプトによる削除のための組み込みフラグです。
  • 削除後、同じ厳密なウィンドウで agenda を介して常に検証します。
  • 検証でイベントがまだ表示される場合、--refresh を使用して一度再試行します。
  • 検証でイベントが削除されたことが確認されない限り、成功を主張しないでください。

規範的なコマンド

予定 (決定論的なリスト)

  • 今日: gcalcli --nocolor agenda today tomorrow
  • 次の 14 日間 (曜日解決): gcalcli --nocolor agenda today +14d
  • 次の 30 日間 (意味優先の検索): gcalcli --nocolor agenda today +30d
  • カスタム: gcalcli --nocolor agenda <start> <end>

検索 (フォールバック / 明示的な要求)

  • デフォルト (約 6 か月): gcalcli --nocolor search "<query>" today +180d
  • カスタム: gcalcli --nocolor search "<query>" <start> <end>

作成 — add (1 回限りのイベント)

  • 重複事前チェック (厳密、カレンダー横断的):
    • gcalcli --nocolor agenda <start> <end>
    • 重要: ここで --calendar を追加しないでください。重複は無視されないすべてのカレンダーでチェックする必要があります。
  • 時間指定イベント:
    • gcalcli --nocolor --calendar "<Cal>" add --noprompt --title "<Title>" --when "<Start>" --duration <minutes>
  • 終日イベント:
    • gcalcli --nocolor --calendar "<Cal>" add --noprompt --allday --title "<Title>" --when "<Date>"
  • リマインダー付き (繰り返し可能なフラグ):
    • --reminder "20160 popup" → 14 日前 (20160 = 14×24×60)
    • --reminder "10080 popup" → 7 日前
    • --reminder "0 popup" → イベント開始時
    • 時間単位の接尾辞: w (週)

(原文がここで切り詰められています)

📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

gcalcli-calendar

Use gcalcli to read/search/manage Google Calendar with minimal tool calls and minimal output.

Rules

CLI flag placement (critical)

  • Global flags (--nocolor, --calendar) go BEFORE the subcommand.
  • Subcommand-specific flags go AFTER the subcommand name.
  • Example: gcalcli --nocolor delete --iamaexpert "query" start end — NOT gcalcli --nocolor --iamaexpert delete ....
  • This applies to ALL subcommand flags: --iamaexpert (delete), --noprompt/--allday (add), --use-legacy-import (import), etc.

Output & language

  • Don't print CLI commands/flags/tool details unless the user explicitly asks (e.g. "show commands used", "/debug", "/commands").
  • If asked for commands: print ALL executed commands in order (including retries) and nothing else.
  • Don't mix languages within one reply.
  • Be concise. No scope unless nothing found.

Dates & formatting

  • Human-friendly dates by default. ISO only if explicitly requested.
  • Don't quote event titles unless needed to disambiguate.

Calendar scope

  • Trust gcalcli config (default/ignore calendars). Don't broaden scope unless user asks "across all calendars" or results are clearly wrong.

Agenda (today-only by default)

  • If user asks "agenda" without a period, return today only.
  • Expand only if explicitly asked (tomorrow / next N days / date range).

Weekday requests (no mental math)

If user says "on Monday/Tuesday/..." without a date:

  1. fetch next 14 days agenda once,
  2. pick matching day/event from tool output,
  3. proceed (or disambiguate if multiple).

Finding events: prefer deterministic agenda scan (meaning-first)

When locating events to cancel/delete/edit:

  • Prefer agenda over search.
  • Use a bounded window and match events by meaning (semantic match) rather than exact text.
  • Default locate windows:
    • If user gives an exact date: scan that day only.
    • If user gives a weekday: scan next 14 days.
    • If user gives only meaning words ("train", "lecture", etc.) with no date: scan next 30 days first.
    • If still not found: expand to 180 days and say so only if still empty.

Use gcalcli search only as a fallback when:

  • the time window would be too large to scan via agenda (token-heavy), or
  • the user explicitly asked to "search".

Search (bounded)

  • Default search window: next ~180 days (unless user specified otherwise).
  • If no matches: say "No matches in next ~6 months (<from>-><to>)" and offer to expand.
  • Show scope only when nothing is found.

Tool efficiency

  • Default: use --nocolor to reduce formatting noise and tokens.
  • Use --tsv only if you must parse/dedupe/sort.

Actions policy (optimized for conversational speed)

This skill is designed for personal assistant use where the user expects fast, low-friction calendar management. The confirmation policy below is an intentional UX choice — see README.md for rationale and safety guards.

Unambiguous actions: execute immediately

For cancel/delete/edit actions, skip confirmation when ALL of these hold:

  • The user explicitly requested the action (e.g. "delete my dentist appointment").
  • Exactly one event matches in a tight time window.
  • The match is unambiguous (single clear result on an exact date, or user specified date+time).

Ambiguous actions: always ask first

If multiple candidates match, or the match is uncertain:

  • Ask a short disambiguation question listing the candidates (1-3 lines) and wait for the user's choice.

Create events: overlap check MUST be cross-calendar (non-ignored scope)

When creating an event:

  • Always run a best-effort overlap check across ALL non-ignored calendars by scanning agenda WITHOUT --calendar.
    • This ensures overlaps are detected even if the new event is created into a specific calendar.
  • If overlap exists with busy events:
    • Ask for confirmation before creating.
  • If no overlap:
    • Create immediately.

Choose the right create method

  • add — default for one-off events. Supports --allday, --reminder, --noprompt. Does NOT support recurrence or free/busy (transparency).
  • import via stdin — use ONLY when you need recurrence (RRULE) or free/busy (TRANSP:TRANSPARENT). Pipe ICS content via stdin; NEVER write temp .ics files (working directory is unreliable in exec sandbox).
  • quick — avoid unless user explicitly asks for natural-language add. Less deterministic.

Deletes must be verified

  • Use non-interactive delete with --iamaexpert (a delete subcommand flag — goes AFTER delete). This is gcalcli's built-in flag for non-interactive/scripted deletion.
  • Always verify via agenda in the same tight window after deletion.
  • If verification still shows the event, do one retry with --refresh.
  • Never claim success unless verification confirms the event is gone.

Canonical commands

Agenda (deterministic listing)

  • Today: gcalcli --nocolor agenda today tomorrow
  • Next 14d (weekday resolution): gcalcli --nocolor agenda today +14d
  • Next 30d (meaning-first locate): gcalcli --nocolor agenda today +30d
  • Custom: gcalcli --nocolor agenda <start> <end>

Search (fallback / explicit request)

  • Default (~6 months): gcalcli --nocolor search "<query>" today +180d
  • Custom: gcalcli --nocolor search "<query>" <start> <end>

Create — add (one-off events)

  • Overlap preflight (tight, cross-calendar):
    • gcalcli --nocolor agenda <start> <end>
    • IMPORTANT: do NOT add --calendar here; overlaps must be checked across all non-ignored calendars.
  • Timed event:
    • gcalcli --nocolor --calendar "<Cal>" add --noprompt --title "<Title>" --when "<Start>" --duration <minutes>
  • All-day event:
    • gcalcli --nocolor --calendar "<Cal>" add --noprompt --allday --title "<Title>" --when "<Date>"
  • With reminders (repeatable flag):
    • --reminder "20160 popup" → 14 days before (20160 = 14×24×60)
    • --reminder "10080 popup" → 7 days before
    • --reminder "0 popup" → at event start
    • Time unit suffixes: w (weeks), d (days), h (hours), m (minutes). No suffix = minutes.
    • Method: popup (default), email, sms.

Create — import via stdin (recurrence / free/busy)

Use ONLY when add can't cover the need (recurring events, TRANSP, etc.). Pipe ICS directly via stdin — never write temp files.

echo 'BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
DTSTART;VALUE=DATE:20260308
SUMMARY:Event Title
RRULE:FREQ=YEARLY
TRANSP:TRANSPARENT
END:VEVENT
END:VCALENDAR' | gcalcli import --calendar "<Cal>"
  • DTSTART;VALUE=DATE:YYYYMMDD for all-day; DTSTART:YYYYMMDDTHHmmSS for timed.
  • RRULE:FREQ=YEARLY — yearly recurrence. Also: DAILY, WEEKLY, MONTHLY.
  • TRANSP:TRANSPARENT — free; TRANSP:OPAQUE — busy (default).
  • One import call = one event (one VEVENT block). For multiple events, run separate piped imports.
  • Add --reminder "TIME" flag(s) to set reminders (overrides any VALARM in ICS).
  • All import-specific flags (--use-legacy-import, --verbose, etc.) go AFTER import.

Delete (with post-delete verification)

  • Locate via agenda (preferred):
    • gcalcli --nocolor agenda <dayStart> <dayEnd> (exact date)
    • gcalcli --nocolor agenda today +14d (weekday)
    • gcalcli --nocolor agenda today +30d (meaning only)
  • Delete (non-interactive, bounded):
    • gcalcli --nocolor delete --iamaexpert "<query>" <start> <end>
  • Verify (same window):
    • gcalcli --nocolor agenda <dayStart> <dayEnd>
  • Optional one retry if still present:
    • gcalcli --nocolor --refresh agenda <dayStart> <dayEnd>

Edit / Modify existing events

  • gcalcli edit is interactive — cannot be used in non-interactive exec.
  • To change properties not editable in-place: delete + recreate the event.
    • Locate → delete (with --iamaexpert) → create with updated properties → verify.
  • For bulk property changes (e.g. setting all events to free): iterate delete+recreate per event.

同梱ファイル

※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。