h8kxrfp68z-lgtm

iCalendar Sync

運維安全v2.4.1
作者:h8kxrfp68z-lgtm更新於 2026-05-11共 40 個版本 · 最新版本釋出於 2026-03-06icalendar-sync@clawhub_h8kxrfp68z-lgtm/icalendar-sync
伺服器運維DevOps#Sync#Calendar

據 AlphaMoat 統計,截至 2026-09,iCalendar Sync 累計下載 3,682 次、獲 3 個星標,在全部 5,078 個 AI 技能中排名第 2,934 位,在「運維安全」分類(264 個)中排名第 185 位。

累計安裝
148
累計下載
3682
星標
3
全站排名
#2,934
全站前 58% · 「運維安全」前 71%
平台累計安裝累計下載星標評論
ClawHub ↗11435353-
SkillHub ↗14836823—

各平台的計數口徑不同,統計時間不一致。

這個技能是做什麼的

憑據應使用 Apple 專用密碼而非主 Apple ID 密碼,優先儲存在系統鑰匙串;如必須寫入檔案,應限制嚴格許可權。可配置的 CalDAV 目標可能接收憑據,未審計前不要設定該地址。除錯 HTTP 輸出可能包含敏感資訊;建立、更新或刪除日曆事件前,應核驗內容並取得明確確認。 需要 Python 3.9 或更新版本及包依賴;原生橋接僅適用於 macOS。

資料釋出於 2026-10-29

可以用來做什麼

  • 列出 iCloud 日曆並檢索事件
  • 草擬事件建立或更新所需欄位
  • 在確認後管理重複事件或刪除事件

什麼時候用

  • 憑據以專用密碼方式儲存且目標伺服器已稽核時
  • 事件日期、日曆和重複規則已核驗時
  • 建立、更新或刪除操作能夠先經使用者明確確認時

示例提示詞

以下是根據技能文件生成的示例,不代表實際執行結果。

說明如何安全檢視指定日曆的事件並草擬一個新事件;不要讀取憑據、連線帳戶或實際建立/修改/刪除事件。

月度資料趨勢

累計下載3682
2227300937902026-03 · 累計下載 23352026-05 · 累計下載 28662026-06 · 累計下載 30022026-07 · 累計下載 32732026-08 · 累計下載 33922026-09 · 累計下載 368226-0326-09
星標3
2342026-03 · 星標 32026-05 · 星標 32026-06 · 星標 32026-07 · 星標 32026-08 · 星標 32026-09 · 星標 326-0326-09

2026-09 起統計方法調整:同名技能按作者分別統計,並覆蓋全部技能。圖中虛線為調整前的月份,與之後的資料不直接比較,也不計算跨越調整的增長。

月份累計下載環比星標
2026-093682—3
2026-083392+3.6%3
2026-073273+9.0%3
2026-063002+4.7%3
2026-052866—3
2026-032335—3

SKILL.md 原文

以下是作者釋出的原始檔案,按純文字顯示,本站未做修改或稽核;其中的連結不可點選,命令請核實後再執行。抓取於 2026-10-23。

3.1 KB · ClawHub v2.4.1
---
name: icalendar-sync
description: Secure iCloud Calendar operations for OpenClaw with CalDAV and macOS native bridge providers. Use when tasks require calendar listing, event retrieval, event creation, event updates (including recurring series modes), event deletion, or credential setup via keyring/environment/config file.
---

# iCalendar Sync

Use this skill to perform iCloud calendar CRUD operations from OpenClaw agents.

## 1. Prepare Credentials Securely
展開全部(共 128 行)

Use App-Specific Passwords only (never the primary Apple ID password).

Prefer keyring storage:

```bash
python -m icalendar_sync setup --username [email protected]
```

Use non-interactive setup for automation:

```bash
export ICLOUD_USERNAME="[email protected]"
export ICLOUD_APP_PASSWORD="xxxx-xxxx-xxxx-xxxx"
python -m icalendar_sync setup --non-interactive
```

Use file storage only when keyring is unavailable (headless or GUI-restricted runtime):

```bash
python -m icalendar_sync setup --non-interactive --storage file --config ~/.openclaw/icalendar-sync.yaml
```

## 2. Choose Provider Deliberately

- `--provider auto`: macOS uses native bridge, non-macOS uses CalDAV.
- `--provider caldav`: force direct iCloud CalDAV.
- `--provider macos-native`: force Calendar.app bridge (macOS only).

For CalDAV diagnostics, add:

```bash
--debug-http --user-agent "your-agent/1.0"
```

## 3. Execute Calendar Operations

List calendars:

```bash
python -m icalendar_sync list
```

Get events:

```bash
python -m icalendar_sync get --calendar "Personal" --days 7
```

Create event:

```bash
python -m icalendar_sync create --calendar "Personal" --json '{
  "summary": "Meeting",
  "dtstart": "2026-02-15T14:00:00+03:00",
  "dtend": "2026-02-15T15:00:00+03:00"
}'
```

Update event (simple):

```bash
python -m icalendar_sync update --calendar "Personal" --uid "event-uid" --json '{"summary":"Updated title"}'
```

Update recurring event instance:

```bash
python -m icalendar_sync update \
  --calendar "Work" \
  --uid "series-uid" \
  --recurrence-id "2026-03-01T09:00:00+03:00" \
  --mode single \
  --json '{"summary":"One-off change"}'
```

Modes for recurring updates:

- `single`: update one instance (use `--recurrence-id`)
- `all`: update whole series
- `future`: split series and update this+future (use `--recurrence-id`)

Delete event:

```bash
python -m icalendar_sync delete --calendar "Personal" --uid "event-uid"
```

## 4. Input Contract

For `create`, require at least:

- `summary` (string)
- `dtstart` (ISO datetime)
- `dtend` (ISO datetime, must be later than `dtstart`)

Optional fields:

- `description`
- `location`
- `status`
- `priority` (0-9)
- `alarms`
- `rrule`

## 5. Safety Rules

- Validate calendar names; reject path-like payloads.
- Keep credential material out of logs/output.
- Prefer keyring over file storage.
- If file storage is used, enforce strict file permissions (`0600`).

## 6. Failure Handling

If CalDAV auth/network fails on macOS and provider is `auto`/`caldav`, switch to `macos-native` and retry the same operation.

If JSON payload is supplied as file path, ensure file size stays within safe limits before parsing.

「運維安全」分類下的熱門技能

資料月份:2026-09 · 下載/星標/安裝數聚合自公開技能註冊庫(ClawHub、SkillHub),按月更新。口徑說明見資料方法。