← 返回 Skills 市场
Check and book Tennis and Pickleball Courts at Bay Club Gateway
作者
Lizzie Siegle
· GitHub ↗
· v1.0.0
563
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install bayclub-gateway-booking
功能描述
Book and manage tennis/pickleball courts at Bay Club.
使用说明 (SKILL.md)
Bay Club Manager
This skill uses Stagehand and TypeScript to automate browser bookings.
Instructions
When the user asks to book or check courts:
- Use the
shelltool to run the implementation script. - The command to run is:
NODE_ENV=development STAGEHAND_ENV=LOCAL HEADLESS=true npx ts-node --transpile-only {baseDir}/bayclub_skills.ts - Pass user arguments (date, time, club) as strings to the script.
Files
- Logic:
{baseDir}/bayclub_skills.ts - Browser Engine:
{baseDir}/BayClubBot.ts
安全使用建议
This skill appears to implement the advertised booking functionality, but there are a few issues to check before installing:
- Credentials: The registry metadata claims no required env vars, yet the code needs BAYCLUB_USERNAME and BAYCLUB_PASSWORD to log into Bay Club. It also optionally uses GOOGLE_CALENDAR_CREDENTIALS (or a local JSON file) and BROWSERBASE_API_KEY/BROWSERBASE_PROJECT_ID in production. Don't install unless you're prepared to provide those secrets.
- Least privilege for Google: If you enable calendar integration, create a dedicated service account with only the calendar permissions you need (share a single calendar, not your primary account) and avoid giving overly broad access.
- Execution surface: The skill runs TypeScript with npx ts-node (i.e., executes code included in the skill). Run it in an isolated environment (container or throwaway VM / personal server) until you review the code fully—this prevents accidental exposure if something unexpected is added.
- Audit dependencies & provenance: package-lock.json includes many dependencies. If you intend to run this on a persistent host, review package.json/lockfile and consider installing in an environment where you control network access. Also, there's no homepage or official source in the registry metadata; prefer skills with a verifiable source or ask the publisher for the repo.
- Ask for fixes: Request that the skill metadata / SKILL.md be updated to declare required env vars (BAYCLUB_USERNAME, BAYCLUB_PASSWORD) and to document optional GOOGLE_* and BROWSERBASE_* variables so users know exactly what will be needed.
If you cannot verify the author or are uncomfortable providing the credentials, do not install it on a system with sensitive data or long-lived credentials.
功能分析
Type: OpenClaw Skill
Name: bayclub-gateway-booking
Version: 1.0.0
The skill automates Bay Club court bookings and integrates with Google Calendar. It requires `BAYCLUB_USERNAME`, `BAYCLUB_PASSWORD`, and optionally Google Calendar service account credentials. While the `SKILL.md` instructions for the AI agent are slightly ambiguous regarding the entry point (`bayclub_skills.ts` vs. `cli.ts`), the underlying TypeScript code (`bayclub_skills.ts`, `BayClubBot.ts`, `GoogleCalendarService.js`) handles user inputs (`sport`, `day`, `time`) with sufficient sanitization (type checking, mapping, string comparisons, date parsing) to prevent shell or XPath injection. The use of `--no-sandbox` for browser automation is a general security vulnerability in the execution environment but is common for such tasks and does not indicate malicious intent by the skill developer. No evidence of data exfiltration, malicious execution, persistence mechanisms, or prompt injection against the agent was found. The requested Google Calendar scope is appropriate for the stated functionality.
能力评估
Purpose & Capability
The skill's name/description (book Bay Club courts) aligns with the code: Stagehand automation to log in, check availability, book courts, and optionally add events to Google Calendar. However the package/registry metadata declares no required environment variables while the runtime code expects BAYCLUB_USERNAME and BAYCLUB_PASSWORD (and optionally Google Calendar credentials and Browserbase API keys). That mismatch between declared requirements and actual runtime needs is an incoherence.
Instruction Scope
SKILL.md tells the agent to run a local TypeScript script via the shell using npx ts-node, which will execute the included code. The code limits browser actions to bayclubconnect.com and optionally uses a local credential file or environment variables for Google Calendar; it does not appear to read unrelated system files or exfiltrate data to unknown endpoints. Still, SKILL.md does not document the required BAYCLUB credentials or the optional Google service account variables, which is a documentation gap that could lead to confusion or accidental misconfiguration.
Install Mechanism
There is no custom download/install step in the registry spec (instruction-only), and dependencies are typical npm packages declared in package.json/package-lock.json. There are no installs from arbitrary URLs or extract steps. Running npm install (or allowing the platform to install dependencies) is the expected path.
Credentials
The runtime code requires BAYCLUB_USERNAME and BAYCLUB_PASSWORD (used for site login) but the registry metadata lists no required env vars. Optional but significant credentials are supported: GOOGLE_CALENDAR_CREDENTIALS (or a credentials file) for calendar integration and BROWSERBASE_API_KEY / BROWSERBASE_PROJECT_ID for production browser execution. Requesting Google service-account credentials (with 'make changes to events' permission) is reasonable for calendar functionality but should be clearly declared and limited. The undeclared required Bay Club credentials and multiple optional credential hooks are disproportionate to what's stated in the registry metadata/documentation.
Persistence & Privilege
The skill is not force-installed (always: false), does not modify other skills or system-wide settings, and has no special persistence demands beyond reading environment variables and optional local credential files within its own directory.
如何使用
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install bayclub-gateway-booking - 安装完成后,直接呼叫该 Skill 的名称或使用
/bayclub-gateway-booking触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release of Bay Club Manager skill.
- Book and manage tennis/pickleball courts at Bay Club through automation.
- Invocable by users to check availability or make bookings.
- Uses a TypeScript script with browser automation via Stagehand.
- Runs booking logic through a shell command; user can pass date, time, and club as arguments.
元数据
常见问题
Check and book Tennis and Pickleball Courts at Bay Club Gateway 是什么?
Book and manage tennis/pickleball courts at Bay Club. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 563 次。
如何安装 Check and book Tennis and Pickleball Courts at Bay Club Gateway?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install bayclub-gateway-booking」即可一键安装,无需额外配置。
Check and book Tennis and Pickleball Courts at Bay Club Gateway 是免费的吗?
是的,Check and book Tennis and Pickleball Courts at Bay Club Gateway 完全免费(开源免费),可自由下载、安装和使用。
Check and book Tennis and Pickleball Courts at Bay Club Gateway 支持哪些平台?
Check and book Tennis and Pickleball Courts at Bay Club Gateway 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Check and book Tennis and Pickleball Courts at Bay Club Gateway?
由 Lizzie Siegle(@elizabethsiegle)开发并维护,当前版本 v1.0.0。
推荐 Skills