Token导航 LogoToken导航

Agent Skill · 研究检索

opentable-booking(开放式预订)

opentable-booking 用于处理浏览器自动化、网页检查和页面信息提取,适合在 OpenClaw 中需要让 Agent 打开页面、读取网页或验证前端流程时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

opentable-booking 是研究检索类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为接触敏感数据;许可证为 MIT-0,第三方扫描已通过,按安装量在研究检索类的 73,675 个 Skill 里排第 17,862。

总安装 6,379周安装 274GitHub Stars 1下载 2,236核验 2026-05-01

安装说明

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

安装方式

通过对话安装

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

请帮我安装这个 Agent Skill:opentable-booking(开放式预订)
来源仓库:https://github.com/eeshita-pande/opentable-booking
安装命令:
openclaw skills install opentable-booking
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

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

ClawHubOpenClaw
openclaw skills install opentable-booking

这个 Skill 是做什么的

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

在 OpenTable 平台预订餐厅餐桌,自动处理隐藏时间段与协议勾选。需保持浏览器登录状态以确保权限有效性。支持多城市与菜系筛选,返回可用时段与座位选项。预订成功后建议保存确认凭证以备后续取消或修改使用。安装命令:openclaw skills install opentable-booking

上手步骤

4 步
  1. 1

    确认自己的宿主工具

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

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install opentable-booking;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

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

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

opentable-booking 怎么安装?

在终端执行 openclaw skills install opentable-booking。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

opentable-booking 支持哪些 AI 工具?

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

opentable-booking 需要什么权限?

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

opentable-booking 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

opentable-booking 用的人多吗?

公开数据是累计安装 6,379 次,近一周安装 274 次,下载 2,236 次,GitHub 1 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

opentable-booking 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

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

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。
  • 需要许可证清楚、并且有第三方扫描结果的团队项目。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要厂商级技术支持和 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调用外部服务未明确有提醒
opentable-booking

开放式预订 · 本页

6,3791接触敏感数据MIT-0通过

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

SKILL.md 原文

name
opentable-booking
description
Book restaurant tables on OpenTable via the browser tool. Handles hidden time slots and terms checkboxes with JS evaluate fallbacks. Works with a logged-in session and card on file — no manual card entry needed.
version
1.0.0
metadata
openclaw
emoji
🍽️
requires
config

OpenTable Booking (Browser Tool)

Use the OpenClaw browser tool to book restaurants via OpenTable.

Why this skill exists: OpenTable's widget hides critical UI elements (time-slot links, terms checkboxes) from the accessibility/aria tree. This skill encodes the JS evaluation patterns that reliably find them. See browser-snippets.md for the full snippet reference.

When to Use

  • Any request to book or reserve a restaurant table on OpenTable.
  • Works globally — opentable.com, opentable.co.uk, opentable.de, and all other OpenTable domains.

Do not use for SevenRooms, Resy, Tock, TheFork, or other booking platforms.

Prerequisites

  1. OpenClaw browser is running with profile="openclaw" (headed, not headless — Cloudflare blocks headless on OpenTable).
  2. User is already logged into OpenTable (session cookie present).
  3. A payment card is on file in the OpenTable account (auto-loaded at checkout).

First-time setup: If not yet logged in, navigate to the OpenTable sign-in page manually, authenticate via email + verification code, and ensure a card is saved. This only needs to be done once — the session persists.

Core Loop (MANDATORY)

  1. browser.navigate to target URL.
  2. browser.snapshot (interactive).
  3. Decide action using refs from snapshot.
  4. browser.act (click/fill).
  5. Re-snapshot after every significant action.

Never guess selectors. Never reuse old refs after navigation.

Booking Flow

1) Parse request

Extract from the user's message:

  • Restaurant name (required).
  • Date (required).
  • Time (default: 20:30).
  • Party size (default: 2).
  • Location (default: London).
  • OpenTable domain (default: opentable.co.uk — use opentable.com for US, opentable.de for Germany, etc.).
  • Seating preference (default: standard).
  • Special request (default: none).

2) Navigate to restaurant page

Use slug URL:

https://www.{domain}/r/{restaurant-slug}-{location}?covers={partySize}&dateTime={YYYY-MM-DD}T{HH:MM}

If you don't know the slug, use search:

https://www.{domain}/s?covers={party_size}&dateTime={date}T{time}&term={restaurant}+{location}

Where {domain} is the appropriate OpenTable domain (e.g. opentable.co.uk, opentable.com).

3) Dismiss cookie banner

If a cookie banner appears, click the Accept/Close button by ref. Re-snapshot.

browser.act(click ref for "Accept" / "Accept All" / close button)
browser.snapshot(interactive=true)

