← Back to Skills Marketplace
baptiste00001

iCalendar Events Parser

by baptiste00001 · GitHub ↗ · v1.0.2 · MIT-0
cross-platform ⚠ suspicious
103
Downloads
0
Stars
0
Active Installs
3
Versions
Install in OpenClaw
/install icalendar-events-parser
Description
Parse .ics / iCalendar files or URLs, expand recurring events (RRULE), filter by date range / keywords, and return clean list of events. Use this instead of...
README (SKILL.md)

iCal Events Parser with Recurrence Expansion

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": "[email protected]",
      "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

Usage Guidance
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 or credentials; (4) note the code reads OPENCLAW_HOME/OPENCLAW_WORKSPACE/OPENCLAW_PROFILE if present (these env vars are optional but used), and they were not declared in requires.env — consider whether you want those set in your agent environment. If you need higher assurance, run the tool in an isolated sandbox or inspect/lock the installed node_modules before use.
Capability Assessment
Purpose & Capability
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.
Instruction Scope
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.
Install Mechanism
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.
Credentials
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.
Persistence & Privilege
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.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install icalendar-events-parser
  3. After installation, invoke the skill by name or use /icalendar-events-parser
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.2
Update instructions to run npm install because the node_modules directory is stripped down by clawhub when publishing.
v1.0.1
Added dependencies packages.
v1.0.0
Initial release
Metadata
Slug icalendar-events-parser
Version 1.0.2
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 3
Frequently Asked Questions

What is iCalendar Events Parser?

Parse .ics / iCalendar files or URLs, expand recurring events (RRULE), filter by date range / keywords, and return clean list of events. Use this instead of... It is an AI Agent Skill for Claude Code / OpenClaw, with 103 downloads so far.

How do I install iCalendar Events Parser?

Run "/install icalendar-events-parser" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is iCalendar Events Parser free?

Yes, iCalendar Events Parser is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does iCalendar Events Parser support?

iCalendar Events Parser is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created iCalendar Events Parser?

It is built and maintained by baptiste00001 (@baptiste00001); the current version is v1.0.2.

💬 Comments