calendar-skill

内容来源:README.md(说明文档) · 原始地址 · 查看安装指南

原始内容

Outlook Calendar Skill for Claude Code

A Claude Code Skill that reads your Outlook calendar via ICS subscription URL.

Features

  • Read calendar events from Microsoft Outlook (M365)
  • No admin approval required (uses ICS subscription)
  • Query by date range (today, this week, specific dates)
  • Timezone-aware (converts to local time)
  • Automatic recurring event (RRULE) expansion
  • Handles all Outlook DTSTART formats

Prerequisites

uv (Required)

This skill uses uv to run the ICS parser script with automatic dependency management.

Install uv:

# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Or with Homebrew
brew install uv

Verify installation:

uv --version

Installation

Option 1: Global (for personal use across all projects)

git clone https://github.com/keith-hung/Calendar-Skill.git
cd Calendar-Skill
./install.sh

Option 2: Project-level (for team use)

git clone https://github.com/keith-hung/Calendar-Skill.git
cd Calendar-Skill
./install.sh /path/to/your-project

Configuration

Step 1: Get your ICS URL from Outlook

⚠️ Important: ICS publishing is only available via Outlook Web (OWA). The macOS and Windows Outlook desktop apps do not have this feature.

Using Outlook Web (Required)

  1. Open Outlook Web in your browser
  2. Click Calendar icon in the left sidebar
  3. Click Settings (⚙️ gear icon, top right)
  4. Click View all Outlook settings at the bottom
  5. Navigate to: CalendarShared calendars
  6. Scroll down to Publish a calendar section
  7. Select your calendar from the dropdown
  8. Choose permission level:
    • Can view all details - Recommended for personal use
    • Can view titles and locations - Hide sensitive details
  9. Click Publish
  10. Copy the ICS link (not the HTML link)
┌─────────────────────────────────────────────────┐
│ Publish a calendar                              │
├─────────────────────────────────────────────────┤
│ Select a calendar: [Calendar ▼]                 │
│ Select permissions: [Can view all details ▼]    │
│                                                 │
│ [Publish]                                       │
│                                                 │
│ HTML: https://outlook.office365.com/.../html    │
│ ICS:  https://outlook.office365.com/.../ics  ← Copy this │
└─────────────────────────────────────────────────┘

Why OWA Only?

Client Publish ICS Subscribe ICS
Outlook Web (OWA) ✅ Yes ✅ Yes
Outlook for Mac ❌ No ✅ Yes
Outlook for Windows ❌ No ✅ Yes
Outlook Mobile ❌ No ❌ No

Step 2: Configure the Skill

Edit the SKILL.md file and replace the placeholder with your ICS URL:

# Location depends on your installation:
# Project-level: .claude/skills/outlook-calendar/SKILL.md
# Global: ~/.claude/skills/outlook-calendar/SKILL.md

Find this line:

**ICS URL**: `<YOUR_ICS_URL_HERE>`

Replace <YOUR_ICS_URL_HERE> with your actual ICS URL:

**ICS URL**: `https://outlook.office365.com/owa/calendar/xxx/yyy/calendar.ics`

Usage

Once installed and configured, simply ask Claude Code about your calendar:

What meetings do I have today?
Show my calendar for this week
Am I free tomorrow afternoon?
What's on my schedule for 12/5?

Claude will automatically invoke this skill and display your calendar events.

Example Output

Time Event Location
09:00-10:00 Weekly Standup Meeting Room A
14:00-15:00 1:1 with Manager Microsoft Teams
16:00-17:00 Sprint Review Conference Room B

Limitations

  • Read-only: Cannot create, modify, or delete events
  • Polling-based: Changes reflect when ICS is re-fetched (not real-time push)
  • Requires ICS publish: Your organization must allow calendar publishing

Troubleshooting

Issue Solution
uv: command not found Install uv (see Prerequisites section)
Empty calendar Check if ICS URL in SKILL.md is configured correctly
Cannot publish calendar Contact IT admin - this feature may be disabled
Events not updating ICS reflects server-side data; wait a few minutes
Placeholder still showing Edit SKILL.md and replace <YOUR_ICS_URL_HERE>

License

MIT