Agent skill

Calendar Automation

by claude-office-skills in claude-office-skills/skills

Google Calendar and Outlook automation - scheduling optimization, meeting workflows, time blocking, and Slack/Sheets integration

MITAuto-check passedProductivity & Automation

Install Calendar Automation

skills CLI
$ npx skills add claude-office-skills/skills --skill calendar-automation -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install claude-office-skills/skills calendar-automation --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/claude-office-skills/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/calendar-automation .claude/skills/calendar-automation && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
calendar-automation
GitHub stars
505
Token cost
~2.7k tokens
SKILL.md length
139 words
Files
1
Skills in repo
12
Repo updated
First seen
Licence
MIT

At a glance

Google Calendar and Outlook automation - scheduling optimization, meeting workflows, time blocking, and Slack/Sheets integration

  • Works in 5 steps: Daily Calendar Digest to Slack → Meeting Prep Automation → Smart Time Blocking → …
  • Tasks that involve Calendar and scheduling
  • SKILL.md covers Overview, Core Workflows, Time Blocking Templates and Output Example, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Calendar Automation is an agent skill from claude-office-skills/skills. Google Calendar and Outlook automation - scheduling optimization, meeting workflows, time blocking, and Slack/Sheets integration

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Productivity & Automation, covering Calendar and scheduling. It works with Slack and Google Calendar. The repository describes itself as: A curated collection of practical Claude Skills for real-world office tasks. The licence is MIT.

When your agent uses it

  • Tasks that involve Calendar and scheduling

Example prompts

  • “/calendar-automation”

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Daily Calendar Digest to Slack
  2. Meeting Prep Automation
  3. Smart Time Blocking
  4. Calendly → Calendar + CRM
  5. Calendar Analytics

What it can do on your machine

Read from SKILL.md and the folder at commit 9c4c7d5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are yaml and markdown).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Calendar Automation loads about 2.7k tokens when it runs. Until then it costs about 37 tokens; SKILL.md has 139 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~37
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from claude-office-skills/skills at commit 9c4c7d5, republished under its MIT licence (© claude-office-skills). 139 words, ~2,668 tokens.

