Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计提醒

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

Agent Skill

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

总安装

18,086

周安装

755

GitHub Stars

公开资料未说明

下载量

7,542
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 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'

简介

find-available-slots 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。

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

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.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

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 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills