# Calendar Events

> Create, view, reschedule, and cancel calendar events and appointments. Use when the user asks to schedule a meeting, check their calendar, book an appointment, reschedule, or set a reminder for an event.

- Skill: `jason-easyazz/calendar-events` (Agent Skill)
- Install (CLI): `npx skillmds@latest add jason-easyazz/calendar-events`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jason-easyazz/calendar-events/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: jason-easyazz (https://skillmd.com/u/jason-easyazz)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/jason-easyazz/calendar-events

---

# Calendar Events Skill

## Workflow

1. **Parse intent** — determine the action: create, view, update, or cancel
2. **Extract details** — title, date/time (ISO 8601), duration (minutes), location (optional)
3. **Clarify ambiguity** — if date or time is missing or ambiguous, ask the user before proceeding
4. **Call the API** — use the matching endpoint (see below)
5. **Confirm result** — respond with the event summary including exact date/time and any relevant details

## API Endpoints

### Create an event
```
POST /api/calendar/events
{
  "title": "Dentist appointment",
  "start": "2026-04-10T14:00:00Z",
  "duration": 60,
  "location": "123 Main St"
}
```

### View today's events
```
GET /api/calendar/events/today
```

### View this week's events
```
GET /api/calendar/events/week
```

### Update an event
```
PUT /api/calendar/events/{id}
{
  "start": "2026-04-10T15:00:00Z"
}
```

### Cancel an event
```
DELETE /api/calendar/events/{id}
```

## Example

**User:** "Schedule a dentist appointment for Thursday at 2pm"

**Steps:**
- Parse intent: create
- Extract: title=`Dentist appointment`, start=`2026-04-10T14:00:00Z`, duration=`60`
- `POST /api/calendar/events` with extracted details
- Respond: "Done — Dentist appointment is set for Thursday, April 10 at 2:00 PM (1 hour)."

## Error Handling

- **Conflicting event**: Check `GET /api/calendar/events` for overlaps and warn the user before creating
- **Past date**: Reject and ask for a future date
- **Missing time**: Ask "What time works for you?" rather than guessing

## Response Style

Always confirm the exact date and time. Use relative references when helpful ("in 2 hours", "tomorrow at 3pm").

