weather

weather is a skill for Claude Code, Codex from ellmos-ai/bach. It costs 0 tokens per session (423 once invoked), scanned A, original, MIT.

A weather service that retrieves current conditions for GPS coordinates from wttr.in, a free weather-data service. It returns structured values and a German readable description.

In plain words
What is it for?
Getting temperature, feels-like temperature, humidity, wind, UV index, location, country, and a weather description for a latitude and longitude.
Why use it?
It gives an agent weather data without requiring an API key. The agent can use consistent fields instead of interpreting a website manually.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/ellmos-ai/bach/weather
Any agent
npx skills add ellmos-ai/bach --skill weather
Clone the repo
git clone --depth 1 https://github.com/ellmos-ai/bach

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for weather

README.md
[![agentmods](https://agentmods.dev/badge/skills/ellmos-ai/bach/weather.svg)](https://agentmods.dev/skills/ellmos-ai/bach/weather)
Your own site
<a href="https://agentmods.dev/skills/ellmos-ai/bach/weather"><img src="https://agentmods.dev/badge/skills/ellmos-ai/bach/weather.svg" alt="Measured on agentmods" height="20"></a>
Per session 0 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 423 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00000 $0.00423
Opus 5 $0.00000 $0.00211
Sonnet 5 $0.00000 $0.00085
Haiku 4.5 $0.00000 $0.00042

Measured 6d ago against content hash 0c12a7554d8f, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

weather scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.

The scan reads SKILL.md. This mod also ships 2 executable files (__init__.py, weather_service.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

system/hub/_services/weather/SKILL.md · 48 lines

What it actually says

BACH Weather Service

Version: 1.0 Autor: BACH System Datum: 2026-02-18 API-Key: Nicht erforderlich (wttr.in)

Beschreibung

Ruft aktuelles Wetter fuer beliebige GPS-Koordinaten ab. Datenquelle: wttr.in (kostenlos, kein API-Key, JSON-API).

Nutzung (Library)

import sys
sys.path.insert(0, str(BACH_DIR))
from hub._services.weather.weather_service import get_weather, get_weather_text

# Lesbarer String (fuer Prompts)
text = get_weather_text(lat=47.761, lon=8.079)

# Strukturiertes Dict
data = get_weather(lat=47.761, lon=8.079)
# -> {"temp_c": 0, "feels_like_c": -3, "humidity": 100, ...}

Nutzung (CLI)

python weather_service.py <lat> <lon>
python weather_service.py 47.761 8.079

Rueckgabefelder (get_weather)

  • temp_c – Temperatur in Grad Celsius
  • feels_like_c – Gefuehlte Temperatur
  • humidity – Luftfeuchtigkeit in %
  • windspeed_kmph – Windgeschwindigkeit km/h
  • winddir – Windrichtung (N, NE, E, ...)
  • wind_arrow – Pfeilsymbol fuer Windrichtung
  • description_de – Deutsche Wetterbeschreibung
  • icon – Wetter-Emoji (☀️, ⛅, 🌧️, ❄️, ...)
  • location_name – Naechster Ortsname (Nominatim)
  • country – Land
  • uv_index – UV-Index

Integration

  • Telegram Bridge: GPS-Pin → Wetter wird automatisch abgerufen
  • bridge_daemon.py: _fetch_weather(lat, lng) → injiziert Wetter in Prompt
Files

What ships with it

2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 6d ago First seen · 48 lines · 0 tokens per session scan A 0c12a7554d8f

Subscribe to this mod's changes

weather is a skill published in the GitHub repository ellmos-ai/bach (7 stars, last pushed yesterday), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 423 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

django-patterns

Django architecture patterns, REST API design with DRF, ORM best practices, caching, signals, middleware, and production-grade Django apps.

deepelementlab/clawcode · 32 tokens

django-patterns

Django architecture patterns, REST API design with DRF, ORM best practices, caching, signals, middleware, and production-grade Django apps.

affaan-m/ECC · 32 tokens

x402

Set up Browser Use Cloud payments with x402 — pay per request from a crypto wallet (USDC on Base mainnet), no signup or API key. Two setups it works out up front — "just use it" (set up a wallet so you or Claude Code can run cloud browser tasks paid from the wallet — Claude writes and runs throwaway scripts, nothing…

browser-use/browser-use · 175 tokens

fastapi-patterns

FastAPI patterns for async APIs, dependency injection, Pydantic request and response models, OpenAPI docs, tests, security, and production readiness.

affaan-m/ECC · 35 tokens

mem0-status

Diagnoses mem0 connectivity, API key validity, and memory read/write functionality. Use when memory operations fail, searches return empty, addmemory errors occur, or to verify the plugin is working correctly.

mem0ai/mem0 · 44 tokens

cloud

Documentation reference for using Browser Use Cloud — the hosted API and SDK for browser automation. Use this skill whenever the user needs help with the Cloud REST API (v2, v3, or v4), browser-use-sdk (Python or TypeScript), X-Browser-Use-API-Key authentication, cloud sessions, browser profiles, profile sync, CDP…

browser-use/browser-use · 177 tokens