Productivity

recipe-block-focus-time

googleworkspace/cli · updated Apr 8, 2026

$npx skills add https://github.com/googleworkspace/cli --skill recipe-block-focus-time
summary

Recurring focus time blocks on Google Calendar to protect deep work hours.

  • Creates weekly recurring focus blocks (Monday–Friday by default) that display as busy time, preventing calendar conflicts
  • Requires the gws-calendar skill and uses Google Calendar's recurrence rules for flexible scheduling
  • Includes verification step to confirm blocks appear correctly in calendar agenda view
skill.md

1d:["$","div",null,{"className":"prose prose-invert max-w-none prose-headings:font-semibold prose-headings:tracking-tight prose-h1:text-4xl prose-h1:mb-2 prose-h2:text-2xl prose-h2:mb-2 prose-h3:text-lg prose-h3:mb-2 prose-p:text-muted-foreground prose-li:text-muted-foreground prose-code:bg-muted prose-code:text-foreground prose-code:px-1 prose-code:py-0.5 prose-code:rounded-sm prose-code:text-sm prose-code:before:content-none prose-code:after:content-none prose-pre:bg-muted prose-pre:text-foreground prose-pre:border prose-pre:border-border prose-pre:rounded-md [&_table]:!border-[color:var(--border)] [&_th]:!border-[color:var(--border)] [&_td]:!border-[color:var(--border)]","dangerouslySetInnerHTML":{"__html":"<h1>Block Focus Time on Google Calendar</h1>\n<blockquote>\n<p><strong>PREREQUISITE:</strong> Load the following skills to execute this recipe: <code>gws-calendar</code></p>\n</blockquote>\n<p>Create recurring focus time blocks on Google Calendar to protect deep work hours.</p>\n<h2>Steps</h2>\n<ol>\n<li>Create recurring focus block: <code>gws calendar events insert --params '{"calendarId": "primary"}' --json '{"summary": "Focus Time", "description": "Protected deep work block", "start": {"dateTime": "2025-01-20T09:00:00", "timeZone": "America/New_York"}, "end": {"dateTime": "2025-01-20T11:00:00", "timeZone": "America/New_York"}, "recurrence": ["RRULE:FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR"], "transparency": "opaque"}'</code></li>\n<li>Verify it shows as busy: <code>gws calendar +agenda</code></li>\n</ol>"}}]