openclaw / knhb-hockey
Install for your project team
Run this command in your project directory to install the skill for your entire team:
mkdir -p .claude/skills/knhb-hockey && curl -L -o skill.zip "https://fastmcp.me/Skills/Download/4352" && unzip -o skill.zip -d .claude/skills/knhb-hockey && rm skill.zip
Project Skills
This skill will be saved in .claude/skills/knhb-hockey/ and checked into git. All team members will have access to it automatically.
Important: Please verify the skill by reviewing its instructions before using it.
Query Dutch field hockey match schedules and results from KNHB Match Center (hockeyweerelt.nl). Use when looking up hockey clubs, teams, upcoming matches, or match results in the Netherlands.
0 views
0 installs
Skill Content
---
name: knhb-hockey
description: Query Dutch field hockey match schedules and results from KNHB Match Center (hockeyweerelt.nl). Use when looking up hockey clubs, teams, upcoming matches, or match results in the Netherlands.
---
# KNHB Hockey Match Center
Query the Dutch Hockey Federation (KNHB) Match Center API for clubs, teams, and matches.
## API Base URL
```
https://publicaties.hockeyweerelt.nl/mc
```
## Endpoints
### List all clubs
```bash
curl -s "https://publicaties.hockeyweerelt.nl/mc/clubs" | jq '.data[]'
```
Response includes: `id`, `name`, `abbreviation`, `city`, `district.name`, `logo`, `hockey_types[]`
### Search clubs by name or city
```bash
curl -s "https://publicaties.hockeyweerelt.nl/mc/clubs" | jq '.data[] | select(.name | test("Westland"; "i"))'
curl -s "https://publicaties.hockeyweerelt.nl/mc/clubs" | jq '.data[] | select(.city | test("Delft"; "i"))'
```
### List teams for a club
```bash
curl -s "https://publicaties.hockeyweerelt.nl/mc/clubs/{clubId}/teams" | jq '.data[]'
```
Response includes: `id`, `name`, `short_name`, `type` (Veld/Zaal), `category_group`, `category_name`, `next_match_date`
### Get upcoming matches for a team
```bash
curl -s "https://publicaties.hockeyweerelt.nl/mc/teams/{teamId}/matches/upcoming" | jq '.data[]'
```
### Get official (played) matches for a team
```bash
curl -s "https://publicaties.hockeyweerelt.nl/mc/teams/{teamId}/matches/official" | jq '.data[]'
```
Match response includes:
- `datetime` — ISO 8601 format (UTC)
- `location.city`, `location.street`, `location.description`
- `home_team.name`, `home_team.club_name`
- `away_team.name`, `away_team.club_name`
- `home_score`, `away_score` — null for upcoming matches
- `competition`, `poule`, `status`, `field`
## Common Queries
### Find a club and list its teams
```bash
# Find club ID
CLUB_ID=$(curl -s "https://publicaties.hockeyweerelt.nl/mc/clubs" | jq -r '.data[] | select(.name | test("Westland"; "i")) | .id' | head -1)
# List teams
curl -s "https://publicaties.hockeyweerelt.nl/mc/clubs/${CLUB_ID}/teams" | jq -r '.data[] | "\(.id) \(.name) (\(.type)) - next: \(.next_match_date)"'
```
### Get next match for a specific team
```bash
curl -s "https://publicaties.hockeyweerelt.nl/mc/teams/{teamId}/matches/upcoming" | jq '.data[0] | {
date: .datetime,
home: .home_team.name,
away: .away_team.name,
location: .location.city,
field: .field
}'
```
### Format match schedule nicely
```bash
curl -s "https://publicaties.hockeyweerelt.nl/mc/teams/{teamId}/matches/upcoming" | jq -r '.data[] | "\(.datetime | split("T")[0]) \(.datetime | split("T")[1] | split(".")[0] | .[0:5]) - \(.home_team.name) vs \(.away_team.name) @ \(.location.city)"'
```
## Team Categories
- **Senioren**: Adult teams (H1, D1, etc.)
- **Junioren**: U18-U21
- **Jongste Jeugd**: Youth teams (MO/JO prefixes)
- MO = Meisjes Onder (Girls Under)
- JO = Jongens Onder (Boys Under)
- Example: MO11 = Girls Under 11
## Notes
- **Datetime is in UTC** — add 1 hour for Amsterdam winter time (CET), 2 hours for summer (CEST)
- Use `date` command or proper date library to convert and get correct day of week
- `type: "Veld"` = outdoor field hockey, `type: "Zaal"` = indoor hockey
- **Teams have separate IDs for Veld and Zaal** — always query both to get complete schedule
- Veld season: ~Sep-Jun (outdoor), Zaal season: ~Nov-Mar (indoor)