xscalendar

star 130

カレンダー予定を確認するスキル。ICS(Googleカレンダー等)と手動追加(画像読み取り)を統合。「今日の予定」「明日の予定」「カレンダー画像送って」「スケジュール確認」で使用。`/calendar` で発動。

karaage0703 By karaage0703 schedule Updated 3/1/2026

name: xs:calendar description: カレンダー予定を確認するスキル。ICS(Googleカレンダー等)と手動追加(画像読み取り)を統合。「今日の予定」「明日の予定」「カレンダー画像送って」「スケジュール確認」で使用。/calendar で発動。

calendar スキル

ICSカレンダー(Googleカレンダー等)+ 手動追加の予定(画像読み取り等)を統合して予定を確認する。

セットアップ

[SKILL_DIR]/calendar_urls.json にICS URLを登録する:

{
  "calendars": [
    {
      "name": "main",
      "url": "https://calendar.google.com/calendar/ical/xxxxx/basic.ics"
    },
    {
      "name": "family",
      "label": "家族",
      "url": "https://calendar.google.com/calendar/ical/yyyyy/basic.ics"
    }
  ]
}
  • name: カレンダー識別名(必須)
  • url: ICSのURL(必須)。Googleカレンダーの場合「設定 → カレンダーの統合 → iCal形式の非公開URL」
  • label: 表示ラベル(任意)。設定すると予定に [家族] のようなタグが付く。共有カレンダーなど、自分の予定とは限らないものに付けると便利

コマンド

cd [SKILL_DIR] && uv run python calendar_check.py [引数]
  • today / 引数なし → 今日
  • tomorrow → 明日
  • week → 今後7日間
  • 0 7 → 今日から7日間(範囲指定)
  • -7 0 → 過去7日間

画像からの予定追加

カレンダーのスクリーンショットが送られたら:

Step 1: 画像を読み取る

添付画像を Read ツールで確認する。

Step 2: 予定を抽出

画像から以下の情報を読み取る:

  • 日付、開始時刻、終了時刻、予定名
  • 終日予定かどうか

Step 3: manual_events.json に保存

[SKILL_DIR]/manual_events.json に保存。既存の予定とマージする(同じ日付の予定は上書き)。

{
  "events": [
    {
      "date": "2026-03-01",
      "time_start": "09:00",
      "time_end": "10:00",
      "summary": "ミーティング",
      "all_day": false
    },
    {
      "date": "2026-03-01",
      "summary": "有給休暇",
      "all_day": true
    }
  ],
  "updated_at": "2026-03-01T12:00:00+09:00"
}

保存ルール

  • 同じ日付の予定は上書き(最新の画像が正)
  • updated_at を更新時刻に設定
  • 過去の予定は放置OK(表示時にフィルタされる)

Step 4: 再確認

保存後、calendar_check.py を再実行して反映を確認。

チェックリスト(実行時に必ず確認)

  • calendar_urls.json が存在するか(初回はセットアップを案内)
  • 画像から予定を追加した場合、保存後に再実行して確認したか
  • 🚨 共有カレンダーの予定を「あなたの予定」と断定しない(labelで区別する)
Install via CLI
npx skills add https://github.com/karaage0703/ai-assistant-workspace --skill xscalendar
Repository Details
star Stars 130
call_split Forks 13
navigation Branch main
article Path SKILL.md
More from Creator