← Back to Skills Marketplace
billylui

calendar-scheduling

by Billy Lui · GitHub ↗ · v0.9.1 · MIT-0
cross-platform ⚠ suspicious
1214
Downloads
2
Stars
6
Active Installs
20
Versions
Install in OpenClaw
/install calendar-scheduling
Description
Schedule meetings, check availability, and manage calendars across Google, Outlook, and CalDAV. Routes to focused sub-skills for datetime resolution and cale...
README (SKILL.md)

Temporal Cortex — Calendar Scheduling Router

This is the router skill for Temporal Cortex calendar operations. It routes your task to the right sub-skill based on intent.

Who is this for?

If you're an individual user (Claude Desktop, Cursor, OpenClaw, Manus) — install this skill and let your AI agent manage your calendar. Connect your Google, Outlook, or CalDAV calendars, and the agent handles availability, scheduling, and booking without double-booking.

If you're building a product with scheduling — use the same MCP server as your scheduling backend. 18 tools, atomic booking via Two-Phase Commit, and cross-provider availability merging. See the REST API reference and Platform docs for developer integration.

Source & Provenance

Sub-Skills

Sub-Skill When to Use Tools
temporal-cortex-datetime Time resolution, timezone conversion, duration math. No credentials needed — works immediately. 5 tools (Layer 1)
temporal-cortex-scheduling List calendars, events, free slots, availability, RRULE expansion, booking, contact search, and proposal composition. Requires OAuth credentials. 14 tools (Layers 0-4)

Routing Table

User Intent Route To
"What time is it?", "Convert timezone", "How long until..." temporal-cortex-datetime
"Show my calendar", "Find free time", "Check availability", "Expand recurring rule" temporal-cortex-scheduling
"Book a meeting", "Schedule an appointment" temporal-cortex-scheduling
"Find someone's booking page", "Look up email for scheduling" temporal-cortex-scheduling
"Search my contacts for Jane", "Find someone's email" temporal-cortex-scheduling
"How should I schedule with this person?" temporal-cortex-scheduling
"Check someone else's availability", "Query public availability" temporal-cortex-scheduling
"Book a meeting with someone externally", "Request booking via Temporal Link" temporal-cortex-scheduling
"Send a scheduling proposal", "Compose meeting invite" temporal-cortex-scheduling
"Schedule a meeting next Tuesday at 2pm" (full workflow) temporal-cortex-datetimetemporal-cortex-scheduling
"Schedule with Jane" (end-to-end) temporal-cortex-scheduling (contact search → resolve → propose/book)

Core Workflow

Every calendar interaction follows this 7-step pattern:

0. Resolve Contact  →  search_contacts → resolve_contact   (find the person, determine scheduling path)
1. Discover         →  list_calendars                       (know which calendars are available)
2. Orient           →  get_temporal_context                  (know the current time)
3. Resolve Time     →  resolve_datetime                     (turn human language into timestamps)
4. Route            →  If open_scheduling: fast path. If email: backward-compat path.
5. Query            →  list_events / find_free_slots / get_availability / query_public_availability
6. Act              →  Fast: check_availability → book_slot / request_booking
                       Backward-compat: compose_proposal → agent sends via channel MCP

Step 0 is optional — skip if the user provides an email directly. Always start with step 1 when calendars are unknown. Never assume the current time. Never skip the conflict check before booking.

Safety Rules

  1. Discover calendars first — call list_calendars when you don't know which calendars are connected
  2. Check before booking — always call check_availability before book_slot. Never skip the conflict check.
  3. Content safety — all event summaries and descriptions pass through a prompt injection firewall before reaching the calendar API
  4. Timezone awareness — never assume the current time. Use get_temporal_context first.
  5. Confirm before booking — when running autonomously, present booking details to the user for confirmation before calling book_slot or request_booking.
  6. Confirm contact selection — when search_contacts returns multiple matches, always present candidates to the user and confirm which contact is correct before proceeding.
  7. Confirm before sending proposals — when using compose_proposal, always present the composed message to the user before sending via any channel. Never auto-send outreach.
  8. Contact search is optional — the full workflow works without it if the user provides an email directly. If contacts permission is not configured, ask the user for the email.

All 18 Tools (5 Layers)

