← Back to Skills Marketplace
dedene

Irail

by dedene · GitHub ↗ · v1.0.1
cross-platform ✓ Security Clean
681
Downloads
0
Stars
2
Active Installs
2
Versions
Install in OpenClaw
/install irail
Description
Query Belgian railway (NMBS/SNCB) schedules via the irail CLI. Use when the user wants train departures, connections between stations, train compositions, or...
README (SKILL.md)

irail-cli

CLI for Belgian railways (NMBS/SNCB) via iRail API. No authentication required.

Quick Start

# Station departures
irail liveboard Brugge

# Find connections
irail connections Brugge Leuven

# Check disruptions
irail disturbances

Authentication

None required. iRail API is public and free to use.

Core Rules

  1. Always use --json when parsing output programmatically
  2. Station names are flexible - accepts partial matches, quotes for multi-word
  3. Time format - HH:MM (24-hour), date format YYYY-MM-DD
  4. Language options - nl, fr, en, de (default: nl)

Output Formats

Flag Format Use case
(default) Table User-facing with colors
--json JSON Agent parsing, scripting

Colors indicate: red = delays, yellow = platform changes.

Workflows

Liveboard (Departures/Arrivals)

# Departures from station
irail liveboard Brugge
irail liveboard "Brussel-Centraal"

# Arrivals instead of departures
irail liveboard Brugge --arrivals

# Specific date/time
irail liveboard Brugge --time 09:00 --date 2025-02-15

# JSON for scripting
irail liveboard Brugge --json

# Different language
irail liveboard Brugge --lang en

Connections (Route Planning)

# Find routes
irail connections Brugge Leuven

# Specific departure time
irail connections Brugge Leuven --time 09:00

# Arrive by time (instead of depart at)
irail connections Brugge Leuven --time 14:00 --arrive-by

# More results
irail connections Brugge Leuven --results 10

# JSON for parsing
irail connections Brugge Leuven --json

Stations

# List all stations
irail stations

# Search stations
irail stations --search bruss
irail stations --search gent

# JSON for scripting
irail stations --json

Vehicle (Train Info)

# Show train information
irail vehicle IC1832

# Include all stops
irail vehicle IC1832 --stops

# JSON output
irail vehicle IC1832 --json

Composition (Train Cars)

# Show train composition (seats, amenities)
irail composition S51507
irail composition IC1832

# JSON for parsing
irail composition S51507 --json

Disturbances

# All current disruptions
irail disturbances

# Only planned works
irail disturbances --type planned

# Only unplanned disruptions
irail disturbances --type disturbance

# JSON for scripting
irail disturbances --json

Scripting Examples

# Get next train to destination
irail connections Brugge Leuven --json | jq -r '.[0].departure'

# Find station ID
irail stations --search "brussel" --json | jq -r '.[0].id'

# Check if delays exist on liveboard
irail liveboard Brugge --json | jq '[.[] | select(.delay > 0)] | length'

# Get platform for next departure
irail liveboard Brugge --json | jq -r '.[0].platform'

# List all disruptions
irail disturbances --json | jq -r '.[].title'

Environment Variables

Variable Description
IRAIL_LANG Default language (nl, fr, en, de)
IRAIL_JSON Default to JSON output
NO_COLOR Disable colored output

Language Options

Code Language
nl Dutch (default)
fr French
en English
de German
irail liveboard Brugge --lang fr
irail connections Brugge Leuven --lang en

Command Reference

Command Description
liveboard Station departures/arrivals
connections Route planning between stations
stations List/search stations
vehicle Train information and stops
composition Train car composition
disturbances Service disruptions
completion Shell completions

Common Patterns

Check if train is delayed

irail vehicle IC1832 --json | jq '.delay // 0'

Get connection with transfers

irail connections Brugge Leuven --json | jq '.[0].vias | length'

Find direct trains only

irail connections Brugge Leuven --json | jq '[.[] | select(.vias == null or (.vias | length) == 0)]'

Guidelines

  • No authentication needed - API is public
  • Be mindful of API usage in loops - add delays between requests
  • Station names are case-insensitive and support partial matching
  • Delay values are in seconds (divide by 60 for minutes)

Installation

brew install dedene/tap/irail
Usage Guidance
This skill is coherent with its stated purpose, but it requires installing and executing a third‑party CLI. If you plan to install: (1) review the GitHub repo (https://github.com/dedene/irail-cli) to confirm the source code and that you trust the author; (2) prefer building from source (go install) if you want to avoid adding a third‑party Homebrew tap; (3) be aware the agent will need permission to run the irail binary and network access to call the public iRail API; and (4) if you need stronger supply-chain guarantees, verify release checksums/signatures or sandbox the binary before use.
Capability Analysis
Type: OpenClaw Skill Name: irail Version: 1.0.1 The skill bundle is designed to query Belgian railway schedules using the `irail-cli` tool. All instructions in `SKILL.md` are focused on the legitimate use of `irail` and `jq` for parsing its output. There is no evidence of data exfiltration, malicious execution, persistence, or prompt injection attempts against the agent to perform unauthorized actions. The installation methods are standard, and the commands demonstrated are benign and aligned with the stated purpose.
Capability Assessment
Purpose & Capability
Name/description (Belgian railway queries) match the declared requirements: the skill needs the irail CLI and optionally jq. No unrelated credentials, files, or services are requested.
Instruction Scope
SKILL.md only instructs running the irail CLI and (optionally) jq, and to prefer --json for machine parsing. It does not ask the agent to read unrelated files, exfiltrate data, or access unrelated environment variables.
Install Mechanism
Install options are a third‑party Homebrew tap (dedene/tap) or a Go package from GitHub (github.com/dedene/irail-cli). Both are reasonable for a CLI but involve pulling code from external sources; the brew tap is not an official core formula so verify the tap/author if you require higher assurance.
Credentials
The skill declares no required credentials. SKILL.md documents optional environment variables (IRAIL_LANG, IRAIL_JSON, NO_COLOR) that are appropriate for a CLI tool and proportional to its functionality.
Persistence & Privilege
The skill does not request always:true and is user-invocable only. It does not modify other skills or system-wide settings in its instructions.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install irail
  3. After installation, invoke the skill by name or use /irail
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.1
- Added license, homepage, and author metadata to SKILL.md. - Introduced explicit version ("1.1.0") in the metadata block. - Declared OpenClaw requirements for binaries and installation methods (brew and go). - Appended an Installation section with brew instructions at the end of SKILL.md. - No changes made to CLI usage, workflows, or command documentation.
v1.0.0
- Initial release of irail-cli: a command-line tool for querying Belgian railway (NMBS/SNCB) schedules, connections, train info, and disruptions via the iRail API. - Supports features like live station departures/arrivals, connection planning, train compositions, and real-time/upcoming disturbances. - No authentication required; API is public and free to use. - Flexible station search, multi-language output (Dutch, French, English, German), and multiple formats (colored table or JSON). - Includes scripting examples and common jq patterns for advanced usage.
Metadata
Slug irail
Version 1.0.1
License
All-time Installs 2
Active Installs 2
Total Versions 2
Frequently Asked Questions

What is Irail?

Query Belgian railway (NMBS/SNCB) schedules via the irail CLI. Use when the user wants train departures, connections between stations, train compositions, or... It is an AI Agent Skill for Claude Code / OpenClaw, with 681 downloads so far.

How do I install Irail?

Run "/install irail" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Irail free?

Yes, Irail is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Irail support?

Irail is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Irail?

It is built and maintained by dedene (@dedene); the current version is v1.0.1.

💬 Comments