Token导航 LogoToken导航

Agent Skill · 研究检索

find-available-slots(找到可用的插槽)

find-available-slots 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

find-available-slots 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为需要联网;许可证信息还不明确,第三方扫描有提醒项,按安装量在研究检索类的 73,675 个 Skill 里排第 7,773。

总安装 18,086周安装 755GitHub Stars 公开资料未说明下载 7,542核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:find-available-slots(找到可用的插槽)
来源仓库:https://github.com/sixtysecondsapp/use60
仓库路径:skills/find-available-slots
安装命令:
npx skills add https://github.com/sixtysecondsapp/use60 --skill 'Find Available Slots'
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/sixtysecondsapp/use60 --skill 'Find Available Slots'

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

find-available-slots 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。

安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。当前顶部介绍为空,需参考原始 SKILL.md 获取详细功能说明。适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

来源仓库内路径:skills/find-available-slots

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/sixtysecondsapp/use60 --skill 'Find Available…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

find-available-slots 怎么安装?

在终端执行 npx skills add https://github.com/sixtysecondsapp/use60 --skill 'Find Available Slots'。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

find-available-slots 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

find-available-slots 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

find-available-slots 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

find-available-slots 用的人多吗?

公开数据是累计安装 18,086 次,近一周安装 755 次,下载 7,542 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

find-available-slots 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
find-available-slots

找到可用的插槽 · 本页

18,086—需要联网未明确有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Available Context

@_platform-references/org-variables.md

Find Available Slots

You find the best times for people to meet. Not just any open gap on a calendar -- the optimal window that accounts for timezones, energy levels, meeting context, and the rhythm of a sales professional's day. The goal is zero back-and-forth: present three to five strong options that get a "yes" on the first message.

Context Sources

Before checking a single calendar, gather everything that shapes when this meeting should happen. Scheduling is context-dependent -- a demo for an enterprise prospect is not the same as a quick check-in with an existing client.

Source 1: Google Calendar API

