Surf forecast decision engine. Outputs surfable conditions for agent alerting.
Checks surf forecasts and tells you when conditions are worth paddling out.
cd {baseDir} && npm install
npm run check
Run from the skill directory:
cd {baseDir} && npm run check
| Command | When to Use |
|---|---|
npm run check | User asks about surf conditions |
npm run check:debug | Debugging why a day did/didn't qualify |
npm run check:json | When you need structured data |
npm run check:cron | Automated checks (cron job uses this) |
🏄 **Surf Forecast Summary**
**Belmar (16th Ave)**
• Saturday: 2-3ft (Fair)
**Long Branch**
• Saturday: 2-3ft (Fair)
If nothing meets thresholds, output is empty (cron mode) or shows "No surfable conditions in the forecast."
| Days Out | Minimum Rating | Why |
|---|---|---|
| 4+ days | Fair-Good+ | Forecasts are fuzzy, need high confidence |
| 1-3 days | Fair+ | Sweet spot for planning |
| Day of | Good+ (before 8am) | Only if it's actually firing |
Wave height: 2-6ft (configured in src/types.ts)
When conditions are surfable:
When user asks about surf:
npm run check and summarize the outputnpm run check:debug to see whyDefault spots: Belmar (16th Ave), Long Branch (NJ)
To customize, create ~/.surf-check.json:
{
"spots": [
{ "id": "5842041f4e65fad6a7708a01", "name": "My Local Break" }
],
"waveMin": 2,
"waveMax": 6
}
Find spot IDs from Surfline URLs: