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

🛠️ Caldav Calendar

caldav-calendar

iCloudやGoogleカレンダーなど、さまざまなCalDAV対応

⏱ 障害ポストモーテム 1日 → 1時間

📺 まず動画で見る(YouTube)

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

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

📜 元の英語説明(参考)

Sync and query CalDAV calendars (iCloud, Google, Fastmail, Nextcloud, etc.) using vdirsyncer + khal. Works on Linux.

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

一言でいうと

iCloudやGoogleカレンダーなど、さまざまなCalDAV対応

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

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

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

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

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

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

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

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

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

📖 Skill本文(日本語訳)

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

CalDAVカレンダー (vdirsyncer + khal)

vdirsyncer はCalDAVカレンダーをローカルの .ics ファイルに同期します。khal はそれらを読み書きします。

まず同期する

クエリを実行する前、または変更を加えた後は常に同期してください。

vdirsyncer sync

イベントを表示する

khal list                        # 今日
khal list today 7d               # 今後7日間
khal list tomorrow               # 明日
khal list 2026-01-15 2026-01-20  # 日付範囲
khal list -a Work today          # 特定のカレンダー

検索する

khal search "meeting"
khal search "dentist" --format "{start-date} {title}"

イベントを作成する

khal new 2026-01-15 10:00 11:00 "Meeting title"
khal new 2026-01-15 "All day event"
khal new tomorrow 14:00 15:30 "Call" -a Work
khal new 2026-01-15 10:00 11:00 "With notes" :: Description goes here

作成後、変更をプッシュするために同期してください。

vdirsyncer sync

イベントを編集する (インタラクティブ)

khal edit はインタラクティブであり、TTYが必要です。自動化する場合はtmuxを使用してください。

khal edit "search term"
khal edit -a CalendarName "search term"
khal edit --show-past "old event"

メニューオプション:

  • s → 概要を編集
  • d → 説明を編集
  • t → 日時範囲を編集
  • l → 場所を編集
  • D → イベントを削除
  • n → スキップ (変更を保存し、次のマッチへ)
  • q → 終了

編集後、同期してください。

vdirsyncer sync

イベントを削除する

khal edit を使用し、D を押して削除してください。

出力形式

スクリプト用:

khal list --format "{start-date} {start-time}-{end-time} {title}" today 7d
khal list --format "{uid} | {title} | {calendar}" today

プレースホルダー: {title}, {description}, {start}, {end}, {start-date}, {start-time}, {end-date}, {end-time}, {location}, {calendar}, {uid}

キャッシュ

khalはイベントを ~/.local/share/khal/khal.db にキャッシュします。同期後にデータが古く見える場合は、以下を実行してください。

rm ~/.local/share/khal/khal.db

初期設定

1. vdirsyncerを設定する (~/.config/vdirsyncer/config)

iCloudの例:

[general]
status_path = "~/.local/share/vdirsyncer/status/"

[pair icloud_calendar]
a = "icloud_remote"
b = "icloud_local"
collections = ["from a", "from b"]
conflict_resolution = "a wins"

[storage icloud_remote]
type = "caldav"
url = "https://caldav.icloud.com/"
username = "your@icloud.com"
password.fetch = ["command", "cat", "~/.config/vdirsyncer/icloud_password"]

[storage icloud_local]
type = "filesystem"
path = "~/.local/share/vdirsyncer/calendars/"
fileext = ".ics"

プロバイダーのURL:

  • iCloud: https://caldav.icloud.com/
  • Google: google_calendar ストレージタイプを使用
  • Fastmail: https://caldav.fastmail.com/dav/calendars/user/EMAIL/
  • Nextcloud: https://YOUR.CLOUD/remote.php/dav/calendars/USERNAME/

2. khalを設定する (~/.config/khal/config)

[calendars]
[[my_calendars]]
path = ~/.local/share/vdirsyncer/calendars/*
type = discover

[default]
default_calendar = Home
highlight_event_days = True

[locale]
timeformat = %H:%M
dateformat = %Y-%m-%d

3. ディスカバーして同期する

vdirsyncer discover   # 初回のみ
vdirsyncer sync
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

CalDAV Calendar (vdirsyncer + khal)

vdirsyncer syncs CalDAV calendars to local .ics files. khal reads and writes them.

Sync First

Always sync before querying or after making changes:

vdirsyncer sync

View Events

khal list                        # Today
khal list today 7d               # Next 7 days
khal list tomorrow               # Tomorrow
khal list 2026-01-15 2026-01-20  # Date range
khal list -a Work today          # Specific calendar

Search

khal search "meeting"
khal search "dentist" --format "{start-date} {title}"

Create Events

khal new 2026-01-15 10:00 11:00 "Meeting title"
khal new 2026-01-15 "All day event"
khal new tomorrow 14:00 15:30 "Call" -a Work
khal new 2026-01-15 10:00 11:00 "With notes" :: Description goes here

After creating, sync to push changes:

vdirsyncer sync

Edit Events (interactive)

khal edit is interactive — requires a TTY. Use tmux if automating:

khal edit "search term"
khal edit -a CalendarName "search term"
khal edit --show-past "old event"

Menu options:

  • s → edit summary
  • d → edit description
  • t → edit datetime range
  • l → edit location
  • D → delete event
  • n → skip (save changes, next match)
  • q → quit

After editing, sync:

vdirsyncer sync

Delete Events

Use khal edit, then press D to delete.

Output Formats

For scripting:

khal list --format "{start-date} {start-time}-{end-time} {title}" today 7d
khal list --format "{uid} | {title} | {calendar}" today

Placeholders: {title}, {description}, {start}, {end}, {start-date}, {start-time}, {end-date}, {end-time}, {location}, {calendar}, {uid}

Caching

khal caches events in ~/.local/share/khal/khal.db. If data looks stale after syncing:

rm ~/.local/share/khal/khal.db

Initial Setup

1. Configure vdirsyncer (~/.config/vdirsyncer/config)

Example for iCloud:

[general]
status_path = "~/.local/share/vdirsyncer/status/"

[pair icloud_calendar]
a = "icloud_remote"
b = "icloud_local"
collections = ["from a", "from b"]
conflict_resolution = "a wins"

[storage icloud_remote]
type = "caldav"
url = "https://caldav.icloud.com/"
username = "your@icloud.com"
password.fetch = ["command", "cat", "~/.config/vdirsyncer/icloud_password"]

[storage icloud_local]
type = "filesystem"
path = "~/.local/share/vdirsyncer/calendars/"
fileext = ".ics"

Provider URLs:

  • iCloud: https://caldav.icloud.com/
  • Google: Use google_calendar storage type
  • Fastmail: https://caldav.fastmail.com/dav/calendars/user/EMAIL/
  • Nextcloud: https://YOUR.CLOUD/remote.php/dav/calendars/USERNAME/

2. Configure khal (~/.config/khal/config)

[calendars]
[[my_calendars]]
path = ~/.local/share/vdirsyncer/calendars/*
type = discover

[default]
default_calendar = Home
highlight_event_days = True

[locale]
timeformat = %H:%M
dateformat = %Y-%m-%d

3. Discover and sync

vdirsyncer discover   # First time only
vdirsyncer sync