Meeting Scheduler by seb1n/awesome-ai-agent-skills
npx skills add https://github.com/seb1n/awesome-ai-agent-skills --skill 'Meeting Scheduler'此技能使 AI 代理能够处理端到端的会议协调工作。给定一个自然语言请求,代理会识别参与者、解决时区差异、查询日历可用性、提出无冲突的时间段、发送日历邀请并跟踪回复情况。它集成了 Google Calendar、Microsoft Outlook 和 Calendly,以覆盖最常见的企业和自由职业者日程安排工作流程。
解析会议请求 从用户的自然语言输入中提取结构化数据。识别所有必需的参与者(通过姓名、电子邮件或团队别名)、会议主题或议程、期望的持续时间以及任何日期或时间限制,例如"下周二下午"或"冲刺结束前"。标记任何模糊的引用,以便在继续之前进行澄清。
解析时区 从每个参与者的日历配置文件或联系人记录中查找其配置的时区。将所有建议的时间段转换为每个参与者的本地时间,以便进行准确的比较。当参与者的时区未知时,提示组织者进行确认。显示所有建议时间时,需明确标注时区(例如,"3:00 PM EST / 12:00 PM PST"),以避免混淆。
检查日历可用性 通过适当的集成(Google Calendar API、Microsoft Graph API 或 Calendly 可用性端点)查询每个参与者的日历。收集请求日期范围内的繁忙时段,并计算空闲时间段的交集。尊重每个参与者的工作时间偏好以及任何配置的专注时间或无会议时段。在相邻会议之间应用可配置的缓冲时间(默认为 10 分钟),以留出过渡时间。
提出最佳时间段 使用评分启发式方法对可用时间段进行排序:优先选择所有参与者都在标准工作时间内的时段,尽量减少本地时间为清晨或深夜的情况,并在表示有紧迫性时优先选择较早的日期。向组织者展示排名前三的选项,并附上显示每个参与者本地时间的摘要。
发送日历邀请 一旦组织者确认某个时间段,即通过相应的 API 创建日历事件。附上议程、视频会议链接(Zoom、Google Meet 或 Teams)以及任何相关文档。向所有参与者发送邀请邮件。对于没有日历集成的外部参与者,发送一封包含 .ics 附件的独立电子邮件。
跟踪回复并处理变更 监控收到的邀请回复。将接受、暂定回复和拒绝的情况通知组织者。如果关键参与者拒绝,则自动从剩余可用性中提出替代时间段,并启动重新预订流程。对于周期性会议,跟踪出席模式,并标记出持续存在冲突的参与者,以便组织者调整会议节奏。
提供一个包含参与者、主题、大致持续时间和任何日程安排限制的自然语言请求。代理将处理其余部分。
"安排一个与 John 和 Jane 的 30 分钟会议,讨论 Q3 报告,时间在下周某个时间。最好是上午。"
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
您也可以要求安排周期性会议、重新安排或取消会议:
"将明天的设计评审重新安排到周四。如果可能,保持相同时间,否则请寻找新的时间段。"
"从下周开始,每周一上午 9:30(东部时间)与后端团队安排一次 15 分钟的站会。"
用户输入:
"安排一个与 Priya(IST)、Marcus(CET)和 Li(CST,中国)的 1 小时架构评审,时间在本周四或周五。避免每个人的清晨时间。"
代理输出:
我检查了 Priya、Marcus 和 Li 的日历。以下是可用性矩阵:
Priya (IST) Marcus (CET) Li (CST)
Thu 10:00–11:00 UTC 3:30 PM 11:00 AM 6:00 PM
Thu 12:00–13:00 UTC 5:30 PM 1:00 PM 8:00 PM ⚠️
Fri 09:00–10:00 UTC 2:30 PM 10:00 AM 5:00 PM ✅ 最佳
推荐:周五 09:00–10:00 UTC
— 所有三位参与者都在工作时间内。
— 未检测到冲突。
我是否应该为周五 09:00–10:00 UTC 发送包含 Google Meet 链接的邀请?
用户输入:
"周三的产品同步会议与 Alice 的牙医预约冲突。将其改到本周的另一天。Bob 和 Carol 也参加。"
代理输出:
当前会议:周三 2:00–2:30 PM ET(Alice, Bob, Carol)
Alice 周三 1:00–4:00 PM ET 不可用(个人预约)。
Bob 周四全天不可用(带薪休假)。
Carol 本周没有其他冲突。
可用替代方案:
1. 周二 2:00–2:30 PM ET — 三人均空闲 ✅
2. 周五 10:00–10:30 AM ET — 三人均空闲
3. 周五 3:00–3:30 PM ET — 三人均空闲
建议:选项 1(周二 2:00 PM ET)保持一天中的相同时间。
我是否应该重新安排到周二并通知所有参与者?
.ics 文件。每周安装次数
–
代码仓库
GitHub 星标数
51
首次出现时间
–
安全审计
This skill enables an AI agent to handle end-to-end meeting coordination. Given a natural language request, the agent identifies participants, resolves time zone differences, queries calendar availability, proposes conflict-free time slots, dispatches calendar invitations, and tracks RSVPs. It integrates with Google Calendar, Microsoft Outlook, and Calendly to cover the most common enterprise and freelance scheduling workflows.
Parse the Meeting Request Extract structured data from the user's natural language input. Identify all required participants (by name, email, or team alias), the meeting topic or agenda, the desired duration, and any date or time constraints such as "next Tuesday afternoon" or "before end of sprint." Flag any ambiguous references for clarification before proceeding.
Resolve Time Zones Look up each participant's configured time zone from their calendar profile or contact record. Convert all proposed windows into each participant's local time so that comparisons are accurate. When a participant's time zone is unknown, prompt the organizer to confirm it. Display all suggested times with explicit time zone labels (e.g., "3:00 PM EST / 12:00 PM PST") to avoid confusion.
Check Calendar Availability Query each participant's calendar through the appropriate integration (Google Calendar API, Microsoft Graph API, or Calendly availability endpoint). Collect busy blocks for the requested date range and compute the intersection of free windows. Respect each participant's working-hours preferences and any configured focus-time or no-meeting blocks. Apply a configurable buffer (default 10 minutes) between adjacent meetings to allow transition time.
Propose Optimal Time Slots Rank the available windows using a scoring heuristic: prefer slots that fall within standard working hours for all participants, minimize the number of early-morning or late-evening local times, and favor earlier dates when urgency is indicated. Present the top three ranked options to the organizer with a summary showing each participant's local time.
Send Calendar Invitations Once the organizer confirms a slot, create the calendar event via the appropriate API. Attach the agenda, video-conferencing link (Zoom, Google Meet, or Teams), and any relevant documents. Send invitation emails to all participants. For external participants without calendar integration, send a standalone email with an .ics attachment.
Track RSVPs and Handle Changes Monitor invitation responses as they arrive. Notify the organizer of acceptances, tentative replies, and declines. If a critical participant declines, automatically propose alternative slots from the remaining availability and initiate a rebooking flow. For recurring meetings, track attendance patterns and flag consistently conflicting participants so the organizer can adjust the cadence.
Provide a natural language request that includes the participants, topic, approximate duration, and any scheduling constraints. The agent will handle the rest.
"Schedule a 30-minute meeting with John and Jane to discuss the Q3 report sometime next week. Prefer mornings."
You can also ask for recurring meetings, rescheduling, or cancellations:
"Reschedule tomorrow's design review to Thursday. Same time if possible, otherwise find a new slot."
"Set up a weekly 15-minute standup with the backend team every Monday at 9:30 AM ET starting next week."
User input:
"Schedule a 1-hour architecture review with Priya (IST), Marcus (CET), and Li (CST, China) this Thursday or Friday. Avoid early mornings for everyone."
Agent output:
I checked calendars for Priya, Marcus, and Li. Here is the availability matrix:
Priya (IST) Marcus (CET) Li (CST)
Thu 10:00–11:00 UTC 3:30 PM 11:00 AM 6:00 PM
Thu 12:00–13:00 UTC 5:30 PM 1:00 PM 8:00 PM ⚠️
Fri 09:00–10:00 UTC 2:30 PM 10:00 AM 5:00 PM ✅ Best
Recommended: Friday 09:00–10:00 UTC
— Falls within working hours for all three participants.
— No conflicts detected.
Shall I send the invitation for Friday 09:00–10:00 UTC with a Google Meet link?
User input:
"The Wednesday product sync conflicts with Alice's dentist appointment. Move it to another day this week. Bob and Carol also attend."
Agent output:
Current meeting: Wednesday 2:00–2:30 PM ET (Alice, Bob, Carol)
Alice is unavailable Wednesday 1:00–4:00 PM ET (personal appointment).
Bob is unavailable Thursday all day (PTO).
Carol has no additional conflicts this week.
Available alternatives:
1. Tuesday 2:00–2:30 PM ET — all three free ✅
2. Friday 10:00–10:30 AM ET — all three free
3. Friday 3:00–3:30 PM ET — all three free
Recommendation: Option 1 (Tuesday 2:00 PM ET) keeps the same time of day.
Shall I reschedule to Tuesday and notify all participants?
.ics file they can import manually.Weekly Installs
–
Repository
GitHub Stars
51
First Seen
–
Security Audits
Azure RBAC 权限管理工具:查找最小角色、创建自定义角色与自动化分配
117,000 周安装