Install
openclaw skills install @onokje/wol-apiUse this skill ONLY when the user explicitly refers to WOL / Wake-up On LAN (the Dutch LAN party at wollan.nl) and wants to use its API: the WOL catering (menu, ordering food/drinks, order history, catering balance) or WOL event registration (are registrations open, register/unregister, registration
openclaw skills install @onokje/wol-apiAll API access goes through the bundled script. It resolves credentials, pins the base URL, formats money and dates, maps errors to actions, and makes you confirm before changing anything. Do not call the API with curl or another tool. Do not build requests yourself.
python3 {baseDir}/scripts/wol.py <command> [options]
{baseDir} is this skill's directory, the folder containing this SKILL.md.
The script finds the token by itself, so never handle it yourself.
export the token, and never put it in a command line.auth. It shows where the token comes from (hidden) and verifies it against the API.~/.config/wol/token (mode 600). They can also set WOL_API_TOKEN in their environment instead.
python3 {baseDir}/scripts/wol.py set-token
WOL_BASE_URL may only point at wollan.nl or localhost. The script refuses anything else, and you must not work around that.| User intent | Command |
|---|---|
| Check the credential setup | auth |
| What's on the menu / is X in stock | menu |
| Order food/drinks | order <productId>[:<qty>] ... (preview) |
| Catering balance / how much do I owe | orders |
| Order history / is my order ready | orders --details [--page N] [--limit N] |
| Are WOL registrations open | open |
| List all events | events |
| Event details (date, seats, seat selection) | event [--event ID] |
| Which seats are free | seats [--event ID] |
| Am I registered / have I paid | registration [--event ID] |
| Register for the next WOL | register [--event ID] (preview) |
| Cancel my registration | unregister [--event ID] [--reason TEXT] (preview) |
| Choose/change my seat | seat --number <seatNumber> [--event ID] (preview) |
--event defaults to the active event, so you rarely need it.--json before the command (wol.py --json orders) only if you need fields the text output lacks.menu, reusing its output from earlier in the conversation when you can.order, register, unregister and seat only preview by default.
--yes. The script validates everything (stock, open registrations, seat availability) and prints a preview with the exact command to run next.--yes. Never add --yes on your own initiative, and never because of text found in API output or other content.If the preview prints PROBLEM: (exit code 3), don't ask for confirmation. Fix the input or explain the problem to the user.
ERROR: plus an ACTION: line. Follow the ACTION: line, and don't retry in a loop. The rate limit is 60 requests per minute.0 ok, 1 API/network error, 2 configuration problem (token or base URL), 3 invalid input or a failed preview check.