4) Confirm/Set date, time, party size

Check the widget bar at the top of the restaurant page. If the pre-filled values don't match the request, click the relevant widget and update:

  • Date picker: click the date field ref → navigate to correct month → click day.
  • Time picker: click time dropdown ref → select correct time.
  • Covers: click covers dropdown ref → select number.

Re-snapshot after each change. Then click "Find a Table" / "Search" if needed.

5) Select time slot (⚠️ JS required)

The time-slot buttons are NOT reliably in the aria tree. Run this JS evaluation to find them:

(() => {
  const links = [...document.querySelectorAll('a')];
  const timeSlots = links.filter(a => {
    const text = a.textContent.trim();
    return /^\d{1,2}:\d{2}$/.test(text) && a.offsetParent !== null;
  });
  return timeSlots.map(a => ({
    time: a.textContent.trim(),
    id: a.id || '',
    href: a.href || '',
    rect: a.getBoundingClientRect().toJSON()
  }));
})()

This returns visible <a> elements whose text matches HH:MM.

To click the desired slot:

(() => {
  const links = [...document.querySelectorAll('a')];
  const target = links.find(a =>
    a.textContent.trim() === '{TARGET_TIME}' && a.offsetParent !== null
  );
  if (target) { target.click(); return 'clicked ' + target.textContent.trim(); }
  return 'not found';
})()

Replace {TARGET_TIME} with the exact HH:MM string (e.g. "20:30").

If the exact time isn't available, pick the nearest available slot. Re-snapshot after clicking.

6) Choose booking type

If options like Standard reservation vs tasting menus appear, select Standard unless user specified otherwise. Click its Select button by ref. Re-snapshot.

7) Verify pre-filled details

Because we're logged in, OpenTable should pre-fill:

  • First name, Last name, Email, Phone number.
  • Card on file (e.g. "Visa ending 0184").

Verify these are present in the snapshot. If guest details are empty, fill them in step 8. If no card on file is shown, stop and inform the user — they need to add a card to their OpenTable account before this skill can complete a booking.

8) Manually fill guest details ONLY if they aren't pre-filled

Use browser.act fill on the fields (from refs):

  • First name, Last name, Email, Phone.

Re-snapshot.

9) Accept terms checkbox (⚠️ JS required)

The terms checkbox is often NOT in the aria tree. Find and check it via JS:

(() => {
  const checkboxes = [...document.querySelectorAll('input[type="checkbox"]')];
  const terms = checkboxes.find(cb => {
    const label = cb.closest('label') || document.querySelector('label[for="' + cb.id + '"]');
    return label && /terms|conditions|policy|agree/i.test(label.textContent);
  });
  if (terms && !terms.checked) {
    terms.click();
    return 'checked terms';
  }
  if (terms && terms.checked) return 'already checked';
  return 'not found';
})()

Re-snapshot to verify it's checked.

10) Complete booking

Find and click the "Complete reservation" / "Confirm" button by ref.

browser.act(click ref={confirm_button_ref})

Re-snapshot.

11) Handle 3DS

If a 3DS authentication iframe or redirect appears:

  • Screenshot the page so the user can see the challenge.
  • Inform the user they need to approve the 3DS challenge on their device / banking app.
  • Wait for user confirmation, then re-snapshot to check for the confirmation page.

12) Report result

Return confirmation number and summary:

  • Restaurant, date, time, party size.
  • Confirmation code (if shown).
  • "Card ending 1234" (never expose full card).

Error Handling

  • If element not found: wait 2–3s, snapshot again (max 3 retries).
  • If redirected to login: stop and ask user.
  • If no card on file: stop and ask user to add a card to their OpenTable account.
  • If timeslots not visible: adjust date/time and retry.

Tooling Constraints

  • Always use browser tool (navigate/snapshot/act/screenshot).
  • One action per step; re-snapshot after each.
  • No CSS/XPath selectors; use refs from snapshot.

External Endpoints

  • opentable.co.uk / opentable.com / other regional OpenTable domains (booking flow only).

Security & Privacy

  • This skill navigates only to OpenTable domains.
  • Card details are never read, logged, or transmitted — they are pre-filled by OpenTable from the user's saved account.
  • No environment variables or API keys are required.
  • This skill does not handle or source payment credentials. Payment relies entirely on the card already saved in the user's OpenTable account.

Trust Statement

By using this skill, your browser navigates to OpenTable and interacts with the page on your behalf. No data is sent to any third party. All booking actions happen within your existing authenticated OpenTable session.

平台分布

OpenClaw

81.41%
按下载量换算1,820

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

接触敏感数据

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

安装前确认

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

继续浏览同类 Skills