Install
openclaw skills install mensaReturns today's lunch menu of a German university canteen via the public OpenMensa API (no API key). One-time non-interactive setup picks a city; afterwards every canteen in that city is queryable by name substring.
openclaw skills install mensaReturns the daily menu of a German university canteen, sourced from the public OpenMensa API (https://openmensa.org). No API key needed.
Trigger this skill when the user asks for today's (or another day's) canteen / "Mensa" menu, e.g. "What's for lunch at the Mensa today?" or "Mensaplan heute".
python3 {baseDir}/mensa_today.py --setup "<city>"
# or, with a preferred default:
python3 {baseDir}/mensa_today.py --setup "<city>" --default "<favourite canteen substring>"
All canteens in that city are saved as aliases; one of them is marked as default.python3 {baseDir}/mensa_today.py # default canteen, today
python3 {baseDir}/mensa_today.py "UniCampus" # any canteen in the city, by name substring
python3 {baseDir}/mensa_today.py "Otto Hahn" --date 2026-06-02
Substring matching is normalised — special characters (-, ,, .) are ignored, so a query like "Otto Hahn" matches a canteen named "Mensa Otto-Hahn-Straße".--setup for a different city.2026-05-26 - Menu (student price)
- Spaghetti Bolognese - 2.80 EUR
- Couscous - 2.60 EUR (vegetarian)
- Soup - 1.80 EUR (vegan)
Outbound HTTPS to openmensa.org only. No credentials, no telemetry, no user data sent. The user's city and canteen choice stay in a local config.json next to the script.
mensa_today.py — entry point (no third-party deps, stdlib only)config.json — created on first --setup, holds chosen canteen ids (gitignored, never uploaded)README.md, LICENSE.md