Claude-skill-registry interview-scheduler
When the user needs to schedule interviews or meetings with specific time constraints (e.g., within certain dates, during working hours, with minimum duration requirements). This skill calculates available time slots based on date ranges, working hour constraints, and duration needs, then creates calendar events with appropriate details. Triggers include phrases like 'schedule interviews', 'book time slots', 'within [date range]', 'during working hours', or 'reserve [duration] for meeting'.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/interview-scheduler" ~/.claude/skills/majiayu000-claude-skill-registry-interview-scheduler && rm -rf "$T"
manifest:
skills/data/interview-scheduler/SKILL.mdsource content
Skill: Interview Scheduler
Objective
Schedule candidate interviews by identifying qualified applicants from email resumes and booking time slots that meet all specified constraints.
Core Workflow
Phase 1: Candidate Identification & Qualification
- Search for Resumes: Use the
tool with a query like "resume" or "application" to find relevant emails.emails-search_emails - Extract & Review: Read each candidate's email (
) to parse their resume content.emails-read_email - Apply Qualification Filter: The primary filter is independent first-author publications. Look for phrases like "First Author", "Sole Author", or "Lead Author" in the publications section. Candidates without such publications are disqualified.
- Extract Candidate Info: For qualified candidates, note:
- Name
- Key publications (for calendar description)
- Research area/university (for context)
Phase 2: Time Slot Calculation & Scheduling
- Parse Time Constraints: Extract from the user request:
- Date Range: Identify "tomorrow", "the day after tomorrow", or other explicit date windows. Use the system's current date or the latest email date as a reference if needed.
- Working Hours: Default is 8 AM to 5 PM in the user's/local timezone (e.g.,
). Confirm or adjust per request.Asia/Hong_Kong - Minimum Duration: Default is 1.5 hours. Confirm per request.
- Generate Slots: Mentally allocate sequential slots within the date range and working hours, ensuring the minimum duration and a reasonable buffer (e.g., 30 mins) between interviews if scheduling multiple candidates on the same day.
- Create Calendar Events: For each qualified candidate, use
.google_calendar-create_event- Summary: Format as
"Interview with [Candidate Name]" - Description: Include a brief candidate summary: university, research area, key qualifying publication(s), and contact info (email/phone from resume).
- Start/End Time: Use the calculated slot in ISO 8601 format with the correct timezone.
- Duration: Must meet or exceed the user's minimum requirement.
- Summary: Format as
Phase 3: Summary & Confirmation
- Present Results: Provide a clear summary table showing:
- Qualified candidates and their key publication.
- Scheduled date, time slot, and duration.
- Disqualified candidates and the reason (e.g., "No first-author publications").
- Confirm Sync: State that events have been created in Google Calendar.
- Mark Task Complete: Use
.local-claim_done
Key Decision Logic
- Slot Allocation: Schedule on the earliest available date within the range. If the first day fills up, use the next day.
- Buffer Time: It is good practice to leave at least 30 minutes between interviews for preparation/notes, but this is not a strict rule if the user does not specify it.
- Date Reference: If the user says "tomorrow," use the date context from the most recent email in the thread or the current system date to calculate the actual dates.
Tools Required
emails-search_emailsemails-read_emailgoogle_calendar-create_eventlocal-claim_done