Download SKILL.mdSave it as .claude/skills/calendar-automation/SKILL.md (or your agent's skills folder).
name
calendar-automation
description
Google Calendar and Outlook automation - scheduling optimization, meeting workflows, time blocking, and Slack/Sheets integration
version
1.0.0
author
claude-office-skills
license
MIT
category
productivity
tags
calendar, scheduling, google-calendar, outlook, automation
department
Operations
models.recommended
claude-sonnet-4
mcp.server
google-workspace-mcp
mcp.tools
calendar_create_event, calendar_list_events, calendar_update, slack_notify
capabilities
meeting_scheduling, time_blocking, calendar_sync, meeting_prep, daily_digest

Calendar Automation

Automate Google Calendar and Outlook workflows for meeting management, time blocking, daily digests, and cross-platform synchronization. Based on n8n workflow templates.

Overview

This skill covers:

  • Meeting scheduling automation
  • Time blocking strategies
  • Daily calendar digests to Slack
  • Meeting prep reminders
  • Calendar analytics

Core Workflows

1. Daily Calendar Digest to Slack
yaml
workflow: "Morning Calendar Briefing"

schedule: "6:00 AM daily"

steps:
  1. get_today_events:
      calendar: primary
      time_min: today_start
      time_max: today_end
      
  2. categorize_events:
      categories:
        meetings: has_attendees == true
        focus_time: title contains "Focus" OR "Deep Work"
        one_on_ones: title contains "1:1" OR "1-on-1"
        interviews: title contains "Interview"
        
  3. calculate_stats:
      total_meetings: count(meetings)
      total_hours: sum(duration)
      free_time: 8 - total_hours
      back_to_back: count(gap < 15min)
      
  4. format_message:
      template: |
        ☀️ *Good morning! Here's your day:*
        
        📅 *{date}*
        
        *Schedule Overview:*
        • {total_meetings} meetings ({total_hours}h)
        • {free_time}h of free time
        • {back_to_back} back-to-back slots ⚠️
        
        *Today's Events:*
        {event_list}
        
        💡 *Tip:* {daily_tip}
        
  5. send_to_slack:
      channel: "#daily-schedule" or DM
      
  6. log_to_sheets:
      spreadsheet: "Calendar Analytics"
      data: [date, meetings, hours, categories]

Event List Format:

• 9:00 AM - Team Standup (15m) 📞 Zoom
• 10:00 AM - 1:1 with Sarah (30m) 👥
• 11:00 AM - Focus Time (2h) 🧠
• 2:00 PM - Client Call (1h) 🤝 Google Meet
• 4:00 PM - Interview - PM Role (45m) 🎯

2. Meeting Prep Automation
yaml
workflow: "Meeting Preparation"

trigger:
  type: calendar_event
  time: 1_hour_before_meeting
  filter: has_attendees AND duration >= 30min

steps:
  1. get_meeting_details:
      extract: [title, attendees, description, meeting_link]
      
  2. research_attendees:
      for_each: attendee
      actions:
        - linkedin_lookup: get_title_company
        - crm_lookup: get_past_interactions
        - email_search: recent_threads
        
  3. generate_prep_doc:
      template: |
        # Meeting Prep: {title}
        
        **Time:** {start_time}
        **Duration:** {duration}
        **Link:** {meeting_link}
        
        ## Attendees
        {attendee_profiles}
        
        ## Context
        - Last interaction: {last_meeting_date}
        - Open items: {open_tasks}
        - Recent emails: {email_summary}
        
        ## Suggested Agenda
        {ai_suggested_agenda}
        
        ## Talking Points
        {ai_talking_points}
        
  4. send_reminder:
      slack_dm:
        message: |
          ⏰ Meeting in 1 hour: *{title}*
          
          📋 [Prep Doc]({prep_doc_link})
          🔗 [Join Meeting]({meeting_link})
          
          Quick context: {one_line_summary}

3. Smart Time Blocking
yaml
workflow: "Auto Time Blocking"

schedule: "Sunday 8pm" # Plan for next week

steps:
  1. analyze_calendar:
      range: next_7_days
      identify:
        - existing_meetings
        - recurring_meetings
        - available_slots
        
  2. get_priorities:
      source: [todoist, asana, notion]
      filter: due_this_week AND high_priority
      
  3. allocate_focus_time:
      rules:
        - morning_block: 9-11am (deep work)
        - afternoon_block: 2-4pm (collaborative)
        - minimum_gap: 15min between meetings
        - max_meetings_per_day: 5
        
  4. create_blocks:
      types:
        deep_work:
          duration: 2h
          frequency: daily
          preferred_time: 9-11am
          color: blue
          
        admin_time:
          duration: 1h
          frequency: daily
          preferred_time: 4-5pm
          color: gray
          
        buffer:
          duration: 15min
          after: external_meetings
          color: yellow
          
  5. notify:
      slack: "✅ Weekly time blocks created. {x} hours of focus time protected."

4. Calendly → Calendar + CRM
yaml
workflow: "Calendly Booking Handler"

trigger:
  type: calendly
  event: booking_created

steps:
  1. get_booking_details:
      extract: [invitee, event_type, scheduled_time, answers]
      
  2. enrich_contact:
      clearbit: lookup_by_email
      linkedin: get_profile
      
  3. create_calendar_event:
      google_calendar:
        title: "{event_type} with {invitee_name}"
        time: scheduled_time
        description: |
          **Booked via Calendly**
          
          Name: {invitee_name}
          Email: {invitee_email}
          Company: {company}
          
          **Pre-meeting questions:**
          {calendly_answers}
        attendees: [invitee_email, owner_email]
        reminders: [1_day, 1_hour, 15_min]
        
  4. update_crm:
      hubspot:
        create_or_update_contact:
          email: invitee_email
          properties:
            last_meeting_booked: scheduled_time
            meeting_type: event_type
        create_engagement:
          type: MEETING
          timestamp: scheduled_time
          
  5. send_confirmation:
      email:
        to: invitee_email
        template: meeting_confirmation
        include: [calendar_invite, prep_questions]
        
  6. notify_slack:
      channel: "#meetings"
      message: "📅 New booking: {event_type} with {invitee_name} on {date}"

5. Calendar Analytics
yaml
analytics_workflow:
  name: "Weekly Calendar Report"
  schedule: "Friday 5pm"
  
  metrics:
    time_distribution:
      - meetings_total_hours
      - focus_time_hours
      - admin_time_hours
      - 1on1_time_hours
      
    meeting_quality:
      - avg_meeting_length
      - back_to_back_count
      - meetings_with_agenda
      - external_vs_internal
      
    productivity:
      - longest_focus_block
      - fragmentation_score
      - after_hours_meetings
      
  output:
    format: markdown
    destinations: [slack, google_sheets]
    
  report_template: |
    # 📊 Weekly Calendar Analytics
    
    ## Time Distribution
    | Category | Hours | % of Week |
    |----------|-------|-----------|
    | Meetings | {meetings_hours} | {meetings_pct}% |
    | Focus Time | {focus_hours} | {focus_pct}% |
    | Admin | {admin_hours} | {admin_pct}% |
    | Available | {available_hours} | {available_pct}% |
    
    ## Meeting Insights
    - Total meetings: {total_meetings}
    - Average length: {avg_length} min
    - Back-to-back: {b2b_count} ({b2b_pct}%)
    - With agenda: {agenda_pct}%
    
    ## Productivity Score
    🎯 **{productivity_score}/100**
    
    - Longest focus block: {longest_focus}
    - Meeting fragmentation: {fragmentation}
    - After-hours: {after_hours_count}
    
    ## Recommendations
    {ai_recommendations}

Time Blocking Templates

Maker Schedule (Individual Contributor)
┌─────────────────────────────────────┐
│ 9:00 - 11:00  │ Deep Work Block 1  │
├─────────────────────────────────────┤
│ 11:00 - 11:30 │ Email/Slack        │
├─────────────────────────────────────┤
│ 11:30 - 12:30 │ Meetings Window    │
├─────────────────────────────────────┤
│ 12:30 - 1:30  │ Lunch              │
├─────────────────────────────────────┤
│ 1:30 - 3:30   │ Deep Work Block 2  │
├─────────────────────────────────────┤
│ 3:30 - 4:00   │ Buffer/Admin       │
├─────────────────────────────────────┤
│ 4:00 - 5:00   │ Meetings Window    │
├─────────────────────────────────────┤
│ 5:00 - 5:30   │ Daily Wrap-up      │
└─────────────────────────────────────┘
Manager Schedule
┌─────────────────────────────────────┐
│ 8:00 - 8:30   │ Daily Planning     │
├─────────────────────────────────────┤
│ 8:30 - 9:00   │ Team Standup       │
├─────────────────────────────────────┤
│ 9:00 - 12:00  │ 1:1s / Meetings    │
├─────────────────────────────────────┤
│ 12:00 - 1:00  │ Lunch              │
├─────────────────────────────────────┤
│ 1:00 - 2:00   │ Focus Time         │
├─────────────────────────────────────┤
│ 2:00 - 5:00   │ Meetings           │
├─────────────────────────────────────┤
│ 5:00 - 5:30   │ Email/Wrap-up      │
└─────────────────────────────────────┘

Output Example

Request: "Set up daily calendar digest for my Slack"

Output:

markdown
# Daily Calendar Digest Setup

## Workflow Configuration

```yaml
name: "Morning Calendar Briefing"
schedule: "6:00 AM weekdays"
timezone: "Asia/Shanghai"

trigger:
  type: cron
  expression: "0 6 * * 1-5"

actions:
  1. fetch_events:
      calendar: primary
      date: today
      
  2. send_slack:
      channel: "@you" # or #your-channel

Sample Output

☀️ Good morning! Here's your Thursday:

📅 January 30, 2026

━━━━━━━━━━━━━━━━━━━━━━

📊 Overview:
• 5 meetings (4.5h)
• 3.5h free time
• 1 back-to-back warning ⚠️

━━━━━━━━━━━━━━━━━━━━━━

🗓️ Schedule:

9:00 AM │ Team Standup (15m)
        │ 📞 Google Meet
        │
10:00 AM │ 1:1 with Sarah (30m)
         │ 👥 Conference Room B
         │
11:00 AM │ 🧠 Focus Time (2h)
         │ 
1:00 PM │ Lunch
        │
2:00 PM │ Client Call - Acme (1h)
        │ 🤝 Zoom (link attached)
        │
3:30 PM │ Product Review (1h)
        │ 📋 Agenda attached
        │
5:00 PM │ ✅ Day ends

━━━━━━━━━━━━━━━━━━━━━━

💡 Tip: You have 2h of focus time - tackle your highest priority task!

n8n Setup Instructions

  1. Create new workflow
  2. Add Schedule Trigger node (6am weekdays)
  3. Add Google Calendar node (Get Events)
  4. Add Code node (format message)
  5. Add Slack node (send message)
  6. Activate workflow

Would you like me to generate the full n8n workflow JSON?


---

*Calendar Automation Skill - Part of Claude Office Skills*

© claude-office-skills, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in calendar-automation of claude-office-skills/skills.

Open the folder on GitHubat commit 9c4c7d5

Compare with similar skills

Calendar Automation next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Calendar Automation compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Calendar Automation this skillclaude-office-skills/skills505—~2.7kAutomated safety check: PassMIT
Composio Cloud Toolsquarqlabs/argus279—~543Automated safety check: PassApache-2.0
Google Calendar Schedule Checkitseffi/agentic-os114—~467Automated safety check: PassMIT
Slack Message Checkitseffi/agentic-os114—~465Automated safety check: PassMIT
Flowhunt Skillsickn33/agentic-awesome-skills47k1 repos~1.3kAutomated safety check: PassMIT
Schedule With Google Calendaraiskillstore/marketplace433—~2.2kAutomated safety check: PassMIT-0

Similar skills

  • Composio Cloud Tools

    quarqlabs/argus

    Routes requests to external SaaS apps such as GitHub, Gmail, Google Calendar, Slack, Notion and Linear through cloud tools, with safeguards on irreversible actions.

    279 GitHub stars~543 tokensUpdated 4 mo ago
    Productivity & AutomationAuto-check passed
  • Check Google Calendar for today's schedule. An agent skill from itseffi/agentic-os.

    114 GitHub stars~467 tokensUpdated 3 days ago
    Productivity & AutomationAuto-check passed
  • Slack Message Check

    itseffi/agentic-os

    Check Slack for important messages and activity. An agent skill from itseffi/agentic-os.

    114 GitHub stars~465 tokensUpdated 3 days ago
    Productivity & AutomationAuto-check passed
  • Flowhunt Skill

    sickn33/agentic-awesome-skills

    Automation discovery audit skill. An agent skill from sickn33/agentic-awesome-skills.

    47k GitHub starsUsed in 1 repo~1.3k tokens
    Productivity & AutomationAuto-check passed
  • Schedule With Google Calendar

    aiskillstore/marketplace

    Schedule meetings, find free time, and manage Google Calendar — all connected to your contact network via Rarefriend.

    433 GitHub stars~2.2k tokensUpdated yesterday
    Productivity & AutomationAuto-check passed
  • Google Calendar via Telegram

    k1p1l0/claude-telegram-supercharged

    Manages Google Calendar from a Telegram chat: lists the schedule, creates and updates events, finds free time and sends daily briefings and reminders.

    132 GitHub stars~791 tokensUpdated 15 days ago
    Productivity & AutomationAuto-check passed

More from claude-office-skills/skills

All 12 skills in this repo
  • Airtable Automation

    claude-office-skills/skills

    Airtable database automation - views, automations, integrations, and workflow triggers

    505 GitHub stars~2.7k tokensUpdated 8 mo ago
    Auto-check passed
  • Academic Search

    claude-office-skills/skills

    Search and analyze academic literature. An agent skill from claude-office-skills/skills.

    505 GitHub stars~2.2k tokensUpdated 8 mo ago
    Auto-check passed
  • Ads Copywriter

    claude-office-skills/skills

    Multi-platform ad copy generation for Google Ads, Meta/Facebook, TikTok, LinkedIn with A/B testing variants

    505 GitHub stars~2.1k tokensUpdated 8 mo ago
    Auto-check passed
  • AI Agent Builder

    claude-office-skills/skills

    Build AI agents with tools, memory, and multi-step reasoning - ChatGPT, Claude, Gemini integration patterns

    505 GitHub stars~3.1k tokensUpdated 8 mo ago
    Auto-check passed
  • AI Slides

    claude-office-skills/skills

    Generate complete presentations with AI - from outline to polished slides

    505 GitHub stars~1.4k tokensUpdated 8 mo ago
    Auto-check passed
  • Batch Convert

    claude-office-skills/skills

    Batch convert documents between multiple formats using a unified pipeline

    505 GitHub stars~3.8k tokensUpdated 8 mo ago
    Auto-check passed

Questions about Calendar Automation

What does Calendar Automation do?

Google Calendar and Outlook automation - scheduling optimization, meeting workflows, time blocking, and Slack/Sheets integration. Calendar Automation is an agent skill from claude-office-skills/skills.

When should I use Calendar Automation?

Calendar Automation fits situations like: tasks that involve Calendar and scheduling.

How do I install Calendar Automation in Claude Code?

Run `npx skills add claude-office-skills/skills --skill calendar-automation -a claude-code`. Or copy the skill folder (calendar-automation in claude-office-skills/skills) into .claude/skills/calendar-automation in your project. Claude Code loads it when a task matches its description.

How do I install Calendar Automation in Codex?

Run `npx skills add claude-office-skills/skills --skill calendar-automation -a codex`. Or copy the skill folder (calendar-automation in claude-office-skills/skills) into .agents/skills/calendar-automation in your project. Codex loads it when a task matches its description.

Can I use Calendar Automation in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add claude-office-skills/skills --skill calendar-automation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/calendar-automation, .gemini/skills/calendar-automation, .github/skills/calendar-automation and .opencode/skills/calendar-automation in your project.

What does Calendar Automation need to run?

SKILL.md names no scripts, command-line tools or credentials: Calendar Automation is instructions for the agent only.

Does Calendar Automation access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Calendar Automation safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Calendar Automation use?

Calendar Automation is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Calendar Automation use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Calendar Automation?

Skills that share tags, products or a category with Calendar Automation: Composio Cloud Tools (quarqlabs/argus, 279 stars), Google Calendar Schedule Check (itseffi/agentic-os, 114 stars), Slack Message Check (itseffi/agentic-os, 114 stars) and Flowhunt Skill (sickn33/agentic-awesome-skills, 47k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Calendar Automation?

claude-office-skills (a GitHub organization) maintains it in claude-office-skills/skills, which has 505 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on January 31, 2026.

Source: claude-office-skills/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.