Skip to content
Back to skills

Openclaw Commute Traffic

ASecurity

Check real-time traffic conditions for a route between two locations using TomTom. Use when the user asks about traffic, commute time, best time to leave, driving conditions, or road congestion. The user provides origin and destination conversationally — extract them from context.

  • 14 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 7, 2026
developmentpythongobashapi

Works with

  • api

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned September 7, 2026

npx -y skills add modbender/skill-library-mcp --skill openclaw-commute-traffic --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Openclaw Commute Traffic?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Openclaw Commute Traffic
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/modbender-openclaw-commute-traffic/badge)](https://www.skillsdirectory.com/skills/modbender-openclaw-commute-traffic)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: commute-traffic
description: Check real-time traffic conditions for a route between two locations using TomTom. Use when the user asks about traffic, commute time, best time to leave, driving conditions, or road congestion. The user provides origin and destination conversationally — extract them from context.
version: 2.0.0
user-invocable: true
metadata:
  {"openclaw": {"emoji": "🚗", "requires": {"bins": ["python3"], "env": ["TOMTOM_API_KEY"]}, "primaryEnv": "TOMTOM_API_KEY"}}
---

# Commute Traffic Checker (TomTom)

## Purpose

Query real-time traffic data from TomTom for any route and provide the user with actionable travel advice. The script handles geocoding (resolving place names to coordinates) and routing (calculating travel time with live traffic) — all via the same TomTom API key.

## Determining Origin and Destination

The origin and destination are **not static** — you must determine them from what the user tells you. Examples:

- "How's traffic from the office to home?" → You must know (or ask) where their office and home are.
- "Check traffic Basel to Zurich" → origin=Basel, destination=Zurich.
- "Should I leave now?" → Use previously discussed or known origin/destination. If unknown, ask.
- "What's the commute like?" → If you know the user's regular commute, use that. Otherwise, ask.

**Rules:**
1. If both origin and destination are clear from context, proceed immediately.
2. If only one is clear, ask for the missing one.
3. If neither is clear and you have no prior context, ask the user for both.
4. Accept any format: addresses, city names, landmarks, coordinates — the script geocodes automatically.

## Running the Traffic Check

Execute the script with origin and destination as arguments:

```bash
python3 {baseDir}/scripts/check_traffic.py --origin "<ORIGIN>" --destination "<DESTINATION>"
```

**Examples:**

```bash
python3 {baseDir}/scripts/check_traffic.py --origin "Basel, Switzerland" --destination "Zurich, Switzerland"
python3 {baseDir}/scripts/check_traffic.py --origin "Basel SBB" --destination "Paradeplatz, Zürich"
python3 {baseDir}/scripts/check_traffic.py --origin "Aeschenplatz, Basel" --destination "ETH Zürich"
```

## Interpreting the Output

The script returns JSON with one or more route alternatives. For each route:

| Field | Meaning |
|-------|---------|
| `travel_time_min` | Total travel time **with current live traffic** |
| `no_traffic_time_min` | Travel time with zero traffic (free-flow) |
| `historic_traffic_time_min` | Typical travel time based on historical patterns |
| `live_traffic_time_min` | Time including live incident data |
| `traffic_delay_min` | Extra delay caused by current traffic |
| `traffic_delay_pct` | Delay as percentage of free-flow time |
| `congestion` | Derived level: `light`, `moderate`, or `heavy` |
| `distance_km` | Route distance in kilometers |
| `departure_time` / `arrival_time` | Departure and estimated arrival timestamps |

### Congestion classification:
- **Light**: traffic delay adds less than 20% to free-flow time
- **Moderate**: 20–50% above free-flow
- **Heavy**: more than 50% above free-flow

## Presenting Results to the User

When presenting traffic data, always include:

1. **The fastest route** and its estimated travel time.
2. **Traffic delay** in plain language (e.g., "Currently 8 minutes delay due to traffic on the A2, adding about 15% to the normal drive time").
3. **Comparison of alternatives** if multiple routes are returned.
4. **A recommendation**: whether to leave now or wait, based on congestion level.

Keep it concise and practical. The user wants to know: *"How long will it take and should I go now?"*

## Error Handling

- If the script returns `{"status": "error"}`, relay the error message to the user.
- If `TOMTOM_API_KEY` is not configured, tell the user to set it up in `~/.openclaw/openclaw.json`.
- If geocoding fails (no coordinates found), the location may be too vague — ask the user to be more specific.
- If no routes are returned, suggest trying different location descriptions.

Files in this skill

  • INSTALL.md2.6 KB
  • SKILL.md4.1 KB
  • references/tomtom-api-response.md2.9 KB
  • scripts/check_traffic.py8.4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…