Agent Skills
› fanfan-de/anybox
› outlook-calendar-group-scheduler
outlook-calendar-group-scheduler
GitHub基于Outlook日历数据,协助用户为多人会议寻找并排序最佳会议时间。支持分析参会者空闲状态、资源可用性,结合工作时长和时区等约束条件,推荐冲突最少且符合物流逻辑的候选时间段。
Trigger Scenarios
需要为多人安排会议时间
比较多个候选时间段以找到最佳妥协方案
检查会议室或资源可用性
Install
npx skills add fanfan-de/anybox --skill outlook-calendar-group-scheduler -g -y
SKILL.md
Frontmatter
{
"name": "outlook-calendar-group-scheduler",
"description": "Find and rank good meeting times for several people using Outlook Calendar data. Use when the user wants to schedule a meeting, compare candidate slots across attendees, find the best compromise time, or add a room\/resource check after narrowing the attendee-compatible options."
}
Outlook Calendar Group Scheduler
Use this skill when the scheduling problem is the task.
Relevant Actions
- Use
get_schedulefor attendee and room/resource free-busy windows once you know the concrete schedule identifiers. - Use
find_available_slotswhen the problem is mostly about the user's own calendar and buffered openings. - Use
search_eventsorlist_eventswhen you need conflict context before ranking options. - Use
create_eventonly after the winning slot and attendee set are settled.
Outlook Product Framing
- Treat free/busy visibility, work hours, and work location as first-class scheduling evidence when full event detail is unavailable.
- Treat attendee response state and organizer logistics as part of scheduling, not just the final event body.
- When rooms or resources are visible, treat them as Outlook-style scheduling constraints rather than a separate "room finder" workflow.
Workflow
- Ground the scheduling problem first: date window, duration, timezone, required attendees, optional attendees, and any hard constraints such as "this week", "afternoons only", or "avoid lunch".
- If the scheduling window is ambiguous, assess the meeting stakes before choosing a default search window. For relatively high-stakes meetings, go back to the user and suggest tightening the timeline, for example to the next week. For lower-stakes or more casual group scheduling, default to a near-term search such as the next 1 to 3 weeks.
- Normalize the request into explicit candidate windows before ranking anything.
- Rank slots, do not enumerate everything. Optimize for a short list of strong options.
- Treat
BusyandOut of Officeas harder constraints thanTentativeorWorking Elsewhereunless the user says otherwise. - Prefer slots that minimize conflict cost, fit within work hours, and avoid avoidable hybrid-work friction such as forcing an in-office room meeting onto remote-heavy attendees.
- When rooms, resources, or building context are available, prefer slots that keep the meeting logistically coherent instead of treating time as the only variable.
- If shared-calendar visibility is partial, say when a recommendation is based on free/busy signals rather than full event detail.
Ranking Heuristics
- Favor required-attendee fit over optional-attendee fit.
- Favor slots that avoid very early or very late local times for distributed attendees.
- Favor slots that stay inside work hours and avoid consuming the only large free block in someone's day unless the meeting is clearly important.
- Favor a small number of high-confidence options over a long weak list.
- When two slots are similar, prefer the one that causes less calendar fragmentation.
- When one attendee is only
TentativeorWorking Elsewhere, describe that as a softer constraint instead of silently treating it as unavailable. - When one option aligns better with attendees' work locations or room logistics, explain that advantage explicitly.
Output Conventions
- Return 2-4 candidate slots by default.
- For each slot, say why it works and who, if anyone, would be inconvenienced.
- If there is no clean option, say what tradeoff the best slot is making.
Version History
- 08dc189 Current 2026-07-05 19:04


