Xs calendar
npx -y skills add karaage0703/ai-assistant-workspace --skill xs-calendarAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
カレンダー予定を確認するスキル。ICS(Googleカレンダー等)と手動追加(画像読み取り)を統合。「今日の予定」「明日の予定」「カレンダー画像送って」「スケジュール確認」で使用。`/calendar` で発動。
SKILL.md
2.9 KB, as published. Nobody here has run it
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で区別する)