Agent skill

Calendar Ops Skill

by OpenLoaf in OpenLoaf/OpenLoaf

Triggers when the user wants to query or modify real calendar data: checking today's or this week's agenda, spotting conflicts, creating meetings, rescheduling, or deleting events.

AGPL-3.0Auto-check passedBackend & APIs

Install Calendar Ops Skill

skills CLI
$ npx skills add OpenLoaf/OpenLoaf --skill calendar-ops-skill -a claude-code

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

GitHub CLI
$ gh skill install OpenLoaf/OpenLoaf calendar-ops-skill --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/OpenLoaf/OpenLoaf.git skills-src && mkdir -p .claude/skills && cp -r skills-src/apps/server/src/ai/builtin-skills/calendar-ops/en .claude/skills/calendar-ops-skill && 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-ops-skill
GitHub stars
108
Token cost
~1.7k tokens
SKILL.md length
883 words
Files
1
Skills in repo
33
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Triggers when the user wants to query or modify real calendar data: checking today's or this week's agenda, spotting conflicts, creating meetings, rescheduling, or deleting events.

  • Works in 4 steps: Anchor the time first: run date… → Query the schedule: use CalendarQuery… → Sort by time when presenting, and call… → …
  • The user wants to query
  • SKILL.md covers Tool Roster, Decision Flow: What Does the…, Common Pitfalls and Tool Cheat Sheet
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Calendar Ops Skill is an agent skill from OpenLoaf/OpenLoaf. Triggers when the user wants to query or modify real calendar data: checking today's or this week's agenda, spotting conflicts, creating meetings, rescheduling, or deleting events. Typical phrasings include "what time is my meeting tomorrow", "book xx for me", or "schedule a meeting". Do not use for: casually mentioning times or countdowns in conversation (→ answer directly), or recurring background jobs like "run this script at 9am every day" (→ schedule-ops-skill).

Its SKILL.md is about 1.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 Backend & APIs, covering Background jobs. The repository describes itself as: 🍞Open-source, local-first AI workspace with Agents, multi-model chat (GPT/Claude/Gemini/DeepSeek), Notion-like docs, AI image & video generation, email, calendar & terminal…. The licence is AGPL-3.0.

When your agent uses it

  • The user wants to query
  • Modify real calendar data: checking todays
  • This weeks agenda
  • Spotting conflicts

