Documentation

OpenSnow CLI

opensnow-pp-cli

Install

npx -y @mvanhorn/printing-press-library install opensnow

Installs the CLI binary and the agent skill for Claude Code, Codex, Cursor, Gemini CLI, Copilot, and more. Add --cli-only or --skill-only for one half. Requires Node.

Documentation

Every OpenSnow forecast, snow report, and Daily Snow post — plus powder scoring, storm tracking, and historical trends no other tool has.

The OpenSnow CLI puts the same hyper-local mountain forecasts trusted by millions of skiers directly into your terminal. Sync resort data to a local SQLite store, then score powder days, rank resorts, and track storms offline. The Daily Snow digest brings expert meteorologist forecasts to your terminal without opening a browser.

Created by @davemorin (Dave Morin).

Authentication

OpenSnow API access is partnership-only. Set your API key with opensnow-pp-cli auth set-token <key>. The key is stored locally and passed as a query parameter on every request. Access level 5 covers point-based forecasts; level 10 unlocks named locations, snow reports, and Daily Snow.

Alternatively, set the environment variable:

export OPENSNOW_API_KEY=your-api-key

Contact hello@opensnow.com to request API partnership access.

Quick Start

# Set your OpenSnow API key (partnership access required)
opensnow-pp-cli auth set-token YOUR_API_KEY

# Verify API key is valid and API is reachable
opensnow-pp-cli doctor

# Get the 5-day forecast for Alta
opensnow-pp-cli forecast get-detail alta

# Get Steamboat's latest snow report
opensnow-pp-cli snow-report steamboat

# Read the Colorado Daily Snow forecast
opensnow-pp-cli daily-reads content get-daily-snow colorado

# Save your favorite resorts
opensnow-pp-cli favorites add alta steamboat telluride

# See your dashboard
opensnow-pp-cli dashboard

Unique Features

These capabilities aren't available in any other tool for this API.

Powder intelligence

  • powder-score — Rate upcoming days 1-10 for powder quality by combining forecast snow totals, wind, temperature, and historical averages

    When an agent needs to recommend the single best day to ski this week, this command gives a scored ranking instead of raw forecast numbers

    opensnow-pp-cli powder-score alta --days 5 --agent
    
  • powder-rank — Rank all synced resorts by powder potential, combining expected snowfall, base depth, and terrain openness

    When an agent needs to answer 'where should I ski this weekend in Colorado', this gives a ranked list with scores

    opensnow-pp-cli powder-rank --slugs vail,aspen,telluride --agent
    
  • storm-track — Show storm progression — when snow starts, peaks, and ends — by correlating rolling hourly forecasts over time

    When planning travel around a storm, this shows exactly when to arrive and when the storm window closes

    opensnow-pp-cli storm-track telluride --agent
    
  • overnight — Check the semi-daily forecast for the overnight period at favorited resorts — the powder hunter's morning ritual

    The first question every skier asks: 'How much snow fell overnight?' This answers it for all favorites in one call

    opensnow-pp-cli overnight --agent
    

Local state that compounds

  • dashboard — One-command view of all favorited locations with current temp, 24h snow, 5-day total, and operating status

    Replaces opening the OpenSnow app — one command shows everything an agent needs about the user's preferred mountains

    opensnow-pp-cli dashboard --agent
    
  • diff — Compare current snow report against the last-synced version to see what changed: new snow, lifts opened or closed, status changes

    Agents monitoring resort conditions can detect meaningful changes without parsing raw reports

    opensnow-pp-cli diff alta --agent
    
  • history — Show snowfall trends, season totals vs averages, and base depth progression from cached report snapshots

    When planning a trip weeks out, historical context shows whether the mountain is trending up or down

    opensnow-pp-cli history steamboat --days 30 --agent
    

Agent-native plumbing

  • digest — Pull all Daily Snow posts for favorited regions, strip HTML to clean text, and show a summary digest

    Expert forecasts from OpenSnow meteorologists, rendered for agents and terminals instead of requiring a browser

    opensnow-pp-cli digest --region colorado --agent
    

Commands

Forecasts

CommandDescription
forecast get-by-pointForecast for any lng,lat coordinate and elevation (access level 5)
forecast get-detail5-day forecast for a named location with current, hourly, and daily periods (access level 10)
forecast get-snow-detail5-day day + night snowfall forecast split into 6am-6pm and 6pm-6am segments (access level 10)

Snow Reports

CommandDescription
snow-reportLatest resort-reported snowfall, base depth, operating status, and conditions (access level 10)

Daily Snow

CommandDescription
daily-reads content get-daily-snowMost recent Daily Snow post by an OpenSnow meteorologist for a region

Powder Intelligence

CommandDescription
powder-scoreRate upcoming days 1-10 for powder quality at a resort
powder-rankRank multiple resorts by best powder day potential
storm-trackTrack storm progression: start, peak, and end times
overnightOvernight snow forecast for all favorited resorts

