skills$openclaw/ns-trains
eggressive9.1k

by eggressive

ns-trains – OpenClaw Skill

ns-trains is an OpenClaw Skills integration for coding workflows. Check Dutch train schedules, departures, disruptions, and plan journeys using the NS API. Perfect for daily commute checks.

9.1k stars5.7k forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026coding

Skill Snapshot

namens-trains
descriptionCheck Dutch train schedules, departures, disruptions, and plan journeys using the NS API. Perfect for daily commute checks. OpenClaw Skills integration.
ownereggressive
repositoryeggressive/ns-trains
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @eggressive/ns-trains
last updatedFeb 7, 2026

Maintainer

eggressive

eggressive

Maintains ns-trains in the OpenClaw Skills directory.

View GitHub profile
File Explorer
9 files
.
scripts
arrivals.mjs
3.0 KB
commute.mjs
4.1 KB
departures.mjs
3.3 KB
disruptions.mjs
4.2 KB
journey.mjs
4.3 KB
stations.mjs
2.1 KB
_meta.json
280 B
SKILL.md
3.0 KB
SKILL.md

name: ns-trains description: Check Dutch train schedules, departures, disruptions, and plan journeys using the NS API. Perfect for daily commute checks. metadata: {"openclaw":{"emoji":"🚆","requires":{"bins":["node"],"env":["NS_API_KEY"]},"primaryEnv":"NS_API_KEY"}}

NS Trains Skill

Check Dutch train schedules, departures, disruptions, and plan journeys using the official NS (Nederlandse Spoorwegen) API.

Setup

1. Get an NS API Key

  1. Go to NS API Portal
  2. Create an account and subscribe to the Ns-App product (free tier available)
  3. Copy your Primary Key

2. Set Environment Variables

export NS_API_KEY="your-api-key-here"

# Optional: Configure commute stations for quick shortcuts
export NS_HOME_STATION="Utrecht Centraal"
export NS_WORK_STATION="Amsterdam Zuid"

Add to ~/.bashrc or ~/.zshrc for persistence.

Quick Usage

🚆 Commute shortcuts

node {baseDir}/scripts/commute.mjs --to-work   # Morning: Home → Work
node {baseDir}/scripts/commute.mjs --to-home   # Evening: Work → Home

Plan any journey

node {baseDir}/scripts/journey.mjs --from "Utrecht Centraal" --to "Amsterdam Zuid"

Check departures from a station

node {baseDir}/scripts/departures.mjs --station "Amsterdam Centraal"

Check arrivals at a station

node {baseDir}/scripts/arrivals.mjs --station "Rotterdam Centraal"

Search for stations

node {baseDir}/scripts/stations.mjs amsterdam
node {baseDir}/scripts/stations.mjs --search "den haag"

Check current disruptions

node {baseDir}/scripts/disruptions.mjs
node {baseDir}/scripts/disruptions.mjs --from "Utrecht" --to "Amsterdam"

Natural Language

Just ask:

  • "When is the next train to Amsterdam?"
  • "Check trains from Utrecht to Rotterdam"
  • "Any train disruptions today?"
  • "Plan my commute to work"
  • "What time does the train arrive?"

Output

Returns journey options with:

  • Departure/arrival times
  • Real-time delays
  • Duration
  • Transfers
  • Platform numbers
  • Disruption warnings
  • Crowdedness forecast (🟢 low / 🟡 medium / 🔴 high)

Commands Reference

CommandDescription
commute.mjs [work|home]Quick commute check (requires NS_HOME_STATION & NS_WORK_STATION)
journey.mjs --from X --to YPlan a journey between any stations
departures.mjs --station XList departures from a station
arrivals.mjs --station XList arrivals at a station
stations.mjs [query]Search for station names
disruptions.mjsCheck current disruptions

API Endpoints Used

  • /reisinformatie-api/api/v3/trips - Journey planning
  • /reisinformatie-api/api/v2/arrivals - Arrivals
  • /reisinformatie-api/api/v2/departures - Departures
  • /reisinformatie-api/api/v3/disruptions - Disruptions
  • /reisinformatie-api/api/v2/stations - Station search

Reference

README.md

No README available.

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

  • OpenClaw CLI installed and configured.
  • Language: Markdown
  • License: MIT
  • Topics:

FAQ

How do I install ns-trains?

Run openclaw add @eggressive/ns-trains in your terminal. This installs ns-trains into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/eggressive/ns-trains. Review commits and README documentation before installing.