Token导航 LogoToken导航TokenDH.com
研究检索敏感数据github未标认证来源可访问许可证需确认审计异常

reserve-with-googlereserve with Google 搜索

Agent Skill

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

总安装

297

周安装

12

GitHub Stars

2

下载量

93
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

请帮我安装这个 Agent Skill:reserve-with-google(reserve with Google 搜索)
来源仓库:https://github.com/koala73/reservewithgoogle-skill
仓库路径:skills/reserve-with-google
安装命令:
npx skills add https://github.com/koala73/reservewithgoogle-skill --skill reserve-with-google
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/koala73/reservewithgoogle-skill --skill reserve-with-google

简介

用于查找、检索和筛选相关信息。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中根据关键词或任务场景快速定位候选结果。
  • 通过 npx skills add 命令从指定 GitHub 仓库安装,需确认权限与联网能力。
  • 建议结合原始 README 核验具体用法,注意维护状态和功能边界。
  • 使用前请检查是否会触发文件读写或命令执行,确保环境安全。

SKILL.md

Reserve with Google

Automate restaurant reservations and business bookings through Google Maps using browser automation.

Quick Reference

ProviderBooking URL PatternSpecial Notes
SevenRoomssevenrooms.com/reservations/{venue}See SEVENROUNDS.md
OpenTableopentable.comUse --headed for best results
Resyresy.comOften requires phone verification
Yelpyelp.com/reservationsLogin usually required

Common Issues:

  • Title dropdown: Use find text "Mr." click
  • Policy checkbox: Use find text "I agree..." click

Prerequisites

  • agent-browser installed: npm install -g agent-browser
  • Internet access
  • Optional: Pre-authenticated Google profile (see Profile Setup below)
  • Optional: Proxy server for authenticated routing (see Proxy Setup below)

Before Starting

Collect from the user:

  1. Search query — what/where to book (e.g., "Italian restaurants in downtown Chicago")
  2. Date — desired reservation date
  3. Time — preferred time
  4. Party size — number of guests (restaurants)
  5. Name — for the reservation
  6. Phone — contact number
  7. Email — confirmation email
  8. Special requests — optional (e.g., "window seat", "high chair needed")

Profile Setup (One-Time)

For best results, set up a persistent browser profile with a logged-in Google account:

agent-browser --headed --profile ~/.reservegoogle open "https://accounts.google.com"

The user logs in manually once. The profile persists across sessions. If no profile exists, fall back to guest mode.

Alternative: Use state save/load for portable auth:

# After logging in:
agent-browser state save ~/.reservegoogle-auth.json

# In future sessions:
agent-browser state load ~/.reservegoogle-auth.json
agent-browser open "https://www.google.com/maps"

Proxy Setup

Route traffic through an authenticated proxy to avoid rate limits, geo-restrictions, or use residential IPs:

agent-browser --proxy http://user:pass@proxy.example.com:8080 open "https://www.google.com/maps"
agent-browser --proxy socks5://user:pass@proxy.example.com:1080 open "https://www.google.com/maps"

The proxy flag only needs to be passed on the open command that starts the session. Subsequent commands in the same session reuse the proxy.

Combine with profile for authenticated + proxied sessions:

agent-browser --headed --profile ~/.reservegoogle --proxy http://user:pass@proxy.example.com:8080 open "https://accounts.google.com"

Set via environment variable to avoid passing on every command:

export AGENT_BROWSER_PROXY="http://user:pass@proxy.example.com:8080"
agent-browser open "https://www.google.com/maps"

Core Workflow

CRITICAL: Always use snapshot before every interaction. Refs change on every page update. Never hardcode element references.

Step 1: Open Google Maps & Search

agent-browser --profile ~/.reservegoogle open "https://www.google.com/maps"
agent-browser snapshot -i

Find the search box in the snapshot, then:

agent-browser fill @<searchBoxRef> "<user's search query>"
agent-browser press Enter
agent-browser wait --load networkidle
agent-browser snapshot -i

Parse the results list. Present places to the user with indicators of which ones have booking available (look for "Reserve a table", "Book online", or similar text in results).

Step 2: Select a Place

After user picks a place:

agent-browser click @<resultRef>
agent-browser wait --load networkidle
agent-browser snapshot -i

Look for booking buttons in the snapshot. Common text patterns:

  • "Reserve a table"
  • "Book online"
  • "Book an appointment"
  • "Schedule"
  • "Find a table"

If NO booking button found: inform the user this place doesn't support online booking. Suggest nearby alternatives from the search results.

Step 3: Initiate Booking

agent-browser click @<bookButtonRef>
agent-browser wait --load networkidle

Detect what happened:

Check URL with agent-browser get url:

  • Still on google.com/maps → Google-native widget or iframe
  • opentable.com → OpenTable flow (see THIRD-PARTY-PROVIDERS.md)
  • resy.com → Resy flow
  • vagaro.com → Vagaro flow
  • yelp.com/reservations → Yelp flow
  • toasttab.com → Toast flow
  • Other domain → Generic 3rd-party flow

Check for iframes: If the booking widget loaded in an iframe:

agent-browser snapshot -i

If you see an iframe element in the snapshot, identify its CSS selector (e.g., id or name attribute), then switch into it:

agent-browser frame "#booking-iframe"
agent-browser snapshot -i

To return to the main frame after interacting with the iframe:

agent-browser frame main

Step 4: Select Date, Time & Party Size

