원클릭으로
resy-booking
Use when asked to book a restaurant reservation, view reservations, find a reservation slot, or cancel a reservation.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Use when asked to book a restaurant reservation, view reservations, find a reservation slot, or cancel a reservation.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use for any request involving Evan's Obsidian vault, notes, or "second brain"; the vault is located at /mnt/documents/obsidian-vault.
Send context from this conversation to another chat session. Use this skill when Evan says things like "send this context to my ansible-personal chat", "create a new session with this debugging info", or "let's take what we learned and continue in the dots workspace".
Find, search, and manage files in Evan's multimedia library at ~/documents/multimedia. Use this skill when Evan asks if he has specific movies/shows/music, searches for media files, checks what's in his collection, or needs to organize media files (videos, music, photos, artwork, etc.).
Source of truth for Evan's commit and pull request workflow. Use this skill for any commit, amend, push, PR task, or fast-tracking a change for quick review.
Send Evan a Telegram notification via purkhiser-bot. Use proactively when Evan is AFK or has said he'll be away and something important needs his attention — SSH agent auth prompts, blocked tasks, errors requiring a decision, long-running tasks completing, or any situation where work cannot proceed without him.
Fork off a new Claude Code instance in a tmux pane or window, pre-seeded with a self-contained task description so it starts working immediately. Use when Evan says things like "fork off a new claude to work on X", "fork a claude in a new pane to do Y", "spin up another claude to handle Z", or "new claude in a new window for ...".
| name | resy-booking |
| description | Use when asked to book a restaurant reservation, view reservations, find a reservation slot, or cancel a reservation. |
Use resyctl as a playbook-driven CLI for reservation discovery, quoting,
booking, listing, and cancellation.
quote before booking.--dry-run for preview unless user asked to execute booking.--allow-fee.resyctl auth status
If missing/expired, log in:
resyctl auth login --email "<email>" --password-file "<path>"
resyctl search "<restaurant name>" --limit 5 \
| jq -r '.venues[] | "\(.id): \(.name) [\(.locality // "?")]"'
Pick the most likely venue_id.
Useful for confirming the right venue (address, neighborhood) or returning contact/links to the user:
resyctl venue <venue_id> \
| jq '.venue | {name, neighborhood, address, phone, website, resy_url, google_maps_url}'
For a specific date:
resyctl availability <venue_id> --date YYYY-MM-DD --party-size <n> \
| jq -r '.slots[] | "\(.slot_id) | \(.start) | \(.type // "?")"'
For month/day scan:
resyctl availability <venue_id> --month YYYY-MM --days --party-size <n> \
| jq -r '.days[] | "\(.date) (\(.available_slot_count) slots)"'
For time-window constraints (example: 5pm-7pm):
resyctl availability <venue_id> --date YYYY-MM-DD --party-size <n> \
--time-after 17:00 --time-before 19:00 \
| jq -r '.slots[] | "\(.slot_id) | \(.start) | \(.type // "?")"'
resyctl quote "<slot_id>" \
| jq '{
fee_amount: .quote.fee_amount,
fee_cutoff: .quote.fee_cutoff,
refund_cutoff: .quote.refund_cutoff,
payment_type: .quote.payment_type,
policy_text: .quote.policy_text
}'
Base booking:
resyctl book "<slot_id>" --yes
Fee-aware booking:
resyctl book "<slot_id>" \
--allow-fee \
--max-fee 25 \
--max-cutoff-hours 12 \
--yes
--max-cutoff-hours means require at least N hours until the fee cutoff.
If the cutoff is closer than N hours (or missing), booking is blocked.
Example: --max-cutoff-hours 12 blocks booking when the fee cutoff is within 12 hours.
"Fee cutoff" is the timestamp after which cancellation can incur a fee. Before fee cutoff: canceling is free. After fee cutoff: fee may apply.
Preview only:
resyctl book "<slot_id>" --allow-fee --dry-run
Upcoming:
resyctl reservations --upcoming \
| jq -r '.reservations[] | "\(.reservation_id) | \(.day) \(.time_slot) | \(.venue.name // "?") | \(.resy_token)"'
resy_token is the reservation operation token used to act on a reservation
(for example canceling with resyctl cancel <resy_token>). It is not the same
as reservation_id.
All:
resyctl reservations --all --limit 50 --offset 0
By resy_token (required positional argument):
resyctl cancel "<resy_token>" --yes
Preview cancellation:
resyctl cancel "<resy_token>" --dry-run
search for venue id.availability --date ... --time-after 17:00 --time-before 19:00.quote it and present fee/cutoff before any booking action.search for venue id.start time matching 18:30.quote and optionally book with guardrails.When a request involves several venues (e.g. "find a 7pm slot at any of Cosme, Atomix, or Don Angie next Saturday"):
resyctl search per venue name in parallel (single message,
multiple Bash tool calls). Pick the right venue_id from each result
independently — locality and ratings disambiguate.resyctl availability per resolved venue_id in parallel, with
the same date/time-window filters across all.To inspect available payment method IDs:
resyctl payment-methods \
| jq -r '.payment_methods[] | "\(.id): \(.card_type // "card") ****\(.last_4 // "????")"'