首页龙虾技能列表 › iCalendar Events Parser — 技能工具

iCalendar Events Parser — 技能工具

v1.0.2

[自动翻译] Parse .ics / iCalendar files or URLs, expand recurring events (RRULE), filter by date range / keywords, and return clean list of events. Use this inst...

0· 53·0 当前·0 累计
by @baptiste00001·MIT-0
下载技能包
License
MIT-0
最后更新
2026/4/2
安全扫描
VirusTotal
Pending
查看报告
OpenClaw
安全
medium confidence
The skill's code and instructions match its stated purpose (parsing .ics files, expanding recurrences, filtering), with no unexplained credential requests or hidden endpoints, but there are a few small mismatches you should know about before installing.
评估建议
This skill appears to do what it claims: it fetches .ics URLs or reads .ics files from your OpenClaw workspace and expands/filter events. Before installing: (1) inspect the included index.js (done here) and confirm you're comfortable with its workspace-only file access rules; (2) run npm install in a controlled environment — npm packages will be downloaded from the public registry; (3) be aware the tool will fetch any URL you pass it (network access is broad), so don't feed it private endpoints ...
详细分析 ▾
用途与能力
Name/description align with the code and package.json: it parses local .ics files or remote .ics URLs, expands recurrences and filters events. Required binary is only node, and the declared JS dependencies (icalendar-events, luxon) are coherent with the functionality.
指令范围
SKILL.md and index.js limit filesystem reads to the agent workspace and the skill folder, and network access is used only to fetch the provided .ics URL. The instructions ask you to run 'npm install' and chmod the entry file (expected for a Node CLI). Note: SKILL.md tells agents not to use the built-in web_fetch and to call this tool instead — that is consistent but gives the skill responsibility for remote fetches.
安装机制
There is no automated install spec; installation is manual (npm install). That means dependencies will be pulled from the public npm registry when you run npm install. The packages listed in package-lock.json resolve to npmjs.org (expected for this purpose). This is typical for Node-based skills but worth awareness because npm install will run network I/O and write code to disk.
凭证需求
The skill does not require secrets and doesn't declare required env vars, but the code reads optional environment variables (OPENCLAW_HOME, OPENCLAW_WORKSPACE, OPENCLAW_PROFILE, NODE_ENV). Those are reasonable for locating the workspace but are not listed among declared env requirements — this mismatch should be noted. Also the skill requests broad outbound network access ('*') which is justified for fetching arbitrary .ics URLs but is permissive.
持久化与权限
The skill is not always-enabled and is user-invocable; it does not request elevated or persistent platform privileges beyond normal exec/filesystem/network access.
index.js:28
Environment variable access combined with network send.
index.js:5
File read combined with network send (possible exfiltration).
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv1.0.22026/4/2

Update instructions to run npm install because the node_modules directory is stripped down by clawhub when publishing.

● Pending

安装命令 点击复制

官方npx clawhub@latest install icalendar-events-parser
镜像加速npx clawhub@latest install icalendar-events-parser --registry https://cn.clawhub-mirror.com

技能文档

When to use this skill

  • User gives an .ics URL or local path and asks to list, summarize, filter or process events
  • Need to expand recurring events into individual instances
  • Want date-range filtering, keyword search in title/description/location
  • Need clean structured output for further processing (e.g. add to Google Calendar, check conflicts)

Do NOT try to parse iCalendar .ics feeds yourself in prompts — always call this tool. Do NOT use the built in web_fetch tool - always call this tool. For several urls, call this tool several times.

How to set up

This skill requires a few Node.js dependencies (icalendar-events and luxon).

One-time setup (run this in the terminal after the skill is installed):

cd ~/.openclaw/workspace/skills/icalendar-events-parser # adjust path if needed
npm install

Then, the entry point being a CLI, you need to make it executable:

In the terminal, run:

chmod +x index.js

How the agent should call it (JSON format)

Send a JSON object like this to stdin (the script reads and processes it automatically):

{
  "tool": "icalendar-events-parser",
  "action": "parse-expand-filter",
  "params": {
    "source": "https://calendar.google.com/calendar/ical/.../basic.ics",   // or "~/openclaw/workspace/my-calendar.ics" or "./data/my-calendar.ics"
    "start": "2026-03-01",                    // YYYY-MM-DD date format
    "end":   "2026-03-31",                    // YYYY-MM-DD date format
    "timeZone": "Asia/Tokyo",                 // ALWAYS USE THE USER'S ACTUAL TIME ZONE
    "maxInstancesPerSeries": 200,             // safety limit to prevent huge expansions
    "filter": {                               // optional - all fields optional
      "titleContains": "yoga",
      "descriptionContains": null,
      "locationContains": "Tokyo"
    }
  }
}

What the tool returns

{
  "success": true,
  "count": 18,
  "events": [
    {
      "uid": "abc123@google.com",
      "title": "Team Sync",
      "start": "2026-03-05T09:00:00+09:00[Asia/Tokyo]",
      "end":   "2026-03-05T10:00:00+09:00[Asia/Tokyo]",
      "allday": false,                         // shows if the event is an allday event (true) or an intraday event (false).
      "description": "...",
      "location": "Zoom",
      "recurrenceId": null,                    // present only for expanded instances of recurring events
      "originalRRule": "FREQ=WEEKLY;BYDAY=WE"  // only for the master event
    },
    ...
  ],
  "message": "18 events found"
}

If error: { "success": false, "error": "..." }

Implementation is in index.js in this folder.

Required Permissions

This skill needs:
  • Ability to execute node (tool: exec)
  • Ability to read files on the file system
  • Outbound network access for HTTP requests (fetch inside Node.js)

Please ensure your agent config allows exec, filesystem read and outbound network

数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制

免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制

了解定制服务