← 返回 Skills 市场
zero-astro

Euskalmet

作者 zero-astro · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
98
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install euskalmet
功能描述
Tool for obtaining weather forecasts for the Basque Country through the Euskalmet agency. Use when the user wants to know today's weather, temperatures, or t...
使用说明 (SKILL.md)

Euskalmet Skill

Specialized tool for retrieving weather forecast data from the Euskalmet (Basque Meteorology Agency) API.

Usage

Execute both scripts from the skill root directory to fetch and format the weather forecast:

cd ~/.openclaw/skills/euskalmet
./venv/bin/python3 scripts/main.py && ./venv/bin/python3 scripts/format_forecast.py

Optional: Pass a username for a personalized greeting:

./venv/bin/python3 scripts/format_forecast.py --username "Urtzi"
# Output: "Egun on, Urtzi! ✨"

# Without username:
# Output: "Egun on! ✨"

You can also set EUSKALMET_GREETING_NAME in your .env file (not related to API credentials — used only for the greeting):

EUSKALMET_GREETING_NAME=Urtzi

Important: Always run both scripts in sequence. The first (main.py) downloads the raw JSON forecast data, and the second (format_forecast.py) formats it into a human-readable message in Basque.

Output

The formatted output includes:

  • Current date in the header (e.g., "Gaur (2026-03-24)")
  • Location name (e.g., "Laudion")
  • Weather description with emoji
  • Min/Max temperatures for today
  • 3-day forecast with weather, emoji, and temperature ranges

Example output:

Egun on, Urtzi! ✨

Gaur (2026-03-24) Laudion **Zaparrada txikiak** 🌧️ izango dugu, 11.5 °C maximoarekin eta 5.8 °C minimoarekin.

Hona hemen datozen egunetarako joera:
📅 **Bihar:** Euri txikia 🌧️ | ⬇️ 4.4 °C  ⬆️ 9.1 °C
📅 **Etzi:** Zaparrada txikiak 🌧️ | ⬇️ 3.1 °C  ⬆️ 10.9 °C
📅 **Etzidamu:** Euri txikia 🌧️ | ⬇️ 2.2 °C  ⬆️ 11.5 °C

Egun bikaina izan! 🚀

Files

Scripts (scripts/)

  • main.py — Downloads the raw JSON forecast from the Euskalmet API and saves it to forecasts/
  • format_forecast.py — Reads the JSON and outputs a formatted Basque-language weather message
  • test_env.py — Tests that your API credentials are valid
  • download_images.py — Downloads weather icons from Euskalmet API
  • test_structure.py — Verifies the skill file structure is correct

Data

  • forecasts/\x3Clocation>-euskalmet.json — Raw JSON data for each location
  • available-locations.json — List of available locations supported by the API

Directory Structure

euskalmet/
├── SKILL.md                    # This file
├── scripts/
│   ├── main.py                # Main script (downloads forecast data)
│   ├── format_forecast.py     # Formats forecast into human-readable message
│   ├── test_env.py           # Test API credentials
│   ├── download_images.py    # Download weather icons
│   └── test_structure.py      # Verify skill file structure
├── requirements.txt           # Python dependencies
├── .env                       # Environment variables (API credentials) [not in repo]
├── available-locations.json    # List of available locations
├── venv/                      # Python virtual environment (Python 3.12)
├── forecasts/                 # Generated forecast JSON files
│   └── laudio-euskalmet.json # Example: Laudio/Llodio forecast
├── images/                   # Weather icons (legacy PNG)
└── images-modern/            # Weather icons (modern SVG)

Setup

1. Virtual Environment

Create (or recreate) the virtual environment with Python 3.12:

cd ~/.openclaw/skills/euskalmet
rm -rf venv
python3.12 -m venv venv
./venv/bin/pip install -r requirements.txt

Note: The venv must use Python 3.12+ for compatibility with the latest dependencies.

2. Environment Variables

Configure your .env file with your Euskalmet API credentials:

[email protected]
EUSKALMET_API_PRIVATE_KEY=your_private_key

Optional: Add a name for a personalized greeting (not related to API credentials):

EUSKALMET_GREETING_NAME=YourName

If not set, the greeting will be "Egun on!" instead of "Egun on, YourName!"

To obtain API credentials, register at: https://www.euskalmet.euskadi.eus/

3. Test Setup

Test that your API credentials are correct:

cd ~/.openclaw/skills/euskalmet
./venv/bin/python3 scripts/test_env.py

Verify the skill file structure:

cd ~/.openclaw/skills/euskalmet
./venv/bin/python3 scripts/test_structure.py

Additional Commands

Download Forecast for a Location

./venv/bin/python3 scripts/main.py

Download Available Locations List

./venv/bin/python3 scripts/main.py --download

List All Available Locations

./venv/bin/python3 scripts/main.py --locations

Download Weather Icons

./venv/bin/python3 scripts/download_images.py

Data Retrieved