The primary data source. For each participant whose calendar you can access, retrieve:

  • Existing events in the target date range (title, start, end, status, attendee count)
  • Working hours if configured in Google Calendar settings
  • Out-of-office events and all-day blocks
  • Tentative/maybe events (treated as soft conflicts -- see references/scheduling-rules.md)
  • Recurring events that may not show as busy in simple free/busy queries
  • Focus time blocks (Google Calendar's focus time feature marks these distinctly)

For external participants whose calendars you cannot access, note this limitation and widen the slot window to compensate.

Source 2: CRM Contact Data

Look up each participant in the CRM to extract:

  • Timezone from contact record, company record, or last known location
  • Company name and role (determines meeting type defaults if not specified)
  • Deal stage (early-stage prospects get different scheduling urgency than closing deals)
  • Last meeting date (avoid scheduling too soon after a recent touchpoint, or flag urgency if overdue)
  • Communication preferences noted in CRM (some contacts prefer morning calls, some hate Mondays)
  • Relationship owner (ensure the right internal team member is included)

Source 3: User Preferences

Check the requesting user's settings and patterns:

  • Default working hours and timezone from user profile
  • Buffer preferences (minimum gap between meetings)
  • Meeting-free blocks (lunch hours, admin time, personal commitments)
  • Preferred meeting days for sales calls (most reps prefer Tuesday-Thursday)
  • Video platform preference (Zoom, Google Meet, Teams) for the invite link

What to Ask For

After checking all three sources, only ask the user for what you truly cannot infer:

  • Who -- if the participant name is ambiguous, use the resolve_entity tool
  • Duration -- if the meeting type is unclear and no default applies
  • Date range -- if urgency was not specified (default to "this week or next")
  • Internal attendees -- if the deal has multiple owners or the user might want to include a colleague

Do NOT ask for timezone if it is available in the CRM or calendar. Do NOT ask for duration if the meeting type implies a standard length.

Step 1: Parse the Scheduling Request

Extract the key parameters from the user's message and fill in defaults from context:

Who is meeting?

  • Resolve each participant name to a contact record. Use resolve_entity for ambiguous first-name-only references.
  • Identify their timezone from CRM data, calendar settings, or company HQ location.
  • Flag if any participant's timezone is unknown -- you will need to ask or assume.

How long?

  • If the user specified a duration, use it.
  • If they specified a meeting type, apply the default from references/scheduling-rules.md:

- Intro call: 30 minutes - Demo: 45 minutes - Follow-up: 25 minutes - Deep dive / technical review: 60 minutes - Quick check-in: 15 minutes

  • If neither was specified, infer from deal stage and relationship:

- First meeting with a new prospect: 30 minutes - Active deal, mid-pipeline: 45 minutes - Existing client, relationship maintenance: 25 minutes - Default fallback: 30 minutes

What type of meeting?

  • Determines not just duration but also scheduling preferences (demos should not be at 8am, check-ins are fine anytime).
  • If the user said "schedule a demo," tag it as demo. If they said "find a time to chat," tag it as check_in.

How urgent?

  • "Today" -- search remaining hours today only
  • "This week" -- search today through Friday
  • "Next week" -- search Monday through Friday of the following week
  • "Flexible" or unspecified -- search the next 10 business days
  • If a deal is in a late stage (negotiation, closing), bias toward sooner slots

Step 2: Fetch Calendar Data

Query each accessible calendar for the target date range. Apply a buffer of +2 days beyond the range to catch edge-case conflicts.

For each day in the range:

  1. Retrieve all events between the participant's working hours start and end.
  2. Mark each time block as one of:

- Hard busy -- confirmed meetings with 2+ attendees, interviews, client calls - Soft busy -- tentative events, maybe RSVPs, internal optional meetings - Blocked -- out-of-office, all-day events, focus time, personal calendar blocks - Free -- no events in this window

Working hours determination (in priority order):

  1. Google Calendar configured working hours for the user
  2. User preferences in the platform settings
  3. CRM timezone + default working hours from references/scheduling-rules.md
  4. Fallback: 9:00 AM - 5:30 PM in the participant's inferred timezone

Buffer enforcement:

  • Apply pre-meeting and post-meeting buffers per references/scheduling-rules.md
  • Default: 15 minutes before and after each existing meeting
  • Back-to-back avoidance: if a participant already has 2+ consecutive meetings, add a 30-minute buffer
  • Never schedule a meeting that would create a 3+ meeting back-to-back chain

See references/scheduling-rules.md for the complete buffer rules and conflict detection logic.

Step 3: Find Free Slots

With all calendar data loaded and buffers applied, identify candidate slots:

  1. Overlay calendars -- for each minute in the target range, determine if ALL participants are free. A slot is only valid if every participant with a visible calendar shows as free, and no hard or blocked conflicts exist.
  2. Apply minimum duration -- a free window must be at least as long as the meeting duration PLUS the configured post-meeting buffer. A 30-minute meeting needs a 45-minute free window (30 + 15 buffer).
  3. Snap to clean boundaries -- round slot start times to the nearest 15-minute mark. Meetings starting at:07 or:22 feel unprofessional and cause calendar clutter.
  4. Respect working hours -- no slot should start before the earliest participant's working hours start or end after the latest participant's working hours end. For cross-timezone meetings, find the overlap window per references/scheduling-rules.md.
  5. Handle soft conflicts -- if a tentative or optional meeting overlaps, still include the slot but flag it with a warning: "Note: [Participant] has a tentative event at this time."
  6. External participant handling -- for participants whose calendars are not accessible, present all slots that work for the accessible participants and note: "Cannot verify [Name]'s availability -- these times work on your end."

Aim for 5-8 candidate slots before scoring. If fewer than 3 candidates exist:

  • Expand the date range by 3 business days
  • Relax buffer rules to 10 minutes (note this in the output)
  • Consider early morning or late afternoon slots outside preference but within working hours
  • If still fewer than 3, report this clearly and explain the constraints

Step 4: Score and Rank Slots

Not all free slots are equal. Score each candidate on a 0-100 scale using these weighted factors. See references/scheduling-rules.md for the full algorithm and weights.

Time-of-day preference (25% weight)

  • Morning (9-11 AM in the prospect's timezone): highest score for sales meetings
  • Mid-morning to early afternoon (10 AM - 2 PM): strong for demos
  • Late afternoon (after 3:30 PM): penalized for first meetings, acceptable for check-ins
  • Apply the user's stated time_preference if provided (overrides defaults)

Day-of-week effectiveness (20% weight)

  • Tuesday, Wednesday, Thursday: highest acceptance rates for B2B sales meetings
  • Monday: moderate (people are catching up)
  • Friday: lowest (end-of-week energy, higher no-show rates)
  • See references/scheduling-rules.md for exact scoring by day

Timezone friendliness (20% weight)

  • Bonus for slots that fall within core hours (10 AM - 3 PM) for ALL participants
  • Penalty for slots that are before 9 AM or after 5 PM for any participant
  • Heavy penalty for slots outside working hours for the prospect (even if technically allowed)
  • Cross-timezone overlap calculation per references/scheduling-rules.md

Calendar density (15% weight)

  • Penalty for days where the user already has 5+ meetings (meeting fatigue)
  • Bonus for days with lighter schedules (more energy for important calls)
  • Slight penalty if the slot is sandwiched between two other meetings (no breathing room)

Recency and spacing (10% weight)

  • If the last meeting with this contact was 1-2 days ago, slight penalty (too soon)
  • If the last meeting was 7+ days ago, slight bonus (overdue follow-up)
  • If the deal is stale (no activity in 14+ days), strong bonus for earliest available slot

User preference match (10% weight)

  • Bonus if the slot matches the user's stated time_preference
  • Bonus if the slot is on a day the user typically takes sales calls
  • Bonus if the slot avoids known personal blocks (lunch, school pickup, gym)

Sort candidates by score descending. Present the top 3-5 slots.

Step 5: Format for Presentation

Format the slots based on the delivery channel. The default is inline (in the copilot chat), but if the user asked for Slack or email, format accordingly.

Inline Format (Chat Response)

Present slots as a clean, scannable list:

Here are the best times to meet with [Name]:

1. Tuesday, Feb 17 at 10:00 AM EST (3:00 PM GMT) -- 30 min
   Score: Excellent | Both in core hours, light calendar day

2. Wednesday, Feb 18 at 2:00 PM EST (7:00 PM GMT) -- 30 min
   Score: Good | Mid-week, but later in [Name]'s day

3. Thursday, Feb 19 at 9:30 AM EST (2:30 PM GMT) -- 30 min
   Score: Good | Morning slot, Thursday has high acceptance rates

Want me to send these via Slack, create a calendar invite, or email the options?

Always show dual timezone display when participants are in different timezones. The user's timezone comes first, the prospect's timezone in parentheses.

Flag edge cases visually:

  • Early morning for prospect (before 9 AM their time): add a warning icon note
  • Late day for prospect (after 5 PM their time): add a warning icon note
  • Friday slots: note "Friday -- slightly lower acceptance rates"
  • Same-day slots: note "Today -- short notice"

Slack Format

When delivering via Slack, use Block Kit formatting:

Hey [Name], here are a few times that work for a [meeting type]:

* Tue Feb 17, 10:00 AM EST / 3:00 PM GMT (30 min)
* Wed Feb 18, 2:00 PM EST / 7:00 PM GMT (30 min)
* Thu Feb 19, 9:30 AM EST / 2:30 PM GMT (30 min)

Let me know which works best, or suggest another time!

Keep Slack messages concise -- no scoring details, no internal notes. The Slack message is prospect-facing. Use a friendly, professional tone that matches the relationship stage.

Email Format

For email delivery, structure as a short, easy-to-reply message:

Subject: A few times for our [meeting type]

Hi [Name],

I'd love to find a time for us to [purpose]. Here are a few options that work on my end:

- Tuesday, February 17 at 10:00 AM EST (3:00 PM your time)
- Wednesday, February 18 at 2:00 PM EST (7:00 PM your time)
- Thursday, February 19 at 9:30 AM EST (2:30 PM your time)

Each would be about [duration]. Do any of these work for you?

If not, feel free to suggest a time -- happy to work around your schedule.

Best,
[User Name]

Step 6: Handle Approval and Next Steps

Once the user selects a slot (or the prospect replies with a preference):

If creating a calendar invite:

  1. Build the invite payload with:

- Title: "[Meeting Type] - [User Name] & [Prospect Name]" (or the user's preferred format) - Duration: as determined in Step 1 - Attendees: all participants with their email addresses - Video link: generate based on user's preferred platform (Zoom, Google Meet, Teams) - Description: brief context from the deal or conversation - Reminders: 15 minutes before (default)

  1. Present the invite for confirmation before sending (HITL pattern)
  2. On confirmation, create the calendar event and notify all parties

If sending times via email or Slack:

  1. Format the selected options per Step 5
  2. Present the draft message for approval
  3. On confirmation, send via the selected channel
  4. Create a follow-up task to check if the prospect responded within 24 hours

After scheduling is confirmed:

  • Log the meeting in the CRM as an upcoming activity
  • Create a pre-meeting prep task if the meeting is 2+ days away
  • Update the deal's last activity date
  • If this is a first meeting, suggest running the meeting-prep-brief skill before the call

Quality Check

Before presenting any scheduling options, verify:

  • All timezones are correctly identified and displayed?
  • Dual timezone format is used when participants span zones?
  • Buffer rules are respected (no back-to-back-to-back chains)?
  • All slots fall within working hours for ALL participants?
  • No slots conflict with hard-busy or blocked events?
  • Soft conflicts (tentative events) are flagged with warnings?
  • Slots are rounded to 15-minute boundaries?
  • The meeting duration includes buffer time in the free window check?
  • Day-of-week scoring is applied (Tue-Thu preferred)?
  • Early morning and late evening slots carry appropriate warnings?
  • The message tone matches the delivery channel (internal vs. prospect-facing)?
  • The user was not asked for information already available in CRM or calendar?

Error Handling

"No available slots found"

This happens when calendars are packed or timezone overlap is too narrow. Response approach:

  1. Explain the constraint: "Between your schedule and [Name]'s timezone (GMT+8), the overlap window is only 2 hours per day."
  2. Offer alternatives: expand date range, suggest shorter meeting duration, consider early/late exceptions.
  3. If truly no overlap exists: suggest an async alternative (Loom video, email exchange) and create a task to revisit scheduling in 3 days.

"Calendar not connected"

The user's Google Calendar integration is not set up or the token has expired.

  1. Direct them to Settings > Integrations > Google Calendar to connect.
  2. Do NOT attempt to guess availability without calendar data -- offer to find slots manually once connected.
  3. If the prospect's calendar is unavailable (external), proceed with the user's calendar only and note the limitation.

"Timezone unknown for participant"

Cannot determine a participant's timezone from CRM or calendar data.

  1. Check the company's headquarters location as a proxy.
  2. Check the participant's LinkedIn location if available via enrichment.
  3. If still unknown, ask the user: "What timezone is [Name] in? Their CRM record doesn't have a location."
  4. Never assume a timezone silently -- incorrect timezone handling destroys scheduling trust.

"Participant not found in CRM"

The named person does not match any contact record.

  1. Use resolve_entity to attempt fuzzy matching.
  2. If multiple matches, present the options: "I found several contacts named Sarah -- which one? Sarah Chen (Acme Corp) or Sarah Williams (Beta Inc)?"
  3. If no matches, ask for the full name and company, then proceed with manual timezone input.

"Too many participants"

Group scheduling with 4+ people is exponentially harder.

  1. For 4-6 participants: widen the date range to 15 business days and relax time-of-day preferences.
  2. For 7+ participants: suggest using a scheduling poll tool (Calendly, When2Meet) instead.
  3. Always note: "With [N] participants, availability is limited. Consider whether all attendees are required or if some could be optional."

"Recurring meeting request"

The user wants to find a regular slot (weekly, biweekly).

  1. Search for slots that recur consistently across multiple weeks.
  2. Check that the slot does not conflict with existing recurring events.
  3. Present with a note: "This slot is open for the next 4 weeks" or flag specific weeks where conflicts exist.
  4. Suggest booking the first occurrence and setting recurrence, with a note to review conflicts manually.

平台分布

Codex

34.58%
按下载量换算2,608

Claude

33.05%
按下载量换算2,493

Cursor

18.22%
按下载量换算1,374

Gemini CLI

9.66%
按下载量换算729

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills