← 返回 Skills 市场
docmarionum1

Ical Calendar

作者 docmarionum1 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ 安全检测通过
112
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install ical-calendar
功能描述
Query `.ics` calendar files, raw iCal strings, or remote iCal feeds with the local `icali` CLI. Use when a user asks for natural-language calendar lookups su...
使用说明 (SKILL.md)

iCal Calendar

Use this skill when the user explicitly wants .ics or iCal data, or when the available source is an iCal file, string, or feed.

Source selection

Before querying, identify the real iCal source:

  • Local file: icali --file "/absolute/path/to/calendar.ics"
  • Remote feed: icali --url "https://example.com/calendar.ics"
  • Raw iCal text: icali --string "BEGIN:VCALENDAR..."
  • The positional source argument also works, but explicit --file or --url is usually clearer in agent logs

Never invent a calendar source. If the source is not provided, look for one in the workspace or prior context. If none is available, say you need the .ics path, URL, or raw iCal text.

CLI facts that matter

Prefer --json unless the user explicitly wants raw CLI output.

Important flags:

  • --date YYYY-MM-DD for one calendar day
  • --from YYYY-MM-DD [--to YYYY-MM-DD] for a date range
  • --from-datetime YYYY-MM-DDTHH:mm [--to-datetime YYYY-MM-DDTHH:mm] for a local time window
  • --today as a shortcut for the active timezone
  • --tz \x3CIANA zone> or --utc
  • --search \x3Cpattern> for OR search across summary, description, and location
  • --field \x3Ck=v> for exact field targeting with AND semantics across repeats
  • --field-any \x3Ck=v> for OR search across named fields
  • --limit \x3Cn> for the next few matches
  • --exclude-status \x3Cs> to drop cancelled items
  • --type \x3Cname> where the default is event

Semantics:

  • Range windows are half-open: items match when they overlap [from, to) or [from-datetime, to-datetime)
  • --to and --to-datetime are exclusive
  • --from and --from-datetime may be used without an end value for open-ended upcoming queries
  • --date cannot be combined with range flags
  • Repeated --field filters are ANDed
  • Repeated --field-any groups are ANDed, while fields inside one --field-any group are ORed
  • --search is shorthand for OR search across summary, description, and location
  • --exclude-status matches statuses case-insensitively and may be repeated
  • Date matching uses the active timezone, so set --tz when local day boundaries matter
  • All-day events still use exclusive end semantics

Default workflow

  1. Determine the source and timezone that should govern phrases like "today", "this week", "tomorrow morning", or "upcoming".
  2. Translate the request into:
    • a source flag
    • a date or datetime window
    • a text filter or field-specific filter
    • optional --exclude-status CANCELLED
    • optional --limit
    • --json
  3. Run icali.
  4. Post-process the JSON in the agent:
    • confirm the interpreted range in plain English
    • keep only the matches that answer the user's question
    • summarize clearly instead of dumping raw JSON

Natural-language patterns

What's on my calendar today

Use:

icali --file "/path/to/calendar.ics" --today --json

If the timezone should be explicit:

icali --file "/path/to/calendar.ics" --today --tz Europe/London --json

What's on my calendar on a specific day

Use:

icali --file "/path/to/calendar.ics" --date 2026-04-14 --json

What's on my calendar this week

Translate the phrase into an exact week window, then use a date range:

icali --file "/path/to/calendar.ics" --from 2026-04-13 --to 2026-04-20 --json

State the interpreted range in the answer, especially if the locale or timezone affects week boundaries.

What's on my calendar this afternoon

Use a local datetime window:

icali --file "/path/to/calendar.ics" --from-datetime 2026-04-11T12:00 --to-datetime 2026-04-11T18:00 --json

Do I have any upcoming meetings with Stacey

Prefer --search plus an open-ended future window:

icali --file "/path/to/calendar.ics" --from 2026-04-11 --search "/stacey/i" --exclude-status CANCELLED --json

If the user asks for only the next few:

icali --file "/path/to/calendar.ics" --from 2026-04-11 --search "/stacey/i" --exclude-status CANCELLED --limit 3 --json

Find events matching a topic in specific fields

Use --field when the field itself matters:

icali --file "/path/to/calendar.ics" --field "summary=/review/i" --json

Use --field-any when the match may appear in one of several fields:

icali --file "/path/to/calendar.ics" --field-any "summary,description,location=/review/i" --json