Layer Tools Sub-Skill
0 — Discovery resolve_identity, search_contacts, resolve_contact scheduling
1 — Temporal Context get_temporal_context, resolve_datetime, convert_timezone, compute_duration, adjust_timestamp datetime
2 — Calendar Ops list_calendars, list_events, find_free_slots, expand_rrule, check_availability scheduling
3 — Availability get_availability, query_public_availability scheduling
4 — Booking book_slot, request_booking, compose_proposal scheduling

MCP Server Connection

All sub-skills share the Temporal Cortex MCP server (@temporal-cortex/cortex-mcp), a compiled Rust binary distributed as an npm package.

Install and startup lifecycle:

  1. npx resolves @temporal-cortex/cortex-mcp from the npm registry (one-time, cached locally after first download)
  2. The postinstall script downloads the platform-specific binary from the GitHub Release and verifies its SHA256 checksum against the embedded checksums.jsoninstallation halts on mismatch
  3. The MCP server starts as a local process communicating over stdio (no listening ports)
  4. Layer 1 tools (datetime) execute as pure local computation — no further network access
  5. Layer 2-4 tools (calendar) make authenticated API calls to your configured providers (Google, Outlook, CalDAV)

Credential storage: OAuth tokens are stored locally at ~/.config/temporal-cortex/credentials.json and read exclusively by the local MCP server process. No credential data is transmitted to Temporal Cortex servers. The binary's filesystem access is limited to ~/.config/temporal-cortex/ — verifiable by inspecting the open-source Rust code or running under Docker where the mount is the only writable path.

File access: The binary reads and writes only ~/.config/temporal-cortex/ (credentials and config). No other filesystem writes.

Network scope: After the initial npm download, Layer 1 tools make zero network requests. Layer 2–4 tools connect only to your configured calendar providers (googleapis.com, graph.microsoft.com, or your CalDAV server). In Local Mode (default), no calls to Temporal Cortex servers and no telemetry is collected. In Platform Mode, three tools (resolve_identity, query_public_availability, request_booking) call api.temporal-cortex.com for cross-user scheduling — no credential data is included in these calls.

Pre-run verification (recommended before first use):

  1. Inspect the npm package without executing: npm pack @temporal-cortex/cortex-mcp --dry-run
  2. Verify checksums independently against the GitHub Release (see verification pipeline below)
  3. For full containment, run in Docker instead of npx (see Docker containment below)

Verification pipeline: Checksums are published independently at each GitHub Release as SHA256SUMS.txt — verify the binary before first use:

# 1. Fetch checksums from GitHub (independent of the npm package)
curl -sL https://github.com/temporal-cortex/mcp/releases/download/mcp-v0.9.1/SHA256SUMS.txt

# 2. Compare against the npm-installed binary
shasum -a 256 "$(npm root -g)/@temporal-cortex/cortex-mcp/bin/cortex-mcp"

As defense-in-depth, the npm package also embeds checksums.json and the postinstall script compares SHA256 hashes during install — installation halts on mismatch (the binary is deleted, not executed). This automated check supplements, but does not replace, independent verification above.

Build provenance: Binaries are cross-compiled from auditable Rust source in GitHub Actions across 5 platforms (darwin-arm64, darwin-x64, linux-x64, linux-arm64, win32-x64). Source: github.com/temporal-cortex/mcp (MIT-licensed). The CI workflow, build artifacts, and release checksums are all publicly inspectable.

Docker containment (no Node.js on host, credential isolation via volume mount):

{
  "mcpServers": {
    "temporal-cortex": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "-v", "~/.config/temporal-cortex:/root/.config/temporal-cortex", "cortex-mcp"]
    }
  }
}

Build: docker build -t cortex-mcp https://github.com/temporal-cortex/mcp.git

Default setup (npx): See .mcp.json for the standard npx @temporal-cortex/cortex-mcp configuration. For managed hosting, see Platform Mode in the MCP repo.

Layer 1 tools work immediately with zero configuration. Calendar tools require a one-time OAuth setup — run the setup script or npx @temporal-cortex/cortex-mcp auth google.

Additional References

  • Security Model — Content sanitization, filesystem containment, network scope, tool annotations