Example prompts

  • “s or this week”
  • “what time is my meeting tomorrow”
  • “book xx for me”
  • “/calendar-ops-skill”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Anchor the time first: run date '+%Y-%m-%dT%H:%M:%S%z' via Bash to capture the current moment and timezone.
  2. Query the schedule: use CalendarQuery (mode: list-items) with rangeStart / rangeEnd (ISO 8601 must include the timezone offset, e.g…
  3. Sort by time when presenting, and call out conflicts and free slots. When the user asks "am I free", derive the free intervals from the…
  4. If multiple calendar sources are involved, you can pass sourceIds to filter specific calendars and avoid unrelated clutter (e.g. holiday…

What it can do on your machine

Read from SKILL.md and the folder at commit f7eccf6. 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.

    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 Ops Skill loads about 1.7k tokens when it runs. Until then it costs about 124 tokens; SKILL.md has 883 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~124
When it runs · the whole SKILL.md, loaded when a task matches
~1.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 OpenLoaf/OpenLoaf at commit f7eccf6, republished under its AGPL-3.0 licence (© OpenLoaf). 883 words, ~1,662 tokens.

Download SKILL.mdSave it as .claude/skills/calendar-ops-skill/SKILL.md (or your agent's skills folder).
name
calendar-ops-skill
description
Triggers when the user wants to query or modify real calendar data: checking today's or this week's agenda, spotting conflicts, creating meetings, rescheduling, or deleting events. Typical phrasings include "what time is my meeting tomorrow", "book xx for me", or "schedule a meeting". **Do not use for**: casually mentioning times or countdowns in conversation (→ answer directly), or recurring background jobs like "run this script at 9am every day" (→ schedule-ops-skill).

Calendar Operations Skill

Tool Roster

ToolResponsibilityRead-only
CalendarQueryQuery calendar sources / items (mode: list-sources / list-items / get-event, etc.)Yes
CalendarMutateCreate / update / delete calendar items (kind: event or reminder)No

Loading: Both are deferred tools. Activate their schemas with ToolSearch(names: "CalendarQuery,CalendarMutate") before calling.

Decision Flow: What Does the User Want?

Path A — Review schedule / check availability
  1. Anchor the time first: run date '+%Y-%m-%dT%H:%M:%S%z' via Bash to capture the current moment and timezone. Why? Relative expressions like "today" or "next Tuesday" only make sense once pinned to a concrete timezone — "10 AM" means entirely different instants for someone in Beijing versus New York, and an ISO 8601 string without an offset will silently drift between systems.
  2. Query the schedule: use CalendarQuery (mode: list-items) with rangeStart / rangeEnd (ISO 8601 must include the timezone offset, e.g. +08:00). If the user just says "show me today's agenda", the range is 00:00:00 to 23:59:59 of today; for "what's on this week", expand to the full week. Better to query slightly wider than to miss events at the edges.
  3. Sort by time when presenting, and call out conflicts and free slots. When the user asks "am I free", derive the free intervals from the query result.
  4. If multiple calendar sources are involved, you can pass sourceIds to filter specific calendars and avoid unrelated clutter (e.g. holiday calendars).
Path B — Create an event or reminder

Why must conflicts be checked before creating? Because double-booking wastes everyone's time and makes the user look unprofessional.

  1. Fetch the sourceId: call CalendarQuery (mode: list-sources) first to get the list of available calendar sources. Why? sourceId is a required field at creation time — guessing it will always fail. If a sourceId was already obtained earlier in the conversation and is still valid, you may reuse it.
  2. Check for conflicts: use CalendarQuery (mode: list-items) to see whether the target time slot is already taken.
  3. Conflict found → tell the user the conflict details and suggest an alternative slot. Never silently skip the conflict and create anyway. A good approach is to recommend the nearest free slots before and after the conflict so the user can choose with one tap.
  4. No conflict → create with CalendarMutate (action: create). Pick kind: event (a scheduled item with clear start/end times) or reminder (better suited to to-do-style content).
Path C — Modify an event
  1. Locate the target first: search with CalendarQuery (mode: list-items) to confirm the itemId. Why? When the user says "move the afternoon meeting to 3 PM", you need to pinpoint which specific event is meant — fuzzy matching may alter the wrong item.
  2. If the change involves timing, check the new slot for conflicts — same rationale as Path B.
  3. Call CalendarMutate (action: update) with the itemId plus only the fields to change. Only send the fields that actually change; do not resubmit everything.
Path D — Delete an event
  1. Locate the target first and confirm the itemId.
  2. Confirm with the user before running CalendarMutate (action: delete). Deletion is irreversible and requires explicit consent. If multiple similar events match, list the candidates and let the user pick.
Show full SKILL.md (363 more words)Show less
Path E — Toggle completion state

Use CalendarMutate (action: toggle-completed) with an itemId and a completed boolean. Primarily intended for reminder-type items.

Common Pitfalls

Timezone confusion (the most frequent mistake)

All times must use ISO 8601 with an explicit timezone offset (e.g. +08:00, -05:00). Always run date via Bash first to determine the current time and timezone — never assume UTC or any default. A bare 2026-03-20T10:00:00 without an offset will be interpreted differently by different systems, and events will land at the wrong time.

Relative time references

"Next Tuesday", "the day after tomorrow in the afternoon", "end of this month" — run date via Bash first, then compute the absolute time yourself. Note that "next Tuesday" means different dates depending on whether you say it on Monday or Wednesday, and month/year boundaries are easy to miscalculate. When an expression is ambiguous, ask the user to clarify.

Forgetting to look up sourceId

The create action of CalendarMutate requires sourceId. Creating without first calling list-sources guarantees an error. Users often have several calendar sources (work, personal, shared) — pick the right one.

All-day events

All-day events need allDay: true. Still provide start and end times, covering 00:00:00 to 23:59:59 of that day (with the timezone offset).

Query range too narrow

When the user says "what's coming up soon", don't query only the current day. Broaden the range appropriately (the next 3–7 days) and group the results by day for clarity.

Multiple similar events

When the user says "delete that meeting" but the query returns several matches, you must list the candidates and let the user choose — never guess. The cost of guessing wrong is far higher than asking once more. The same applies to updates.

Missing key information on creation

When the user says "book me a meeting" without specifying the time, location, or attendees, do not fill in defaults — proactively ask for the missing critical fields. An incomplete event causes more confusion than no event at all.

Tool Cheat Sheet

ToolPurpose
CalendarQueryTwo modes: list-sources to list calendar sources, list-items to query items by time range
CalendarMutateFour actions: create, update, delete, toggle-completed

The kind field on CalendarMutate create: event (calendar event) or reminder (reminder item).

© OpenLoaf, AGPL-3.0. 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 apps/server/src/ai/builtin-skills/calendar-ops/en of OpenLoaf/OpenLoaf.

Open the folder on GitHubat commit f7eccf6

Compare with similar skills

Calendar Ops Skill 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 Ops Skill compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Calendar Ops Skill this skillOpenLoaf/OpenLoaf108—~1.7kAutomated safety check: PassAGPL-3.0
Trigger.dev Configurationpapermark/papermark9.2k—~1.2kAutomated safety check: PassCustom licence
FoundatioFoundatioFx/Foundatio2.1k—~3.9kAutomated safety check: PassApache-2.0
Laravel SpecialistJeffallan/claude-skills12k1 repos~2.1kAutomated safety check: PassMIT
Trigger.dev Realtimepapermark/papermark9.2k—~1.7kAutomated safety check: PassCustom licence
NubaseOtterMind/Nubase623—~2.2kAutomated safety check: NotesApache-2.0

Similar skills

  • Trigger.dev Configuration

    papermark/papermark

    Configures Trigger.dev projects through trigger.config.ts, with build extensions for Prisma, Playwright, Puppeteer, FFmpeg, Python and system packages.

    9.2k GitHub stars~1.2k tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed
  • Foundatio

    FoundatioFx/Foundatio

    A skill your agent uses when working with Foundatio infrastructure abstractions for .NET -- caching, queuing, messaging, file storage, distributed locking, or background jobs.

    2.1k GitHub stars~3.9k tokensUpdated today
    Backend & APIsAuto-check passed
  • Laravel Specialist

    Jeffallan/claude-skills

    Builds Laravel 10+ applications with Eloquent models, Sanctum authentication, Horizon queues, API resources and Livewire components, tested with Pest or PHPUnit.

    12k GitHub starsUsed in 1 repo~2.1k tokens
    Backend & APIsAuto-check passed
  • Trigger.dev Realtime

    papermark/papermark

    Shows how to subscribe to Trigger.dev task runs from the backend and from React for progress indicators, live dashboards, AI response streams and approval waits.

    9.2k GitHub stars~1.7k tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed
  • Nubase

    OtterMind/Nubase

    A skill your agent uses when the user mentions Nubase broadly, wants a backend for an AI-generated app, or needs to deploy/publish generated code online — across Database, Auth, Storage, Assets…

    623 GitHub stars~2.2k tokensUpdated 10 days ago
    Backend & APIsAuto-check: notes
  • AI Model Nodejs

    TencentCloudBase/CloudBase-AI-Toolkit

    A skill your agent uses for Node.js backend AI via @cloudbase/node-sdk (=3.16.0) — cloud functions, CloudRun, Express/Koa/NestJS, serverless APIs, scheduled jobs, LLM proxies, agent orchestration.

    1.1k GitHub starsUsed in 2 repos~5k tokens
    Backend & APIsAuto-check passed

More from OpenLoaf/OpenLoaf

All 33 skills in this repo
  • Agent Orchestration Skill

    OpenLoaf/OpenLoaf

    Triggers when the master Agent faces a multi-step complex task and is deciding whether / how to outsource sub-tasks to built-in subagents (browser / doc-editor / data-analyst / extractor /…

    108 GitHub stars~1.9k tokensUpdated 4 mo ago
    Auto-check passed
  • Browser Ops Skill

    OpenLoaf/OpenLoaf

    Triggered when the user asks for page-level interaction with a specific webpage: login, form filling, button clicks, pagination scraping, screenshots, downloading page images, handling CAPTCHAs or…

    108 GitHub stars~1.5k tokensUpdated 4 mo ago
    Auto-check passed
  • Canvas Ops Skill

    OpenLoaf/OpenLoaf

    Triggered when the user wants lifecycle management of OpenLoaf canvases / whiteboards: create, open, filter, duplicate, delete, rename, or change ownership.

    108 GitHub stars~1.4k tokensUpdated 4 mo ago
    Auto-check passed
  • Reads, edits, converts and reviews Word documents through three dedicated tools, covering tracked changes, comments, tables, images and format conversion.

    108 GitHub stars~1.9k tokensUpdated 4 mo ago
    Auto-check passed
  • Email Operations

    OpenLoaf/OpenLoaf

    Handles a real email account through query and mutate tools: check the inbox, read, search, reply, forward, compose and organize, with sending always confirmed first.

    108 GitHub stars~1.8k tokensUpdated 4 mo ago
    Auto-check passed
  • macOS Desktop Control

    OpenLoaf/OpenLoaf

    Guides an agent to operate native macOS apps by surveying an app first, acting through intents, menus or keystrokes, and verifying each step, in OpenLoaf Desktop only.

    108 GitHub stars~2.4k tokensUpdated 4 mo ago
    Auto-check passed

Categories

Questions about Calendar Ops Skill

What does Calendar Ops Skill do?

Triggers when the user wants to query or modify real calendar data: checking today's or this week's agenda, spotting conflicts, creating meetings, rescheduling, or deleting events. Calendar Ops Skill is an agent skill from OpenLoaf/OpenLoaf. Triggers when the user wants to query or modify real calendar data: checking today's or this week's agenda, spotting conflicts, creating meetings, rescheduling, or deleting events.

When should I use Calendar Ops Skill?

Calendar Ops Skill fits situations like: the user wants to query; modify real calendar data: checking todays; this weeks agenda; spotting conflicts.

How do I install Calendar Ops Skill in Claude Code?

Run `npx skills add OpenLoaf/OpenLoaf --skill calendar-ops-skill -a claude-code`. Or copy the skill folder (apps/server/src/ai/builtin-skills/calendar-ops/en in OpenLoaf/OpenLoaf) into .claude/skills/calendar-ops-skill in your project. Claude Code loads it when a task matches its description.

How do I install Calendar Ops Skill in Codex?

Run `npx skills add OpenLoaf/OpenLoaf --skill calendar-ops-skill -a codex`. Or copy the skill folder (apps/server/src/ai/builtin-skills/calendar-ops/en in OpenLoaf/OpenLoaf) into .agents/skills/calendar-ops-skill in your project. Codex loads it when a task matches its description.

Can I use Calendar Ops Skill 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 OpenLoaf/OpenLoaf --skill calendar-ops-skill -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-ops-skill, .gemini/skills/calendar-ops-skill, .github/skills/calendar-ops-skill and .opencode/skills/calendar-ops-skill in your project.

What does Calendar Ops Skill need to run?

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

Does Calendar Ops Skill 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 Ops Skill 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 Ops Skill use?

Calendar Ops Skill is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Calendar Ops Skill use?

About 1.7k tokens (SKILL.md is roughly 6.6k 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 Ops Skill?

Skills that share tags, products or a category with Calendar Ops Skill: Trigger.dev Configuration (papermark/papermark, 9.2k stars), Foundatio (FoundatioFx/Foundatio, 2.1k stars), Laravel Specialist (Jeffallan/claude-skills, 12k stars) and Trigger.dev Realtime (papermark/papermark, 9.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Calendar Ops Skill?

OpenLoaf (a GitHub organization) maintains it in OpenLoaf/OpenLoaf, which has 108 GitHub stars. The repository holds 33 skills in this directory. The repository was last updated on May 14, 2026.

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