google-calendar-free-up-time

Find ways to open up meaningful free time in a connected Google Calendar. Use when the user wants to clear up their day, make room for focus time, create a longer uninterrupted block, or see the smallest set of calendar changes that would give time back.

685 stars

Best use case

google-calendar-free-up-time is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Find ways to open up meaningful free time in a connected Google Calendar. Use when the user wants to clear up their day, make room for focus time, create a longer uninterrupted block, or see the smallest set of calendar changes that would give time back.

Teams using google-calendar-free-up-time should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/google-calendar-free-up-time/SKILL.md --create-dirs "https://raw.githubusercontent.com/openai/plugins/main/plugins/google-calendar/skills/google-calendar-free-up-time/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/google-calendar-free-up-time/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How google-calendar-free-up-time Compares

Feature / Agentgoogle-calendar-free-up-timeStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Find ways to open up meaningful free time in a connected Google Calendar. Use when the user wants to clear up their day, make room for focus time, create a longer uninterrupted block, or see the smallest set of calendar changes that would give time back.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Google Calendar Free Up Time

Use this skill when the goal is to create time, not just inspect time.

## Relevant Actions

- Use `search_events` to map the day's current fragmentation and identify movable candidates.
- Use `read_event` or `read_event_all_fields` when one candidate meeting needs a closer look before proposing a move.
- Use `update_event`, `update_event_series`, or `update_event_following` only after the proposal is clear and the correct scope of change is grounded.

## Workflow

1. Start by identifying the target: today, tomorrow, this afternoon, a specific day, or a broader window.
2. Optimize for contiguous free blocks, not raw free-minute totals.
3. Identify which meetings are likely fixed and which are more movable before proposing changes.
4. Look for the smallest edit set that creates a meaningful uninterrupted block.
5. Prefer solutions that reduce fragmentation across the rest of the day, not just one local gap.
6. If no clean block exists, show the best partial win and what tradeoff it requires.

## Prioritization Heuristics

- Protect hard anchors such as external meetings, major reviews, commute buffers, or lunch if it is already a stable part of the day.
- Move lower-cost meetings first, such as optional events, transparent holds, lightweight internal syncs, or self-created placeholders.
- Favor one or two coherent shifts over a chain of many tiny moves.
- Prefer creating one useful block over scattering a few small openings.

## Output Conventions

- Show the before-and-after effect of the proposal.
- Name the block of time created and the minimum meetings that would need to move.
- If suggesting multiple options, keep them short and explain the tradeoff for each.

Related Skills

runtime-cache

685
from openai/plugins

Vercel Runtime Cache API guidance — ephemeral per-region key-value cache with tag-based invalidation. Shared across Functions, Routing Middleware, and Builds. Use when implementing caching strategies beyond framework-level caching.

outlook-calendar

685
from openai/plugins

Handle Outlook Calendar workflows. Use when the user asks for schedule understanding, availability checks, meeting scheduling, intelligent rescheduling, meeting prep, reminder updates, RSVP responses, recurring maintenance, travel coordination, deadline planning, or safe create, update, reschedule, or cancel changes with timezone-aware event times and attendee validation.

outlook-calendar-meeting-prep

685
from openai/plugins

Build a practical meeting prep brief from an Outlook Calendar event and its nearby Microsoft context. Use when the user wants to prepare for an upcoming meeting, understand what to read beforehand, pull in linked notes or docs, or get a concise brief on what the meeting appears to require.

outlook-calendar-group-scheduler

685
from openai/plugins

Find and rank good meeting times for several people using Outlook Calendar data. Use when the user wants to schedule a meeting, compare candidate slots across attendees, find the best compromise time, or add a room/resource check after narrowing the attendee-compatible options.

outlook-calendar-free-up-time

685
from openai/plugins

Find ways to open up meaningful free time in Outlook Calendar. Use when the user wants to clear part of their schedule, make room for focus time, create a longer uninterrupted block, or see the smallest set of calendar changes that would give time back.

outlook-calendar-daily-brief

685
from openai/plugins

Build polished one-day Outlook Calendar briefs. Use when the user asks for today, tomorrow, or a specific date summary with an agenda, conflict flags, free windows, remaining-meeting readouts, or a calendar brief, and Outlook Calendar is available.

google-slides

685
from openai/plugins

Inspect, create, import, summarize, and update Google Slides presentations through connected Google Slides data. Use when the user wants to find a deck, read slide structure, summarize a presentation or specific slide, understand charts, graphs, or other slide visuals by combining slide text with thumbnail-based image understanding, create a new presentation, import a `.ppt`, `.pptx`, or `.odp`, or make general content edits in Google Slides. For visual polish on an existing deck, such as formatting cleanup, alignment fixes, overflow cleanup, or slide-by-slide deck cleanup, prefer `google-slides-visual-iteration`.

google-slides-visual-iteration

685
from openai/plugins

Iteratively inspect and polish existing connected Google Slides presentations in Codex using slide thumbnails plus raw Slides edits. Use when a user asks to fix a slide visually, clean up formatting, improve slide quality, make a deck look better, fix alignment, spacing, overlap, overflow, crowding, awkward whitespace, or deck-wide visual consistency in an existing Google Slides deck or shared Slides link, especially when the work should follow a thumbnail -> diagnose -> batch_update -> re-thumbnail verification loop.

google-slides-template-surgery

685
from openai/plugins

Perform structural rework in connected Google Slides decks. Use when local visual cleanup is not enough and repeated layout defects require batch_update structure edits plus strict verification.

google-slides-template-migration

685
from openai/plugins

Migrate a Google Slides deck onto a target template. Use when the user wants to preserve source content while rebuilding slides from a branded template structure instead of making incremental in-place edits.

google-slides-import-presentation

685
from openai/plugins

Import a local `.ppt`, `.pptx`, or `.odp` file into Google Slides, verify the resulting native deck, and hand it off to the right follow-on workflow. Use when the user wants to convert a presentation file into a native Google Slides deck before follow-on work.

google-sheets

685
from openai/plugins

Analyze and edit connected Google Sheets with range precision. Use when the user wants to find a spreadsheet, inspect tabs or ranges, search rows, plan formulas, clean or restructure tables, write concise summaries, or make explicit cell-range updates.