← 返回 Skills 市场
gopaljigaur

Apple Calendar CLI Plus

作者 Gopalji Gaur · GitHub ↗ · v1.2.3 · MIT-0
cross-platform ✓ 安全检测通过
83
总下载
0
收藏
0
当前安装
3
版本数
在 OpenClaw 中安装
/install accli-plus
功能描述
Manage Apple Calendar events from the command line on macOS — create, update, delete, search, export, and check availability with full JSON output for agent...
使用说明 (SKILL.md)

accli — Apple Calendar CLI

accli manages Apple Calendar on macOS via EventKit. All commands support --json for structured output. Exit codes: 0=success, 1=runtime error, 2=validation error, 10=auth error.

Platform: macOS only (darwin). Uses osascript + EventKit. Do not run on non-macOS systems.

First run: accli setup to grant Calendar permissions. Full Calendar Access is required in System Settings > Privacy & Security > Calendars. This gives the agent read and write access to all calendars on the device — install only if you intend to delegate calendar management to the agent.

Agent Safety Rules

Before any create, update, or delete operation:

  1. Use accli search or accli event to confirm the correct event ID
  2. Run the command with --dry-run first and show the user the preview
  3. Require explicit user confirmation before executing the real mutation
  4. Scope all operations to specific --calendar-id values — never operate on all calendars unless the user explicitly requests it

For search and export:

  • Always pass --calendar-id and narrow --from/--to ranges unless the user explicitly asks for a full export
  • Treat exported calendar data (summaries, locations, descriptions) as private — do not include it in summaries sent to third-party services

Calendars

accli calendars [--json]

Returns list of calendars with id, name, source, index, writable. Always prefer --calendar-id \x3Cid> over calendar name — IDs are stable, names are not.

Events

accli events [\x3CcalendarName>] [--calendar-id \x3Cid>] --from \x3Cdate> --to \x3Cdate> [--json]

Lists events in a date range. Calendar is required (use name, --calendar-id, or set a default via accli config set-default).

Single Event

accli event [\x3CcalendarName>] \x3CeventId> [--calendar-id \x3Cid>] [--json]

Fetches full event detail including alerts array (minutes before start).

Create Event

accli create \x3CcalendarName> --summary \x3Ctext> --start \x3Cdatetime> --end \x3Cdatetime> \
  [--location \x3Ctext>] [--description \x3Ctext>] [--all-day] \
  [--alert \x3Cminutes>] [--alert \x3Cminutes>] \
  [--recur daily|weekly|monthly|yearly] [--recur-count \x3Cn>] [--recur-end \x3CYYYY-MM-DD>] \
  [--json]
  • --alert is repeatable — adds one alert per flag (minutes before start)
  • --recur-end and --recur-count are mutually exclusive
  • All-day events: use YYYY-MM-DD for --start and --end
  • Timed events: use YYYY-MM-DDTHH:mm
  • Always confirm with user before creating — calendar events cannot be easily bulk-undone

Update Event

accli update \x3CcalendarName> \x3CeventId> \
  [--summary \x3Ctext>] [--start \x3Cdatetime>] [--end \x3Cdatetime>] \
  [--location \x3Ctext>] [--description \x3Ctext>] \
  [--alert \x3Cminutes>] [--alert \x3Cminutes>] \
  [--dry-run] [--json]

--alert on update replaces all existing alerts. Omit --alert to leave alerts unchanged.

Mandatory dry-run flow:

accli update Work \x3Cid> --summary "New title" --dry-run --json   # show user
accli update Work \x3Cid> --summary "New title" --json              # only after user confirms

Delete Event

accli delete \x3CcalendarName> \x3CeventId> [--dry-run] [--json]

Mandatory dry-run flow:

accli delete Work \x3Cid> --dry-run --json   # show user what would be deleted
accli delete Work \x3Cid> --json              # only after user confirms

Search

accli search --query \x3Ctext> [--from \x3Cdate>] [--to \x3Cdate>] [--calendar-id \x3Cid>] [--json]

Case-insensitive search across summary, location, and description. Scope with --calendar-id and a narrow date range. Do not expose raw results to third-party services without user consent.