Dashboard and Comparison

CommandDescription
dashboardSummary view of all favorites: temp, snow, base depth, status
compareSide-by-side metrics for multiple resorts
diffWhat changed since last sync: new snow, lift status
historySnowfall trends and base depth from cached snapshots
digestDaily Snow posts for favorite regions as clean text

Utilities

CommandDescription
doctorCheck API key validity and connectivity
auth set-tokenSave API key to config
auth statusShow current authentication status
syncSync resort data to local SQLite for offline use
favorites addAdd resort slugs to favorites list
favorites listList all favorited resorts
favorites removeRemove a resort from favorites

Output Formats

# Human-readable table (default in terminal, JSON when piped)
opensnow-pp-cli snow-report alta

# JSON for scripting and agents
opensnow-pp-cli snow-report alta --json

# Filter to specific fields
opensnow-pp-cli snow-report alta --json --select status_display,precip_snow_24h,base_depth

# CSV for spreadsheets
opensnow-pp-cli snow-report alta --csv

# Dry run — show the request without sending
opensnow-pp-cli snow-report alta --dry-run

# Agent mode — JSON + compact + no prompts in one flag
opensnow-pp-cli snow-report alta --agent

Agent Usage

This CLI is designed for AI agent consumption:

  • Non-interactive - never prompts, every input is a flag
  • Pipeable - --json output to stdout, errors to stderr
  • Filterable - --select id,name returns only fields you need
  • Previewable - --dry-run shows the request without sending
  • Read-only by default - this CLI does not create, update, delete, publish, send, or mutate remote resources
  • Offline-friendly - sync/search commands can use the local SQLite store when available
  • Agent-safe by default - no colors or formatting unless --human-friendly is set

Exit codes: 0 success, 2 usage error, 3 not found, 4 auth error, 5 API error, 7 rate limited, 10 config error.

Cookbook

# Morning powder check — what fell overnight at all favorites
opensnow-pp-cli overnight

# Best powder day this week at Alta
opensnow-pp-cli powder-score alta --days 5

# Rank Colorado resorts for this weekend
opensnow-pp-cli powder-rank --slugs vail,aspen,telluride,steamboat

# Is a storm coming to Telluride?
opensnow-pp-cli storm-track telluride

# Side-by-side comparison of Vail vs Aspen vs Breckenridge
opensnow-pp-cli compare vail aspen breckenridge

# What changed at Alta since last check?
opensnow-pp-cli diff alta

# Read the Colorado Daily Snow expert forecast
opensnow-pp-cli daily-reads content get-daily-snow colorado

# Get a forecast for an exact GPS coordinate
opensnow-pp-cli forecast get-by-point -111.5838,40.5884 --elev 8530

# Show day + night snowfall detail for Steamboat
opensnow-pp-cli forecast get-snow-detail steamboat

# Sync data locally for offline use
opensnow-pp-cli sync

# Snowfall trends over the last month
opensnow-pp-cli history steamboat --days 30

# Pipeline: get Alta forecast as JSON, extract snow totals
opensnow-pp-cli forecast get-detail alta --json --select precip_snow

# Agent workflow: dashboard for all favorites as compact JSON
opensnow-pp-cli dashboard --agent

Health Check

opensnow-pp-cli doctor

Verifies configuration, credentials, and connectivity to the OpenSnow API. Reports API key status, access level, and reachability.

Configuration

Config file: ~/.config/opensnow-pp-cli/config.toml

Environment variables:

NameRequiredDescription
OPENSNOW_API_KEYYesOpenSnow API key (partnership access)
OPENSNOW_BASE_URLNoOverride API base URL (default: https://api.opensnow.com)
OPENSNOW_CONFIGNoOverride config file path

Troubleshooting

Authentication errors (exit code 4)

  • Run opensnow-pp-cli doctor to check credentials
  • Verify the environment variable is set: echo $OPENSNOW_API_KEY
  • Set your key: opensnow-pp-cli auth set-token <key>

Not found errors (exit code 3)

  • Check the resort slug is correct (case-sensitive)
  • Try common slugs: alta, steamboat, vail, aspen, telluride, aspenhighlands

API-specific

  • 401 Unauthorized on every request — Run opensnow-pp-cli auth set-token <key> — the API key must be set before any request
  • 403 Forbidden on /forecast/detail — Your API key has access level 5 — named-location endpoints require level 10. Contact hello@opensnow.com to upgrade.
  • Empty snow report (all nulls) — Resort may be closed for the season. Check status_display field — 'Closed' or 'Summer Operations' means no active snow data.
  • No results for a location slug — Slugs are case-sensitive and specific. Try common names: alta, steamboat, aspenhighlands. Email hello@opensnow.com for the full slug list.

Sources & Inspiration

This CLI was built by studying these projects and resources:

Generated by CLI Printing Press

For agents: pass /documentation/opensnow/agents.md to install this CLI from a prompt.