🌤️ ShadowClaw Agent CLI Weather #

ShadowClaw Agent Model Agnostic Open-Meteo Agent Skills License: AGPL-3.0

A lightweight, modular, headless weather station, multi-day forecasting engine, and outdoor operational advisor built for practical forecasting workflows. Powered by ShadowClaw headless CLI agents, Open-Meteo, and standard Unix streams.

Fully model-agnostic: works seamlessly with any configured model provider (including local models via Ollama or Transformers.js, or cloud providers such as OpenRouter, Anthropic, or OpenAI).


🌤️ Live Automated Weather Briefing — Chicago, IL #

ℹ️ NOTE

Station Operational Status: Active — Updated every 6 hours via GitHub Actions cron. 📍 Station Reference: Chicago, Illinois, United States (41.8781°N, 87.6298°W) 🤖 Inference Engine: onnx-community/gemma-4-E2B-it-ONNX (Transformers.js Local) 📦 Raw Data Asset: reports/weather-data.json · Briefing Markdown: reports/weather-update.md

📋 View Latest Weather Briefing (Sep 22, 2026)

Weather Briefing — Chicago, Illinois, United States — Tuesday, September 22, 2026 — 09:44 PM CDT #

1. 🌡️ Current Conditions #

  • Station Observation Time: 09:44 PM CDT on Tuesday, September 22, 2026 (local time)
  • Temperature & Feels-like: 58.5°F, Feels like 51.2°F, Partly Cloudy, 58% Humidity, Dew Point 43.8°F, Wind 13.7 mph from the West, with gusts up to 22.4 mph.
  • Precipitation Today: 0.0 inches

2. 🌬️ Air Quality & UV #

  • European AQI: 28 (Good)
  • PM2.5: 3.7 μg/m³
  • PM10: 4 μg/m³
  • UV Index: 0 (No sun protection advice needed)

3. 📅 7-Day Forecast Highlights #

Date Condition High (°F) Low (°F) Precip (in) Wind / Gusts (mph)
Sep 22 Cloudy 61.1°F 54.4°F 0.0 Up to 28.2 mph
Sep 23 Mostly Cloudy 62.6°F 57.0°F 0.016 Up to 25.5 mph
Sep 24 Cloudy 65.8°F 56.2°F 0.0 Up to 22.1 mph
Sep 25 Cloudy 67.4°F 60.2°F 0.0 Up to 11.4 mph
Sep 26 Cloudy 68.7°F 58.4°F 0.0 Up to 11.2 mph
Sep 27 Cloudy 67.7°F 58.8°F 0.0 Up to 8.9 mph
Sep 28 Mostly Cloudy 70.0°F 57.5°F 0.0 Up to 12.5 mph

Notable weather events: Expect a generally mild period with increasing daytime highs, with a slight chance of light precipitation on the second day. Wind speeds will be noticeable, particularly toward the beginning of the forecast period.

4. 🚜 Practical Living Advice (Chicago, Illinois, United States — September 2026) #

Yard & Garden Advice: The soil conditions should remain stable, but be mindful of potential moisture from the light precipitation noted on the 23rd. No immediate frost risk is indicated for the near term, but keep an eye on overnight lows, as they dip into the upper 50s°F. Water plants moderately, as the forecast suggests mild, humid conditions.

Travel & Driving Outlook: Be prepared for breezy conditions, especially on the first two days, with wind gusts reaching up to 28.2 mph. Drivers should exercise caution on highways due to potential wind-related impacts. Visibility should generally be good, but keep an eye out for potential fog development during the early morning hours.

Clothing Recommendation for Today: Since the current temperature is in the upper 50s°F, dress in layers. A light jacket or sweater will be comfortable for the evening, but bring a warmer layer as the temperature dips slightly overnight. Humidity levels are moderate, so moisture-wicking fabrics are comfortable for any outdoor activity.


✨ Key Capabilities #


🚀 Quick Start #

1. Initialize Your ShadowClaw Agent #

ShadowClaw CLI lets you configure your preferred inference provider on first run:

bash
# Initialize workspace agent (select your preferred provider and model)
npx shadow-claw agent init

💡 Model Selection: You can configure any supported provider during initialization (including OpenRouter, Ollama, Anthropic, OpenAI, or any OpenAI-compatible endpoint).

2. Run Instant Weather Reports #

bash
# Current conditions for default location (Chicago, IL)
./bin/weather-now.sh

# 7-day forecast for Chicago
./bin/weather-forecast.sh

# On-the-fly query for any global location
./bin/weather-now.sh "New York, New York, United States"

3. Generate HTML for GitHub Pages #

Whenever README.md or tools change, regenerate the static index.html:

bash
./bin/build-html.mjs

🛠️ Script Catalog #

All executable scripts reside in bin/ and save structured markdown outputs into reports/:

