CA

Provides a calendar UI to visualize schedules and select meeting times across multiple users.

Install

mkdir -p .claude/skills/calendar && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/5915" && unzip -o skill.zip -d .claude/skills/calendar && rm skill.zip

Installs to .claude/skills/calendar

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Calendar canvas for displaying events and picking meeting times.
Use when showing calendar views or when users need to select available time slots.
147 chars · catalog description✓ has a “when” trigger
Beginner

Key capabilities

  • Display interactive calendar views
  • Navigate between days and weeks
  • Select free time slots for meetings
  • Visualize event overlaps with color-coding
  • Configure time slot granularity and duration

How it works

The skill provides a CLI-based calendar canvas that renders events from a configuration file. It uses IPC to communicate user selections back to the host environment.

Inputs & outputs

You give it
JSON configuration containing events, calendar names, and slot constraints
You get back
ISO datetime range and duration of the selected meeting

When to use calendar

  • Display a weekly schedule
  • Select a 1-hour free slot for a team meeting
  • Visualize event overlaps between team members
  • Block time on a shared calendar

About this skill

Calendar Canvas

Display calendar views and enable interactive meeting time selection.

Example Prompts

Try asking Claude:

  • "Schedule a 30-minute meeting with Alice and Bob sometime next week"
  • "Find a time when the engineering team is all free on Tuesday"
  • "Show me my calendar for this week"
  • "When is everyone available for a 1-hour planning session?"
  • "Block off 2-4pm on Friday for focused work"

Scenarios

display (default)

View-only calendar display. User can navigate weeks but cannot select times.

bun run src/cli.ts show calendar --scenario display --config '{
  "title": "My Week",
  "events": [
    {"id": "1", "title": "Meeting", "startTime": "2025-01-06T09:00:00", "endTime": "2025-01-06T10:00:00"}
  ]
}'

meeting-picker

Interactive scenario for selecting a free time slot when viewing multiple people's calendars.

  • Shows multiple calendars overlaid with different colors
  • User can click on free slots to select a meeting time
  • Selection is sent back via IPC
  • Supports configurable time slot granularity (15/30/60 min)
bun run src/cli.ts spawn calendar --scenario meeting-picker --config '{
  "calendars": [
    {
      "name": "Alice",
      "color": "blue",
      "events": [
        {"id": "1", "title": "Standup", "startTime": "2025-01-06T09:00:00", "endTime": "2025-01-06T09:30:00"}
      ]
    },
    {
      "name": "Bob",
      "color": "green",
      "events": [
        {"id": "2", "title": "Call", "startTime": "2025-01-06T14:00:00", "endTime": "2025-01-06T15:00:00"}
      ]
    }
  ],
  "slotGranularity": 30,
  "minDuration": 30,
  "maxDuration": 120
}'

Configuration

Display Config

interface CalendarConfig {
  title?: string;
  events: CalendarEvent[];
}

interface CalendarEvent {
  id: string;
  title: string;
  startTime: string;  // ISO datetime
  endTime: string;    // ISO datetime
  color?: string;     // blue, green, red, yellow, magenta, cyan
}

Meeting Picker Config

interface MeetingPickerConfig {
  calendars: Calendar[];
  slotGranularity?: number;  // 15, 30, or 60 minutes (default: 30)
  minDuration?: number;      // Minimum meeting duration in minutes
  maxDuration?: number;      // Maximum meeting duration in minutes
}

interface Calendar {
  name: string;              // Person's name
  color: string;             // Calendar color
  events: CalendarEvent[];   // Their busy times
}

Controls

Display scenario:

  • ←/→ or h/l: Navigate between days
  • n or PageDown: Next week
  • p or PageUp: Previous week
  • t: Jump to today
  • q or Esc: Quit

Meeting picker scenario:

  • Mouse click: Select a free time slot
  • ←/→: Navigate weeks
  • t: Jump to today
  • q or Esc: Cancel selection

Selection Result

interface MeetingSelection {
  startTime: string;  // ISO datetime
  endTime: string;    // ISO datetime
  duration: number;   // Minutes
}

API Usage

import { pickMeetingTime } from "${CLAUDE_PLUGIN_ROOT}/src/api";

const result = await pickMeetingTime({
  calendars: [
    { name: "Alice", color: "blue", events: [...] },
    { name: "Bob", color: "green", events: [...] },
  ],
  slotGranularity: 30,
});

if (result.success && result.data) {
  console.log(`Selected: ${result.data.startTime} - ${result.data.endTime}`);
}

When not to use it

  • Performing view-only tasks in the meeting-picker scenario
  • Managing complex recurring event logic

Prerequisites

bun

Limitations

  • Display scenario does not support time selection
  • Limited to predefined color options

How it compares

Unlike static calendar displays, this tool provides an interactive interface for selecting specific time slots across multiple user schedules.

Compared to similar skills

calendar side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
calendar (this skill)17moReviewBeginner
concept03moNo flagsAdvanced
ui-ux-pro-max1,9095moReviewIntermediate
drawio-diagrams-enhanced1,3209moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

concept

TVJunkie724

>

00

ui-ux-pro-max

nextlevelbuilder

UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient.

1,9092,023

drawio-diagrams-enhanced

jgtolentino

Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.

1,3201,999

svg-precision

dkyazzentwatwa

Deterministic SVG generation, validation, and rendering. Use for icons, diagrams, charts, UI mockups, or technical drawings requiring structural correctness and cross-viewer compatibility.

5271,229

mobile-ios-design

wshobson

Master iOS Human Interface Guidelines and SwiftUI patterns for building native iOS apps. Use when designing iOS interfaces, implementing SwiftUI views, or ensuring apps follow Apple's design principles.

272711

openscad

mitsuhiko

Create and render OpenSCAD 3D models. Generate preview images from multiple angles, extract customizable parameters, validate syntax, and export STL files for 3D printing platforms like MakerWorld.

154305

Search skills

Search the agent skills registry