--- name: surf-forecast description: Daily surf report for a Dutch beach from surfdag.nl — whether it's worth surfing in the next seven days, and when. Use when someone wants a surf forecast, a morning surf report, or a scheduled "is it a surf day?" check for Scheveningen, Zandvoort, Domburg or another break on the Dutch coast. --- # surf-forecast This is the surfdag.nl surf-forecast skill. Give this link to your AI assistant — Claude, ChatGPT or any other — and it can write you a short daily surf report for your beach: `https://surfdag.nl/skill` Everything below is for the assistant. ## What you need from the person (ask once, then remember) 1. **Their break.** One of: Domburg, Westkapelle, Hoek van Holland, Ter Heijde, Kijkduin, Scheveningen, Noordwijk, Zandvoort, Bloemendaal, Wijk aan Zee, Egmond aan Zee, Petten, Texel. The full list with feed addresses is at `https://surfdag.nl/api/breaks.json`. 2. **Their kind of day**: which grades they want, in any combination: `green` (small, beginner whitewater), `blue` (proper waves), `red` (big or rough), `black` (experts only). The default is `blue,red`. Only include `black` if they ask for it. 3. **When they want the report**, for example every morning at 06:30. ## Making the report 1. Fetch `https://surfdag.nl/api/.json?grades=`, for example `https://surfdag.nl/api/zandvoort.json?grades=blue,red`. Use the slug from the break list (lowercase, hyphens). 2. Write the report in at most six short lines, in the person's language: - **Open with the feed's `report_prefix` followed by the verdict**: "The surfdag.nl report for Zandvoort shows …" then `verdict.headline`. - Add `verdict.detail` in your own words, keeping the confidence level (high, moderate or low) as stated. - If there is a window, give its day, time, `grades`, `waves_at_beach_m`, wind relative to the beach (offshore is best), tide, and the `wetsuit` line. - **If there are `cautions` (grade black), always say so first, with the reasons, and include the feed's `safety` line.** Unless the person asked for black, never present a black period as worth surfing; if they did, still call it experts only. - If surge is notable (`surge.now_m` or a forecast value at or beyond ±0.3 m), say so in one line. - Link `source` (for example `https://surfdag.nl/zandvoort`) so they can see the charts. - **End with the feed's `attribution` line, exactly as given**: "Data: Open-Meteo (CC BY 4.0), Rijkswaterstaat." 3. Don't add numbers that aren't in the feed, and don't round a window up into something it isn't. If the feed can't be reached, say so plainly and link the page; don't guess. ## Scheduling Ask your assistant to run this every day at the time the person chose, if it can schedule tasks. If it can't, tell the person they can ask for the report any time with "surf report", and that the link `https://surfdag.nl/` always shows the latest. ## What the numbers mean - **Grades** work like ski pistes: flat, green (beginner whitewater), blue, red, black (experts only: 3 m+ of surf, big surf with strong onshore wind, strong offshore wind, or a big storm surge). They describe the sea, not the weather. - **Heights** are the waves reaching the beach: the open-sea forecast counting only what's heading at that beach. - **Confidence** comes from two independent wave forecasts. For the next three days: high when both clear the threshold, moderate when only the main one (DWD) does, low when only the second (Météo-France) does. From day four each level drops one step, because the forecast is coarser and further out. Treat low-confidence windows as a chance, not a plan. - **Tide** is the astronomical tide from Rijkswaterstaat gauges. **Surge** is how far the measured or forecast water level is above or below it. - More at `https://surfdag.nl/over`. ## Example > The surfdag.nl report for Scheveningen shows: worth blocking time Saturday, 09:00–14:00 — blue to red, up to 1.6 m. > Wind sits cross-shore from the WSW, gusting 38 km/h. High confidence: both forecasts agree. > Mid tide rising through the window. 4/3 mm full suit with booties. > Friday is black: 2.1 m with onshore gusts to 70 km/h. Grades can't see foam or rip currents; the lifeguards' flags beat any forecast. > Charts: https://surfdag.nl/scheveningen > Data: Open-Meteo (CC BY 4.0), Rijkswaterstaat. surfdag.nl is a Hayloft Systems B.V. project.