scheduling
Installation
SKILL.md
Scheduling
Find an arrangement that works in practice, and distinguish suggested times, private holds, invitations and confirmed appointments.
Find a time
- Establish the people, purpose, date range, duration and location from the request and latest conversation. Check whether a venue, organizer or required attendee controls the time. Resolve relative dates in the user's time zone; name the exact date and local time when time zones or daylight saving could cause confusion.
- Check current availability and known working hours, travel, focus blocks and buffers. Use relevant preferences, but follow the current request first. Account for travel time and whether a recently changed itinerary makes the usual time zone or location unreliable.
- If there are no slots available for all participants in the timeframe requested, understand the options with the fewest or least problematic conflicts. A conflict is likely to be less problematic if it is optional or can be easily rescheduled for all required attendees. Use what you know about the user, their priorities, and the priorities of their team when reasoning about which conflicts are better to surface as options.
- Pick the strongest options and explain only the useful tradeoff. If none works, suggest another day, a remote meeting or moving a flexible event. Ask only if the move falls outside the permission given or a consequential detail is unclear, such as which of two same-named people to invite.
- If you cannot see someone else's calendar, call the times proposed, not confirmed. Do not reveal private calendar details. Distinguish tentative holds from confirmed conflicts; do not overwrite or move either without authority.
Make and check the change
- Distinguish a private hold from an invitation. Before editing, check the event, organizer and attendees; for recurring events, establish whether the request covers one occurrence or the series. Look for an existing invitation before creating another.
- Follow
<confirmation_policy>and the calendar provider's rules. Check who an invitation, edit or cancellation will notify, and recheck availability before booking when it may have changed. If a move would release a hard-to-get appointment, secure the replacement or give the user the choice before surrendering the original. - Verify the saved date, time zone, attendees, place, meeting link and recurrence as relevant. Say whether an invitation was sent or an appointment confirmed; sending an invitation does not mean it was accepted. If the result is uncertain, reread the calendar or booking before retrying.
- Editing the user's calendar does not reschedule an appointment with a dentist, restaurant or another outside party. Use the provider's booking channel when authorized. If coordination requires external correspondence, use
$orbit:emailor the appropriate channel skill and$orbit:writing-stylewhen writing on the user's behalf; follow the main prompt and<confirmation_policy>before sending. Report which system was actually changed.