wecomcli-calendar

Create, search, update, and cancel WeCom calendar schedules via the wecom-cli tool.

287|46|Updated Feb 5, 2026
One-click install
npx skills add https://github.com/YanHaidao/wecom --skill wecomcli-calendar-yanhaidao
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: wecomcli-calendar
Source: https://github.com/YanHaidao/wecom/tree/main/skills/wecomcli-calendar
Command: npx skills add https://github.com/YanHaidao/wecom --skill wecomcli-calendar-yanhaidao

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Managing WeCom (Enterprise WeChat) schedules manually through the client is slow when you need to book meetings, check colleagues' availability, reserve meeting rooms, or reschedule events. This Skill lets an AI assistant perform all schedule operations conversationally through the wecom-cli tool, with built-in disambiguation between plain schedules and online meetings. ## Core Features & Use Cases - Full schedule lifecycle: Create, list, search, update, and cancel WeCom schedules, including all-day events, attendee management, and timezone-aware time display. - Availability and meeting rooms: Query free/busy slots across multiple attendees to find common free time, and search buildings/meeting rooms to atomically book a room when creating a schedule. - Schedule vs. meeting disambiguation: Detects whether a request means a plain schedule or an online meeting (with meeting link), asks a fixed clarifying question when ambiguous, and routes meeting-linked items to the wecomcli-meeting skill. - Use Case: Ask "Help me schedule a project review with Zhang San and Li Si tomorrow afternoon and book a meeting room" — the Skill resolves names to userids via the contact skill, checks common free slots, verifies room availability, and creates the schedule with the room occupied. ## Quick Start Ask the assistant to create a WeCom schedule, for example: schedule a one-hour product review with a named colleague tomorrow at 3 PM and book meeting room 1605.

Frequently Asked Questions about wecomcli-calendar

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a WeCom schedule with attendees?

Provide the subject, start and end times, and attendee names. Names are resolved to wo-prefixed userids through the wecomcli-contact skill, then wecom-cli calendar schedules create is called with an attendees object array like [{"userid": "woxxx"}].

How do I find a common free time for multiple colleagues in WeCom?

Use the free list query with all attendees' userids and a time window of up to 24 hours. It returns recommended slots with available and busy users, including degraded results when not everyone is free, so you can pick a time before creating the schedule.

Can this skill create or cancel recurring WeCom schedules?

No. Creating, updating, and canceling recurring (repeating) schedules is not supported by the API. When a schedule has repeat_rule.is_repeat=true, the skill tells the user to manage it manually in the WeCom client instead of attempting workarounds.

What is the difference between a schedule and a meeting in this skill?

This skill handles schedules without online meeting links, including purely offline face-to-face meetings. Anything requiring a meeting code, join link, or remote/video attendance is routed to the wecomcli-meeting skill, and ambiguous create requests trigger a fixed clarifying question.

How do I book a meeting room when creating a WeCom schedule?

The skill queries buildings list and rooms search with the schedule's time slot to find a bookable room, then passes its meeting_room_id to the create call for atomic room occupation. Room IDs are never shown to users; only room names are displayed.

Why can't I query schedules older than a month?

The schedules list API only covers a window of 30 days before and after the current moment. Requests outside that range return nothing, so the skill asks the user to provide a shorter time range within the supported window.