Script Output File Description
./bin/set-default-location.sh [loc] .cache/default-location.json View, update, or reset (--reset) the persistent default location.
./bin/resolve-location.mjs [loc] stdout Core location resolver and Open-Meteo geocoding utility.
./bin/scan-window.mjs "<query>" stdout Hourly condition scanner (temp, dew point spread, duration).
./bin/summarize-forecast.mjs [loc] stdout Node.js forecast ingestion and summary generator for agents.
./bin/build-html.mjs index.html Compiles README.md and well-known skills into standalone static HTML.
./bin/weather-now.sh [loc] reports/weather-now.md Real-time conditions (temperature, feels-like, humidity, dew point, wind & gusts).
./bin/weather-forecast.sh [days] [loc] reports/weather-forecast.md Multi-day forecast (1–16 days, default 7) with highs, lows, rain, wind, sunrise/sunset.
./bin/weather-window.sh "<query>" [loc] reports/weather-window.md Scans hourly forecast for operational windows (e.g., temp > 2°C & dew spread > 3°C).
./bin/weather-ask.sh "<question>" [loc] stdout Piped follow-up query engine running --tools none with zero context noise.
./bin/weather-yard.sh [task] [loc] reports/weather-yard.md Outdoor project advice (lawn care, fence painting, garden protection, soil moisture).
./bin/weather-travel.sh [trip] [loc] reports/weather-travel.md Highway driving conditions, crosswind hazards, and travel advice.
./bin/weather-seasonal.sh [loc] reports/weather-seasonal.md Seasonal milestones, first/last frost risk, freeze-up timelines, and prep checklists.
./bin/weather-update.sh [loc] reports/weather-update.md Comprehensive daily briefing combining current weather, 7-day forecast, and air quality.

🌐 Shared Well-Known Agent Skills & Declarative Tools #

This repository publishes and advertises standardized declarative tools and skills exclusively for external AI agents, autonomous clients, and remote systems via well-known agent skills discovery.

ℹ️ NOTE

Outbound Skill Advertising Only: This workspace operates as a standalone headless weather station and CLI operational advisor. The discovery manifest and declarative tools hosted here exist solely for advertising our capabilities to external agents and remote systems—this workspace does not import or execute external third-party skills internally.

Published Discovery Endpoint #

The canonical public endpoint advertised for external consumers is:

text
https://xt-ml.github.io/shadow-claw-agent-cli-weather/.well-known/agent-skills/index.json

Declarative Tools Catalog #

The repository exposes four sandboxed, zero-dependency declarative JavaScript tools in .agents/tools/main/:

Tool Name Source File Description Inputs
get_current_weather .agents/tools/main/get_current_weather.json Real-time weather conditions via Open-Meteo API (temperature, feels-like, humidity, wind speed, gusts, precipitation, cloud cover, WMO code). latitude, longitude, timezone, temperature_unit
get_weather_forecast .agents/tools/main/get_weather_forecast.json Multi-day (1–16 days) forecast with hourly metrics (dew point, humidity, rain probability, wind) and daily highs, lows, and sunrise/sunset. latitude, longitude, timezone, forecast_days, temperature_unit
get_air_quality .agents/tools/main/get_air_quality.json Current and hourly air quality (European AQI, PM2.5, PM10, UV index, clear sky UV) via Open-Meteo Air Quality API. latitude, longitude, timezone
lookup_location_coords .agents/tools/main/lookup_location_coords.json Forward geocoding to resolve any place name to latitude, longitude, and elevation via Open-Meteo Geocoding API. name (required), count

In addition, the bundled ShadowClaw skill skill-creator is indexed for creating, authoring, and validating skills.

Remote Agent Discovery & Inspection #

External autonomous agents and discovery clients can inspect our published capabilities directly over HTTPS:

bash
# Fetch and inspect the live discovery index
curl -s https://xt-ml.github.io/shadow-claw-agent-cli-weather/.well-known/agent-skills/index.json | jq .

# Inspect an individual declarative tool manifest directly
curl -s https://xt-ml.github.io/shadow-claw-agent-cli-weather/.agents/tools/main/get_current_weather.json | jq .

📥 Importing into External ShadowClaw CLI Agents #

External ShadowClaw agents can import our published declarative tools directly using the CLI agent import command:

bash
# 1. Import all published weather tools and skills directly into your agent workspace
npx shadow-claw agent import https://xt-ml.github.io/shadow-claw-agent-cli-weather/

# Or import from the explicit discovery endpoint
npx shadow-claw agent import https://xt-ml.github.io/shadow-claw-agent-cli-weather/.well-known/agent-skills/index.json

# 2. Selectively import specific tools
npx shadow-claw agent import https://xt-ml.github.io/shadow-claw-agent-cli-weather/ --tools "get_current_weather,get_weather_forecast"

