# Send TCL (Lyon public transport network) to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "tcl-lyon",
    "name": "TCL (Lyon public transport network)",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/eaudaim/tcl-lyon",
    "canonicalUrl": "https://clawhub.ai/eaudaim/tcl-lyon",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/tcl-lyon",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=tcl-lyon",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md",
      "tcl_tool.py"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/tcl-lyon"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/tcl-lyon",
    "downloadUrl": "https://openagent3.xyz/downloads/tcl-lyon",
    "agentUrl": "https://openagent3.xyz/skills/tcl-lyon/agent",
    "manifestUrl": "https://openagent3.xyz/skills/tcl-lyon/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/tcl-lyon/agent.md"
  }
}
```
## Documentation

### RUNTIME CHEAT SHEET (LLM ONLY – PRIORITY SECTION)

Purpose: Interroger les horaires des transports en commun TCL de Lyon.

### Premier passage de la journée

python3 ~/.openclaw/skills/tcl-lyon/tcl_tool.py first "Nom de l'arrêt"
python3 ~/.openclaw/skills/tcl-lyon/tcl_tool.py first "Nom de l'arrêt" "direction"
python3 ~/.openclaw/skills/tcl-lyon/tcl_tool.py first "Nom de l'arrêt" "direction" --line "NumLigne"
python3 ~/.openclaw/skills/tcl-lyon/tcl_tool.py first "Nom de l'arrêt" --line "NumLigne"

Utiliser TOUJOURS cette commande pour les questions du type "premier bus/métro ce matin", "à quelle heure ça ouvre", "premier passage de la journée".

Exemples :
python3 ~/.openclaw/skills/tcl-lyon/tcl_tool.py first "Valmy" --line D
python3 ~/.openclaw/skills/tcl-lyon/tcl_tool.py first "Valmy" "Gare de Vénissieux" --line D
python3 ~/.openclaw/skills/tcl-lyon/tcl_tool.py first "Bellecour" --line A

### Dernier passage de la soirée

python3 ~/.openclaw/skills/tcl-lyon/tcl_tool.py last "Nom de l'arrêt"
python3 ~/.openclaw/skills/tcl-lyon/tcl_tool.py last "Nom de l'arrêt" "direction"
python3 ~/.openclaw/skills/tcl-lyon/tcl_tool.py last "Nom de l'arrêt" "direction" --line "NumLigne"
python3 ~/.openclaw/skills/tcl-lyon/tcl_tool.py last "Nom de l'arrêt" --line "NumLigne"

Utiliser TOUJOURS cette commande pour les questions du type "dernier bus/métro ce soir", "à quelle heure ça ferme", "est-ce qu'il y a encore des passages".
Le filtre direction est optionnel mais recommandé. Le filtre --line réduit le bruit quand la ligne est connue.

Exemples :
python3 ~/.openclaw/skills/tcl-lyon/tcl_tool.py last "Vieux Lyon Cat. St-Jean" "Vaise"
python3 ~/.openclaw/skills/tcl-lyon/tcl_tool.py last "Gare de Vaise" "Cité Edouard Herriot" --line 31
python3 ~/.openclaw/skills/tcl-lyon/tcl_tool.py last "Bellecour" --line D

### Prochains départs à un arrêt

python3 ~/.openclaw/skills/tcl-lyon/tcl_tool.py departures "Nom de l'arrêt" [limit] [--line "NumLigne"]

Le paramètre limit est optionnel (défaut : 5). Le filtre --line réduit le bruit quand la ligne est connue.

Exemples :
python3 ~/.openclaw/skills/tcl-lyon/tcl_tool.py departures "Bellecour"
python3 ~/.openclaw/skills/tcl-lyon/tcl_tool.py departures "Part-Dieu"
python3 ~/.openclaw/skills/tcl-lyon/tcl_tool.py departures "Perrache"
python3 ~/.openclaw/skills/tcl-lyon/tcl_tool.py departures "Bellecour" 1    # prochain départ uniquement
python3 ~/.openclaw/skills/tcl-lyon/tcl_tool.py departures "Bellecour" 20         # pour trouver le dernier passage
python3 ~/.openclaw/skills/tcl-lyon/tcl_tool.py departures "St-Rambert" 5 --line 31  # filtré ligne 31

### Infos sur une ligne

python3 ~/.openclaw/skills/tcl-lyon/tcl_tool.py line "NomLigne"

Exemples :
python3 ~/.openclaw/skills/tcl-lyon/tcl_tool.py line "A"
python3 ~/.openclaw/skills/tcl-lyon/tcl_tool.py line "C3"
python3 ~/.openclaw/skills/tcl-lyon/tcl_tool.py line "T2"
python3 ~/.openclaw/skills/tcl-lyon/tcl_tool.py line "31"

### Recherche d'arrêts

python3 ~/.openclaw/skills/tcl-lyon/tcl_tool.py stops "MotClé"

Exemples :
python3 ~/.openclaw/skills/tcl-lyon/tcl_tool.py stops "Vaise"
python3 ~/.openclaw/skills/tcl-lyon/tcl_tool.py stops "Hôtel de Ville"

### Rules

La recherche d'arrêt est partielle et insensible à la casse.
Si plusieurs arrêts correspondent, tous sont affichés avec leurs prochains départs.
Les horaires sont théoriques (pas de retards temps réel).
En cas de doute sur le nom d'un arrêt, utiliser stops avant departures.

### TCL Lyon — Transports en Commun Lyonnais

Base de données GTFS locale couvrant l'ensemble du réseau TCL unifié (bus, métro, tram, funiculaire, trolleybus). Données fournies par Google Maps / Sytral, mises à jour quotidiennement.

### Couverture

653 lignes
8863 arrêts
Horaires sur 60 jours glissants
Gestion des exceptions (jours fériés, services spéciaux)
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: eaudaim
- Version: 1.0.0
## Source health
- Status: healthy
- Source download looks usable.
- Yavira can redirect you to the upstream package for this source.
- Health scope: source
- Reason: direct_download_ok
- Checked at: 2026-05-07T17:22:31.273Z
- Expires at: 2026-05-14T17:22:31.273Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/tcl-lyon)
- [Send to Agent page](https://openagent3.xyz/skills/tcl-lyon/agent)
- [JSON manifest](https://openagent3.xyz/skills/tcl-lyon/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/tcl-lyon/agent.md)
- [Download page](https://openagent3.xyz/downloads/tcl-lyon)