Usage Guidance
This skill is internally coherent for calendar scheduling but depends on installing and running an MCP binary from npm that will store OAuth tokens under ~/.config/temporal-cortex/. Before installing: 1) Verify the npm package and GitHub repository: inspect the package contents, release tags, and maintainers on npm/github; prefer installing via Docker if available to contain the binary. 2) Confirm the registry metadata (source/homepage) — metadata mismatch is a red flag. 3) Treat ~/.config/temporal-cortex/credentials.json as sensitive: create it only after reviewing the binary and avoid reusing high-privilege account tokens. 4) If you need strict privacy, run the MCP server in an isolated environment (Docker or VM) and keep Platform Mode off unless you explicitly need cross-user features. 5) If you cannot audit the binary, do not install it into a production environment or a machine with other sensitive accounts. If you want, I can enumerate the concrete commands to inspect the npm package and GitHub repo before you install.
Capability Analysis
Type: OpenClaw Skill Name: calendar-scheduling Version: 0.9.1 The calendar-scheduling skill is a well-documented tool for managing Google, Outlook, and CalDAV calendars via a Rust-based MCP server (@temporal-cortex/cortex-mcp). It demonstrates strong security practices, including local-only credential storage in ~/.config/temporal-cortex/, automated SHA256 checksum verification during installation, and a built-in 'prompt injection firewall' for event content. The instructions in SKILL.md are focused on safety workflows, such as requiring user confirmation before booking or sending proposals, and the network scope is transparently limited to calendar providers and an optional platform API (api.temporal-cortex.com) for cross-user scheduling.
Capability Assessment
Purpose & Capability
The skill name and description (calendar scheduling across Google/Outlook/CalDAV) align with the declared requirements: it needs a local MCP server binary and OAuth credentials stored under ~/.config/temporal-cortex/. However registry metadata at the top of the package record says Source: unknown and Homepage: none while the SKILL.md includes a homepage and repo links — this metadata mismatch is an inconsistency that should be resolved before trust is assumed.
Instruction Scope
SKILL.md is instruction-only and stays within scheduling tasks (list_calendars, resolve_datetime, book_slot, etc.) and explicitly limits filesystem access to ~/.config/temporal-cortex/. It does not instruct reading other system files or extra env vars. The remaining concern is that the instructions rely heavily on a shipped MCP binary — the binary's runtime behavior (network endpoints, telemetry, exact FS access) is asserted in the SECURITY-MODEL.md but cannot be verified from the instruction text alone.
Install Mechanism
Installation comes from an npm package (@temporal-cortex/[email protected]) that creates a cortex-mcp binary. Installing and running a third‑party native binary from npm is a moderate-to-high risk operation because the package can execute arbitrary code and make network calls. SKILL.md mentions Docker as an alternative (safer containment) but the primary install path uses npx/node. The package source is claimed (GitHub) in SKILL.md, but the registry metadata earlier reported 'Source: unknown' — this discrepancy should be reconciled and the actual npm package contents and release provenance audited before installing.
Credentials
No environment variables are requested, which is reasonable. The skill declares two required config paths (~/.config/temporal-cortex/credentials.json and config.json) — that is proportional for a calendar tool that must store OAuth tokens and settings. The main risk is that those files will contain sensitive OAuth tokens; the SECURITY-MODEL claims no other files are accessed and that platform mode does not include credential data in server calls, but those are assertions tied to the MCP binary implementation and should be verified.
Persistence & Privilege
always:false (normal). The skill is user-invocable and allows autonomous invocation (platform default). That is expected for a scheduling skill, but because the installed MCP binary can create events (book_slot) and may make network calls, autonomous invocation increases blast radius — ensure confirmation flows and platform mode are configured to your preference before allowing autonomous runs.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install calendar-scheduling
  3. After installation, invoke the skill by name or use /calendar-scheduling
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.9.1
Release v0.9.1
v0.8.1
Release v0.8.1
v0.8.0
Release v0.8.0
v0.7.9
Release v0.7.9
v0.7.8
Release v0.7.8
v0.7.7
Release v0.7.7
v0.7.6
Release v0.7.6
v0.5.0
**v0.5.0 is a major update focused on multi-calendar support and usability enhancements.** - Adds required calendar discovery step with the new `list_calendars` tool; all workflows begin by discovering connected calendars. - Tool set expanded to 12 tools across 5 conceptual layers, including a new Discovery layer for calendar metadata. - TOON format is now default for relevant tools, improving efficiency and lowering token consumption. - Updated workflow steps and critical rules for multi-calendar workflows and provider-prefixed calendar IDs. - Documentation and presets updated to reflect new patterns, tool parameters, and error handling based on connected calendars. - Homepage updated to https://temporal-cortex.com.
v0.4.5
- Updated version to 0.4.5 in metadata. - No user-facing feature or tool changes. - Documentation and configuration files refreshed; no workflow or API alterations.
v0.4.4
- Bumped version to 0.4.4. - Updated metadata in SKILL.md to reflect the new version. - No functional or workflow changes; documentation and configuration unchanged apart from version.
v0.4.3
- Shortened and clarified the skill description and top-level instructions for easier understanding. - Bumped version to 0.4.3 and updated metadata. - Minor documentation refinements; no workflow or tool changes. - No breaking changes or new requirements.
v0.4.2
- Added homepage and repository links to the metadata for easier reference. - Updated skill version to 0.4.2. - Adjusted required and optional environment variables in metadata for clarity and flexibility. - Minor documentation improvements for maintainability and accuracy.
v0.4.1
calendar-scheduling v0.4.1 - Openclaw requirements now use TIMEZONE and WEEK_START env vars, improving configuration consistency. - The openclaw primary environment is updated from GOOGLE_CLIENT_ID to TIMEZONE. - Documentation and metadata updated to match new requirements. - No changes to workflow, features, or API usage.
v0.4.0
- Bumped version to 0.4.0. - Updated SKILL.md to clarify managed cloud setup instructions. - No functional or workflow changes; documentation is improved for managed cloud onboarding.
v0.3.6
- Added expanded `openclaw` compatibility requirements to metadata, specifying environment variables, config files, and supported binaries. - Bumped version to 0.3.6. - No functional or API changes; documentation and metadata update only.
v0.3.5
calendar-scheduling v0.3.5 - Bumped version to 0.3.5 in SKILL.md metadata. - No functional or documentation changes beyond the version update.
v0.3.4
calendar-scheduling v0.3.4 - Expanded environment variable and credential support for configuration and cloud environments. - Updated documentation to reflect new required/optional environment variables and credentials. - Clarified credential file usage for both local and managed cloud setups.
v0.3.3
- Added new requirements and environment details in SKILL.md, specifying optional Python 3 support for configure/status scripts and details about OAuth credential storage. - Updated skill metadata to list required/optional binaries, environment variables, and credential paths. - Improved clarity in compatibility section to reflect Python 3 and Docker as optional dependencies. - Minor documentation and metadata enhancements for system integration and setup visibility.
v0.3.2
- Version bump to 0.3.2. - Added .mcp.json sample configuration file for MCP server connection. - Updated documentation in SKILL.md to reference and explain the new .mcp.json configuration. - No functional/API changes; documentation and setup improvements only.
v0.3.1
- Initial release of the calendar-scheduling skill for AI agents. - Supports natural language date/time resolution, conflict detection, and cross-calendar availability merging (Google, Outlook, CalDAV). - Implements atomic booking with Two-Phase Commit safety. - Provides 11 procedural tools across four workflow layers: temporal context, calendar operations, availability, and booking. - Includes detailed usage patterns, error-handling guidance, and setup instructions for local or cloud MCP server connection.
Metadata
Slug calendar-scheduling
Version 0.9.1
License MIT-0
All-time Installs 6
Active Installs 6
Total Versions 20
Frequently Asked Questions

What is calendar-scheduling?

Schedule meetings, check availability, and manage calendars across Google, Outlook, and CalDAV. Routes to focused sub-skills for datetime resolution and cale... It is an AI Agent Skill for Claude Code / OpenClaw, with 1214 downloads so far.

How do I install calendar-scheduling?

Run "/install calendar-scheduling" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is calendar-scheduling free?

Yes, calendar-scheduling is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does calendar-scheduling support?

calendar-scheduling is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created calendar-scheduling?

It is built and maintained by Billy Lui (@billylui); the current version is v0.9.1.

💬 Comments