# 3. List tools in your agent workspace to verify
npx shadow-claw agent tools

# 4. Inspect an imported declarative tool definition
npx shadow-claw agent tool get_current_weather

# 5. Execute an imported tool directly from the CLI
npx shadow-claw agent tool get_current_weather '{"latitude": 41.8781, "longitude": -87.6298}'

# 6. Run an agent prompt with the imported tool enabled
npx shadow-claw agent run --tools "get_current_weather" "What is the current temperature and conditions in Chicago?"

📖 Usage Examples #

1. Current Conditions #

bash
# Check current weather for default location (Chicago, IL)
./bin/weather-now.sh

# Check current weather for New York
./bin/weather-now.sh "New York, New York, United States"

# Or use the --location flag
./bin/weather-now.sh --location "London, United Kingdom"

2. Multi-Day Forecasts #

bash
# 7-day forecast for default location
./bin/weather-forecast.sh

# 3-day forecast for New York
./bin/weather-forecast.sh 3 "New York, New York, United States"

# 14-day extended outlook for Chicago
./bin/weather-forecast.sh 14

3. Persistent Default Location Management #

Configure your home station once—all scripts will respect it automatically:

bash
# View active default location
./bin/set-default-location.sh

# Change persistent default to New York
./bin/set-default-location.sh "New York, New York, United States"

# Reset back to factory default (Chicago, IL)
./bin/set-default-location.sh --reset

4. Operational Window Scanner (Cold-Sensitive & Exterior Tasks) #

Identify exact multi-hour windows meeting strict operational criteria across 168 forecast hours:

bash
# Find a 24-hour window above 2°C with at least 3°C dew point spread (exterior staining/curing):
./bin/weather-window.sh "temperature above 2C and at least 3C above the dew point for 24 hours"

# Find calm, dry windows for aerial spraying or lawn seeding:
./bin/weather-window.sh "no precipitation and wind under 15 km/h" "Chicago, Illinois"

5. Unix Pipe Composability & Zero-Noise Follow-Ups #

Ask follow-up questions on existing data without re-fetching or wasting tokens:

bash
# Pipe current weather snapshot into ask engine:
cat reports/weather-now.md | ./bin/weather-ask.sh "Do I need a warm jacket this evening?"

# Pipe 7-day forecast to find the best day for outdoor projects:
cat reports/weather-forecast.md | ./bin/weather-ask.sh "Which day this week has the lowest wind and zero rain?"

# Chain current weather directly into a clothing recommendation:
./bin/weather-now.sh | ./bin/weather-ask.sh "Give me a 1-sentence commuter recommendation."

6. Highway Travel & Road Hazards #

bash
# General driving hazard outlook from Chicago
./bin/weather-travel.sh

# Specific corridor check
./bin/weather-travel.sh "drive to Milwaukee via I-94"
./bin/weather-travel.sh "drive to Indianapolis via I-65"

7. External CLI Agent Integration (Import & Zero-Code Tooling) #

Any standalone or remote ShadowClaw agent can import and use our weather station tools without cloning the repository or writing integration glue:

bash
# In your own agent's project or workspace:
npx shadow-claw agent import https://xt-ml.github.io/shadow-claw-agent-cli-weather/

# Query Chicago weather directly via the imported declarative tool
npx shadow-claw agent tool get_current_weather

# Query forecast for custom coordinates (e.g. New York: 40.7128, -74.0060)
npx shadow-claw agent tool get_weather_forecast '{"latitude": 40.7128, "longitude": -74.006, "forecast_days": 3}'

# Ask the agent for weather analysis using the imported tools
npx shadow-claw agent run --tools "get_current_weather,get_weather_forecast" "Compare current conditions with the 3-day forecast outlook"

⚙️ Architecture & Operational Principles #

1. Explicit Tool Scoping (--tools) #

When executing batch agent steps with shadow-claw agent run, injecting all default built-in tools balloons context tokens and can cause models to execute unnecessary tools.

2. Lightweight Node.js Processing #

All geocoding, coordinate transformation, hourly condition scans, and static site rendering run directly in standard Node.js scripts (bin/resolve-location.mjs, bin/scan-window.mjs, bin/summarize-forecast.mjs, bin/build-html.mjs) without extra external dependencies.

3. Declarative Tools & Sandboxed Execution #

Declarative tool manifests in .agents/tools/main/ use standard JSON schemas and JavaScript execution definitions. They run deterministically inside worker sandboxes without granting unrestricted OS shell privileges.

4. Static Hosting on GitHub Pages with .nojekyll #

Because GitHub Pages defaults to Jekyll, dot-directories (.well-known and .agents) would otherwise be suppressed. The root .nojekyll file ensures direct public access to discovery schemas and tool definitions. Pre-rendering index.html guarantees instant browser viewing without requiring Jekyll compilation.


License #

AGPL-3.0