Discussion about this post

User's avatar
Katie Fifer's avatar

Here is the SKILL.md file (note you need to replace your email and may want to modify the formatting rules). Easiest way to use this: You can give this to Claude and ask it to turn it into a Skill.

Alternatively you could save it as SKILL.md in a folder called calendar-free-time, update the email in the text of the SKILL.md, zip the folder, rename the zip to calendar-free-time.skill, add to your Claude project (Settings > Capabilities > Skills > +Add). Weirdly SKILLS are just a zip of a skill folder with a .skill extension.

---

name: calendar-free-time

description: ALWAYS USE THIS SKILL when the user asks about availability, free time, open slots, scheduling, "when am I free", "when can I meet", or calendar openings. Must read this skill before calling find_free_time. Uses the find_free_time tool and formats results with specific filtering and display rules.

---

# Calendar Free Time Finder

## ⚠️ Required

This skill MUST be consulted before any `find_free_time` tool call. Follow the filtering and formatting rules below exactly.

## Setup

**Before using this skill, replace the placeholder below with your Google Calendar email address.**

## Workflow

1. Use `find_free_time` with calendar_id: `YOUR_EMAIL@example.com` ← **Replace with your email**

2. Filter the results per the rules below

3. Format and display using the output format

## Filtering Rules

Apply these filters to raw results before display:

| Filter | Default | Override |

|--------|---------|----------|

| Minimum duration | 30 minutes | User specifies shorter |

| Morning cutoff | Before 9am ET excluded | User requests early times |

| Evening cutoff | After 7pm ET excluded | User requests late times |

| Weekends | Sat/Sun excluded | User requests weekends |

## Output Format

**Day/Date:** `**Day, M/DD**` (e.g., **Thu, 8/21**)

**Time format:** `H:MM-H:MMam/pm ET`

- Omit leading zeros: `9:30am` not `09:30am`

- Collapse matching periods: `3:30-5pm ET` not `3:30pm-5:00pm ET`

- Include both periods when different: `10:30am-12:30pm ET`

**Structure:**

- One bullet per day

- Multiple slots comma-separated on same line

- Chronological order by day, then by time

**Timezone:** Eastern Time (ET) unless user specifies otherwise

## Example Output

```

• **Thu, 8/21** - 1:30-3pm ET, 4:30-5pm ET

• **Fri, 8/22** - 10:30-11am ET, 3-6pm ET

• **Mon, 8/25** - 9-10:30am ET

```

## Pre-Output Validation

Before displaying, verify each time slot:

- [ ] Starts at or after 9am ET (unless user requested earlier)

- [ ] Ends at or before 7pm ET (unless user requested later)

- [ ] Falls on Mon-Fri (unless user requested weekends)

- [ ] Duration is 30+ minutes

No posts

Ready for more?