skills/ics-manager/SKILL.md
Manage local or remote ICS calendar sources to inspect upcoming meetings, summarize work hours, and add, update, or delete calendar events when users need a quick operational view of their schedule.
npx skillsauth add hsiangjenli/skills ics-managerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Read or edit .ics files from a local path or HTTP(S) URL.
uv run scripts/check_dependencies.py --install
# Set ICS_SOURCE and optional ICS_RANGE_START/ICS_RANGE_DAYS in .env or ~/.config/ics-manager/.env
Do NOT run
check_dependencies.pyon every invocation.uv runresolves dependencies automatically. Only run it once during initial setup or when the environment may be broken.
All operations go through scripts/ics_manager.py:
| Command | Key flags | Notes |
|---|---|---|
| list-events | --source (repeatable), --start, --end, --contains, --format json | Default window: active configured range, else 14 days |
| summarize-hours | --source (repeatable), --group-by day\|week, --contains | Aggregates event durations across all sources |
| overview | --source (repeatable), --start, --end, --contains, --format json | Count, total hours, busiest day, per-source counts — use this instead of combining list-events + summarize-hours |
| add-event | --source, --summary, --start, --end | Local files only |
| update-event | --source, --uid, --summary | Local files only |
| delete-event | --source, --uid | Local files only; .bak backup written by default |
Remote URLs are read-only. Use --uid for update/delete.
ICS_SOURCE can contain multiple calendars separated by commas or new lines. You can also repeat --source on read commands:
uv run scripts/ics_manager.py overview \
--source ~/calendar/work.ics \
--source ~/calendar/team.ics
To make Scrum check-ins default to the current sprint window, set these once in .env:
ICS_RANGE_START=2026-05-01
ICS_RANGE_DAYS=14
With that configuration, list-events, overview, and summarize-hours automatically use the active 14-day window starting from the configured anchor. You only need --start or --end when overriding the default sprint window.
overview when the user asks for a schedule summary or total hours; only call list-events when full event details are needed.list-events --format json followed by list-events in plain format; pick one.ICS_RANGE_START/ICS_RANGE_DAYS are set, use that active window without asking for a start date again.check_dependencies.py before each command.scripts/ics_manager.py - Parse, summarize, and modify ICS filesreferences/workflows.md - Prompt patterns and caveats.env.example - Environment configuration templatedevelopment
Write or rewrite a LinkedIn About section with a recruiter-friendly four-part structure: positioning, value proposition, career goals, and call to action. Use when the user wants a stronger LinkedIn self-introduction, personal branding summary, or About draft tailored to job search goals.
tools
Use mise as the default workflow for installing programming language runtimes, CLIs, and switching tool versions. Trigger this whenever the user needs a new development environment, hits a version mismatch, wants to align local and global toolchains, or asks how to install a language or CLI without using nvm, pyenv, asdf, brew-only flows, or ad-hoc installers.
development
Create educational and technical presentation slides with structured layouts including covers, table of contents, section dividers, and key takeaways. Use when building technical tutorials, workshops, or educational content with Slidev.
development
Create and present web-based slides for developers using Markdown, Vue components, code highlighting, animations, and interactive features with the Neversink theme. Use for technical presentations, academic talks, conference presentations, or educational materials when users mention Slidev, Neversink theme, web presentations, or creating slides with code examples and animations.