Exclude cancelled events from a normal lookup

Use:

icali --file "/path/to/calendar.ics" --from 2026-04-11 --to 2026-04-18 --exclude-status CANCELLED --json

Query design guidance

Prefer these defaults:

  • For day questions: --date or --today
  • For week or multi-day questions: --from and --to
  • For time-of-day questions: --from-datetime and --to-datetime
  • For person or topic matching: --search "/name/i"
  • For meeting-oriented questions: add --exclude-status CANCELLED
  • For "next few" phrasing: add --limit

Use fielded matching only when needed:

  • --search is the simplest natural-language default
  • --field is for exact field targeting
  • --field-any is for named-field OR matching

Avoid these mistakes:

  • Do not answer without identifying the real .ics source
  • Do not omit timezone handling when day boundaries or local times matter
  • Do not use --date when the user asked for a range
  • Do not use repeated --field flags when the user really wants OR semantics
  • Do not forget that --to and --to-datetime are exclusive

Output expectations

Return a normal calendar answer, not a CLI transcript.

Include:

  • the interpreted date or datetime window
  • the matching events in chronological order
  • whether cancelled items were excluded when that affects the result
  • a clear "no matches" answer when nothing qualifies

If the request is underspecified, say exactly what is missing:

  • missing iCal source
  • ambiguous timezone
  • no accessible .ics file or feed found
安全使用建议
This skill appears to do what it claims, but check these before installing: 1) Ensure the agent environment actually has the icali binary you trust (the skill expects a local CLI). 2) Be aware the agent may read any .ics files present in the workspace or follow a user-supplied calendar URL — avoid placing sensitive calendar files in the workspace unless you want them queried. 3) If providing remote feed URLs, avoid exposing URLs that embed credentials or point to private endpoints you don't want the agent to fetch. 4) The skill itself doesn't exfiltrate data, but any responses it generates will contain calendar contents — consider whether that output may be displayed or transmitted elsewhere by the agent.
功能分析
Type: OpenClaw Skill Name: ical-calendar Version: 1.0.0 The skill provides a legitimate interface for the 'icali' CLI tool to query and filter iCalendar (.ics) data from local files, strings, or remote URLs. The instructions in SKILL.md are well-structured, focusing on correct CLI usage, timezone handling, and natural language translation without any evidence of malicious intent, data exfiltration, or prompt injection.
能力评估
Purpose & Capability
Name/description say the skill queries .ics/iCal data and the only required runtime artifact is the icali binary. There are no unrelated environment variables, packages, or config paths requested — the declared requirement (icali) is exactly what you would expect.
Instruction Scope
SKILL.md gives explicit CLI invocations and post-processing guidance and stays focused on calendar queries. It does recommend looking for a source in the workspace or prior context; this is appropriate for a file-based calendar skill but means the agent may read local .ics files if present (which is expected behavior). The instructions do not request other system secrets or unrelated files.
Install Mechanism
This is instruction-only with no install spec, so nothing is downloaded or written to disk by the skill itself. Risk is low but the environment must already provide the icali binary.
Credentials
No environment variables, credentials, or config paths are requested. That matches the skill's simple CLI-based purpose.
Persistence & Privilege
The skill is not always-enabled and does not request elevated persistence. It does not modify other skills or system-wide settings in its instructions.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install ical-calendar
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /ical-calendar 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
- Initial release of the iCal Calendar skill for querying `.ics` files, iCal strings, or remote iCal feeds using the `icali` CLI. - Provides detailed guidance for selecting sources, filtering events, setting date/time windows, and handling timezones. - Supports natural-language calendar lookups, including searches by date, week, time window, participant, and custom filters. - Emphasizes giving clear, natural-language summaries rather than raw data. - Outlines default workflows, recommended flags, and common query patterns for various calendar scenarios.
元数据
Slug ical-calendar
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Ical Calendar 是什么?

Query `.ics` calendar files, raw iCal strings, or remote iCal feeds with the local `icali` CLI. Use when a user asks for natural-language calendar lookups su... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 112 次。

如何安装 Ical Calendar?

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

Ical Calendar 是免费的吗?

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

Ical Calendar 支持哪些平台?

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

谁开发了 Ical Calendar?

由 docmarionum1(@docmarionum1)开发并维护,当前版本 v1.0.0。

💬 留言讨论