← 返回 Skills 市场
Linz Public Transport
作者
fjrevoredo
· GitHub ↗
· v1.0.1
713
总下载
2
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install linz-public-transport
功能描述
Query Linz public transport stops for IDs and fetch live upcoming departures using Linz Linien EFA endpoints.
使用说明 (SKILL.md)
Linz Public Transport
Use this skill to interact with Linz Linien EFA endpoints:
GET /efa/XML_STOPFINDER_REQUESTGET /efa/XML_DM_REQUEST
Read endpoint details in {baseDir}/references/endpoints.md before implementation.
Use {baseDir}/scripts/linz_transport.py as the default execution path.
Workflow
- Resolve the API base URL.
- Run the script subcommand that matches the task.
- Return a compact, user-facing summary.
Primary Tooling
- Script path:
{baseDir}/scripts/linz_transport.py - Runtime: Python 3, standard library only.
- Base URL input:
--base-url \x3Curl>argument, orLINZ_TRANSPORT_API_BASE_URLenvironment variable, or- default
http://www.linzag.at/linz2.
Preferred commands:
- Search stops:
python {baseDir}/scripts/linz_transport.py stops "taubenmarkt"
- Fetch departures by stop ID:
python {baseDir}/scripts/linz_transport.py departures --stop-id 60501160 --limit 10
- Resolve stop and fetch departures in one call:
python {baseDir}/scripts/linz_transport.py next "taubenmarkt" --limit 10 --pick-first
Step 1: Resolve Base URL
- Use user-provided base URL first.
- Otherwise use
LINZ_TRANSPORT_API_BASE_URLif available. - If neither exists, use
http://www.linzag.at/linz2.
Step 2: Present Output
- Sort by
countdownInMinutesascending if needed. - Show the next 5-10 departures unless user asks for more.
- Include both relative (
countdownInMinutes) and absolute (time) times. - Keep field names stable when returning JSON.
Error Handling
- If stop search returns empty list, suggest nearby spellings and retry with a shorter query token.
- If multiple stop matches are returned, rerun with explicit
--stop-idor usenext ... --pick-firstonly when ambiguity is acceptable. - If departures response is empty, state that no upcoming departures are currently available.
- If HTTP request fails, report status code, endpoint, and retry guidance.
- If EFA response includes a
messagecode, include that code in diagnostics.
Minimal Examples
python {baseDir}/scripts/linz_transport.py stops "taubenmarkt"
python {baseDir}/scripts/linz_transport.py departures --stop-id 60501160 --limit 10
python {baseDir}/scripts/linz_transport.py next "taubenmarkt" --limit 10 --pick-first
python "{baseDir}/scripts/linz_transport.py" stops "taubenmarkt"
python "{baseDir}/scripts/linz_transport.py" departures --stop-id 60501160 --limit 10
python "{baseDir}/scripts/linz_transport.py" next "taubenmarkt" --limit 10 --pick-first
安全使用建议
This skill appears to be what it says: a small CLI that queries public Linz EFA endpoints and returns parsed results. It does not request secrets or install software. Things to consider before installing: (1) the default base URL is plain HTTP (http://www.linzag.at/linz2) — if you prefer encrypted traffic, set LINZ_TRANSPORT_API_BASE_URL to an HTTPS endpoint; (2) the skill will make outbound network requests to the transit server (ensure your environment policy allows that); (3) SKILL.md references the optional LINZ_TRANSPORT_API_BASE_URL env var but the registry metadata omitted it — this is just a metadata inconsistency, not malicious; and (4) because the agent may invoke skills autonomously (platform default), installing this skill allows the agent to make network calls to the public endpoint when relevant. If those points are acceptable, the skill is coherent and reasonable to install.
功能分析
Type: OpenClaw Skill
Name: linz-public-transport
Version: 1.0.1
The skill is designed to query public transport data from Linz Linien EFA endpoints. The `SKILL.md` provides clear instructions for the AI agent without any prompt injection attempts. The `scripts/linz_transport.py` uses standard Python libraries (`urllib.request`, `argparse`, `json`, `os`) to make HTTP GET requests and parse JSON responses. Input parameters are properly URL-encoded, preventing injection vulnerabilities. There is no evidence of data exfiltration, unauthorized command execution, persistence mechanisms, or other malicious intent. The ability to specify a base URL via environment variables or command-line arguments is a standard and expected feature for an API client skill.
能力评估
Purpose & Capability
The name/description promise (stop lookup and departures via Linz EFA) matches the included Python CLI, the referenced EFA endpoints, and the README reference material. The script only constructs EFA requests and parses responses — nothing in the package asks for unrelated services or credentials.
Instruction Scope
SKILL.md instructs the agent to run the included script, resolve a base URL (user-provided, env var, or default), and return compact summaries. The runtime steps and error handling are limited to network calls to the declared EFA endpoints and parsing their JSON payloads. There are no instructions to read unrelated files, harvest env vars, or send data to other endpoints.
Install Mechanism
No install spec is present (instruction-only with an included script). Nothing is downloaded or extracted at install time, so there is no installer-related code-execution risk.
Credentials
The skill does not require credentials or config paths. SKILL.md documents an optional LINZ_TRANSPORT_API_BASE_URL env var as an override; the registry metadata did not list required env vars, which is a minor metadata mismatch but not a security issue. No secrets are requested.
Persistence & Privilege
The skill is not forced-always; it is user-invocable and may be invoked autonomously by the agent (the platform default). The skill does not modify other skills or system settings.
如何使用
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install linz-public-transport - 安装完成后,直接呼叫该 Skill 的名称或使用
/linz-public-transport触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.1
- Added a detailed SKILL.md with usage, workflow, preferred commands, and error handling for Linz public transport EFA endpoint queries.
- Clarified step-by-step workflow for resolving the base API URL and output presentation.
- Provided minimal command-line usage examples for stop search and live departure queries.
- Outlined error handling strategies and response formatting expectations.
- Noted environment variable and argument options for customizing the base URL.
元数据
常见问题
Linz Public Transport 是什么?
Query Linz public transport stops for IDs and fetch live upcoming departures using Linz Linien EFA endpoints. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 713 次。
如何安装 Linz Public Transport?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install linz-public-transport」即可一键安装,无需额外配置。
Linz Public Transport 是免费的吗?
是的,Linz Public Transport 完全免费(开源免费),可自由下载、安装和使用。
Linz Public Transport 支持哪些平台?
Linz Public Transport 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Linz Public Transport?
由 fjrevoredo(@fjrevoredo)开发并维护,当前版本 v1.0.1。
推荐 Skills