The skill extracts:

  1. Date — The date of the forecast (YYYY-MM-DD format)
  2. Location — The town/location name (e.g., "Laudio")
  3. Weather Description — Basque-language description (e.g., "Zaparrada txikiak")
  4. Min/Max Temperatures — Daily temperature range in Celsius
  5. Weather Icons — Emoji representation of weather conditions

Weather Conditions (Emoji Mapping)

Basque Keyword Emoji
oskarbi, eguzki ☀️
hodei gutxi, hodeitsu, tarteka 🌤️
hodei, estalia, laino ☁️
euri, zaparrada, zirimiria 🌧️
elur ❄️
ekaitz ⛈️
(default) 🌡️
安全使用建议
What to check before installing or running this skill: - Verify credentials: SKILL.md asks you to create a .env with EUSKALMET_API_EMAIL and EUSKALMET_API_PRIVATE_KEY, but the registry metadata declared no required env vars — confirm you’re comfortable supplying those Euskalmet credentials and that they are only used for the Euskalmet API. Do not reuse high-value or unrelated secrets. - Inspect the scripts (main.py, test_env.py, format_forecast.py, download_images.py) before running. Specifically look for: - Network endpoints the code calls (expected: euskalmet / euskadi domains). Confirm there are no unexpected remote endpoints. - Any code that reads arbitrary filesystem paths or environment variables beyond those documented. Example forecast JSONs include an absolute path: "/Users/kamaraka/.openclaw/skills/euskalmet/images-modern/..." — this leaks a username and suggests the code may use absolute paths; ensure scripts use paths relative to the skill root rather than accessing arbitrary user files. - test_env.py behavior: ensure it only verifies the Euskalmet credentials against the Euskalmet API and does not attempt to send credentials elsewhere. - Run in an isolated environment first: create a disposable user or container, create the venv as instructed, and run the test script to confirm network calls and file writes are limited to the skill directory. - Keep secrets safe: store the API email/key only in a local .env file with appropriate filesystem permissions; consider using a throwaway Euskalmet account if you want to test before trusting it with real credentials. - If you plan to publish or reuse this skill, ask the owner to update the registry metadata to declare the required env vars and explain any use of absolute paths. The registry should match the runtime instructions to avoid surprises. If you want, I can inspect the contents of the included scripts (main.py, test_env.py, format_forecast.py, download_images.py) and summarize any network calls, file I/O, or use of environment variables they perform.
功能分析
Type: OpenClaw Skill Name: euskalmet Version: 1.0.0 The skill is a legitimate weather forecast tool for the Basque Country that interacts with the official Euskalmet API. The code in scripts/main.py correctly implements JWT authentication using RS256 with a user-provided private key to fetch data from api.euskadi.eus. All scripts (main.py, format_forecast.py, download_images.py) perform actions strictly aligned with the stated purpose, and no indicators of data exfiltration, malicious command execution, or prompt injection were found.
能力标签
cryptorequires-wallet
能力评估
Purpose & Capability
Name, description, bundled JSON forecasts, many weather SVG icons, and scripts (main.py, format_forecast.py, download_images.py) all align with a weather-forecast tool for Euskalmet.
Instruction Scope
Runtime instructions are narrowly scoped to creating a Python venv and running the included scripts sequentially. They ask you to provide Euskalmet API credentials in a .env file and to always run main.py then format_forecast.py. Nothing in SKILL.md instructs reading unrelated system files, but example JSON contains absolute user-home paths which indicates the code may reference full paths outside the skill directory (see detail).
Install Mechanism
There is no install spec (instruction-only), so nothing is downloaded during installation. The skill ships code and data inside the package; the install step is manual venv creation and pip install of requirements — standard for Python projects.
Credentials
Registry metadata lists no required env vars, but SKILL.md instructs the user to set EUSKALMET_API_EMAIL and EUSKALMET_API_PRIVATE_KEY (and optionally EUSKALMET_GREETING_NAME). This mismatch is an incoherence: the skill does expect credentials though the registry did not declare them. The requested env vars (Euskalmet email/key) are plausible for the described purpose, but the missing registry declaration reduces transparency.
Persistence & Privilege
The skill is not always-enabled and does not request system-wide config or additional privileges. It runs only when invoked and stores/uses data within its directory (forecasts/, images/).
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install euskalmet
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /euskalmet 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release - Weather forecast tool for Basque Country via Euskalmet API
元数据
Slug euskalmet
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Euskalmet 是什么?

Tool for obtaining weather forecasts for the Basque Country through the Euskalmet agency. Use when the user wants to know today's weather, temperatures, or t... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 98 次。

如何安装 Euskalmet?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install euskalmet」即可一键安装,无需额外配置。

Euskalmet 是免费的吗?

是的,Euskalmet 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Euskalmet 支持哪些平台?

Euskalmet 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Euskalmet?

由 zero-astro(@zero-astro)开发并维护,当前版本 v1.0.0。

💬 留言讨论