Take a snapshot to identify the booking form elements:

agent-browser snapshot -i

For restaurants, look for:

  • Date picker: calendar widget or date dropdown
  • Time slots: buttons or dropdown with available times
  • Party size: number input, dropdown, or +/- buttons

Fill in the user's preferences:

agent-browser click @<datePickerRef>
# Navigate to correct date in calendar
agent-browser click @<targetDateRef>
agent-browser click @<timeSlotRef>
agent-browser fill @<partySizeRef> "<count>"

If the preferred time is unavailable, snapshot again and present available alternatives to the user.

Step 5: Fill Personal Information

agent-browser snapshot -i
agent-browser fill @<nameFieldRef> "<user's name>"
agent-browser fill @<phoneFieldRef> "<user's phone>"
agent-browser fill @<emailFieldRef> "<user's email>"

If there's a special requests field:

agent-browser fill @<specialRequestsRef> "<user's requests>"

Snapshot to verify all fields are populated correctly.

Step 6: Confirm Before Submitting

MANDATORY: Before clicking the final booking button, present the user with a summary:

Booking Summary:
- Place: [restaurant name]
- Date: [date]
- Time: [time]
- Party size: [count]
- Name: [name]
- Special requests: [if any]

Confirm this booking?

Only proceed after user confirms.

Step 7: Complete Booking

agent-browser click @<confirmButtonRef>
agent-browser wait --load networkidle
agent-browser snapshot -i

Look for confirmation indicators:

  • "Reservation confirmed"
  • "Booking confirmed"
  • Confirmation number/code
  • "You're all set"

Take a screenshot for the user's records:

agent-browser screenshot confirmation.png

Report to the user:

  • Confirmation status
  • Confirmation number (if shown)
  • Date/time/party size confirmed
  • Any special instructions from the restaurant

Error Handling

CAPTCHA Detected

Inform the user: "Google is showing a CAPTCHA. Please complete it manually." Wait for user to resolve, then continue.

Slot No Longer Available

Re-snapshot, show remaining available slots, ask user to pick another.

Payment Required

Inform the user: "This booking requires payment. I cannot enter payment details. Please complete payment manually." Take a screenshot showing the payment page.

No Availability

Suggest: different date/time, nearby similar restaurants, or trying again later.

Multiple Booking Options

If the place offers multiple booking types (dine-in, takeout, waitlist), ask the user which one before proceeding.

Session Management

Use --session for parallel searches:

agent-browser --session search1 --profile ~/.reservegoogle open "https://www.google.com/maps"

Reference Files


Lessons Learned (Feb 2026)

SevenRooms-Specific Patterns

The SevenRooms booking system (used by many restaurants) has unique quirks:

Title Dropdown Issue

Problem: Clicking the select button (@e2) doesn't always reveal options in a way agent-browser can interact with.

Solution: Use text-based selection instead:

agent-browser find text "Mr." click

For ambiguous matches (multiple "Mr." elements):

agent-browser find text --exact "Mr." click

Policy Checkbox Detection

Problem: The "I agree to the venue's required policy *" checkbox element isn't exposed in snapshots as a standard checkbox.

Solution: Click the policy text directly:

agent-browser find text "I agree to the venue's required policy" click

Form Session Timeout

Problem: Many booking systems (including SevenRooms) hold a table for ~20 minutes. If you take too long filling forms, the hold expires and you must re-select.

Solution:

  • Fill forms quickly without overthinking
  • Re-selection flow: Back → re-select time → Continue as Guest → title → fill fields → policy → Submit

Form Field Reset Behavior

Observation: Title may persist across session resets, but First Name, Last Name, Email, and Phone fields typically clear.

Solution: Always verify and refill all form fields before final submission.

Faster Booking Script

For repeat bookings at the same venue:

# Open booking page
agent-browser open "https://www.sevenrooms.com/reservations/restaurantname"

# Select date/time/guests → SEARCH
agent-browser snapshot -i
agent-browser click @<dateRef>
agent-browser click @<timeRef>
agent-browser fill @<partySizeRef> "3"
agent-browser click @<searchButtonRef>
agent-browser snapshot -i

# Click desired time slot
agent-browser click @<timeSlotRef>

# Quick guest flow
agent-browser find text "Continue as guest" click
agent-browser click @<selectTitleRef>
agent-browser find text "Mr." click

# Fill and submit
agent-browser fill @<firstNameRef> "John"
agent-browser fill @<lastNameRef> "Doe"
agent-browser fill @<emailRef> "john.doe@example.com"
agent-browser fill @<phoneRef> "+1234567890"
agent-browser find text "I agree to the venue's required policy" click
agent-browser click @<submitRef>

Element Reference Changes

Critical: Element references (@e1, @e2, etc.) change on EVERY page load or interaction. Always run snapshot immediately before clicking.

Error Recovery Patterns

If submit fails or hold expires:

  1. Check console logs: agent-browser console
  2. Look for "Released hold" messages (indicates timeout)
  3. Back out to time selection: agent-browser click @<backRef>
  4. Re-select same time slot
  5. Continue from guest flow

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Codex

37.47%
按下载量换算35

Claude

29.74%
按下载量换算28

Cursor

19.16%
按下载量换算18

Gemini CLI

9.94%
按下载量换算9

安全审计

Gen Agent Trust Hub

通过

Socket

可疑

Snyk

未通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

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

来源信息

继续浏览同类 Skills