← Back to Skills Marketplace
elizabethsiegle

Check and book Tennis and Pickleball Courts at Bay Club Gateway

by Lizzie Siegle · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
563
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install bayclub-gateway-booking
Description
Book and manage tennis/pickleball courts at Bay Club.
README (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:

  1. Use the shell tool to run the implementation script.
  2. The command to run is: NODE_ENV=development STAGEHAND_ENV=LOCAL HEADLESS=true npx ts-node --transpile-only {baseDir}/bayclub_skills.ts
  3. Pass user arguments (date, time, club) as strings to the script.

Files

  • Logic: {baseDir}/bayclub_skills.ts
  • Browser Engine: {baseDir}/BayClubBot.ts
Usage Guidance
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.
Capability Analysis
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.
Capability Assessment
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.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install bayclub-gateway-booking
  3. After installation, invoke the skill by name or use /bayclub-gateway-booking
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
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.
Metadata
Slug bayclub-gateway-booking
Version 1.0.0
License
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Check and book Tennis and Pickleball Courts at Bay Club Gateway?

Book and manage tennis/pickleball courts at Bay Club. It is an AI Agent Skill for Claude Code / OpenClaw, with 563 downloads so far.

How do I install Check and book Tennis and Pickleball Courts at Bay Club Gateway?

Run "/install bayclub-gateway-booking" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Check and book Tennis and Pickleball Courts at Bay Club Gateway free?

Yes, Check and book Tennis and Pickleball Courts at Bay Club Gateway is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Check and book Tennis and Pickleball Courts at Bay Club Gateway support?

Check and book Tennis and Pickleball Courts at Bay Club Gateway is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Check and book Tennis and Pickleball Courts at Bay Club Gateway?

It is built and maintained by Lizzie Siegle (@elizabethsiegle); the current version is v1.0.0.

💬 Comments