Export

accli export --from \x3Cdate> --to \x3Cdate> [--calendar-id \x3Cid>] [--json]

Exports all events grouped by calendar. Response: { calendars: [{ id, name, source, events, truncated }], totalEvents, truncated }. Each calendar truncates at 500 events and sets truncated: true if hit. Use narrow date ranges and specific calendar IDs unless the user explicitly requests a full backup.

Free/Busy

accli freebusy --from \x3Cdatetime> --to \x3Cdatetime> [--calendar-name \x3Cname>] [--json]

Returns busy time slots across calendars.

Config

accli config set-default --calendar-id \x3Cid> [--json]
accli config show [--json]
accli config clear [--json]

Persists default calendar to ~/.acclirc (override with ACCLI_CONFIG_PATH).

DateTime Formats

  • Timed: YYYY-MM-DDTHH:mm or YYYY-MM-DDTHH:mm:ss
  • Date-only (all-day events, --from/--to): YYYY-MM-DD

Error Codes

Code Meaning
NOT_AUTHORIZED Calendar access not granted or set to Add Only
CALENDAR_NOT_FOUND Calendar ID or name not found
AMBIGUOUS_CALENDAR Multiple calendars with same name — use --calendar-id
EVENT_NOT_FOUND Event ID not found in calendar
MISSING_REQUIRED Required flag missing
INVALID_ARGUMENT Invalid flag value
INVALID_RANGE Start is after end
安全使用建议
This appears purpose-aligned for managing Apple Calendar from an agent, but only install it if you trust the external accli package and are comfortable granting full Calendar read/write access. Use calendar IDs, narrow date ranges, dry-runs, and explicit confirmation before any create, update, delete, or broad export.
功能分析
Type: OpenClaw Skill Name: accli-plus Version: 1.2.3 The accli-plus skill provides a command-line interface for managing Apple Calendar events on macOS. The SKILL.md file includes well-defined safety guardrails for the AI agent, such as mandatory dry-runs, explicit user confirmation for mutations, and privacy warnings regarding exported data. The functionality is consistent with its stated purpose, and no indicators of malicious intent or unauthorized data exfiltration were found.
能力评估
Purpose & Capability
The requested capabilities match the stated purpose: managing Apple Calendar events, including create, update, delete, search, export, and free/busy checks. These are high-impact calendar actions, but the artifacts disclose them clearly.
Instruction Scope
The SKILL.md includes explicit safety rules requiring dry-runs, user confirmation before mutations, specific calendar IDs, and narrow date ranges for search/export.
Install Mechanism
The registry says there is no install spec and no required binaries, while SKILL.md and README.md instruct users to install a global npm CLI package. This is disclosed in the skill text, but the package code is not included in the reviewed artifacts.
Credentials
The skill is macOS-specific and requires Apple Calendar permissions, but registry metadata shows no OS restriction. SKILL.md does clearly state macOS-only usage.
Persistence & Privilege
The CLI can persist a default calendar in ~/.acclirc and requires Full Calendar Access for read/write operations. This is purpose-aligned and disclosed.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install accli-plus
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /accli-plus 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.2.3
Fix bundled files, add safety rules, complete frontmatter metadata
v1.2.2
Fix display name
v1.2.1
Fork of joargp/accli with search, export, dry-run, recurring events, alerts, single event detail
元数据
Slug accli-plus
版本 1.2.3
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 3
常见问题

Apple Calendar CLI Plus 是什么?

Manage Apple Calendar events from the command line on macOS — create, update, delete, search, export, and check availability with full JSON output for agent... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 83 次。

如何安装 Apple Calendar CLI Plus?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install accli-plus」即可一键安装,无需额外配置。

Apple Calendar CLI Plus 是免费的吗?

是的,Apple Calendar CLI Plus 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Apple Calendar CLI Plus 支持哪些平台?

Apple Calendar CLI Plus 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Apple Calendar CLI Plus?

由 Gopalji Gaur(@gopaljigaur)开发并维护,当前版本 v1.2.3。

💬 留言讨论