Agent skill

Kalshi Weather Markets

by agiprolabs in agiprolabs/claude-trading-skills

Daily temperature high/low bracket and threshold contracts on Kalshi — contract structure, forecast→P(YES) map, settlement rules, cross-venue divergences, and weather-specific pitfalls

MITAuto-check passedBusiness, Finance & HR

Install Kalshi Weather Markets

skills CLI
$ npx skills add agiprolabs/claude-trading-skills --skill kalshi-weather-markets -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install agiprolabs/claude-trading-skills kalshi-weather-markets --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/agiprolabs/claude-trading-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/kalshi-weather-markets .claude/skills/kalshi-weather-markets && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
kalshi-weather-markets
GitHub stars
410
Token cost
~2.2k tokens
SKILL.md length
1,001 words
Files
4 (incl. scripts, references)
Skills in repo
68
Repo updated
First seen
Licence
MIT

At a glance

Daily temperature high/low bracket and threshold contracts on Kalshi — contract structure, forecast→P(YES) map, settlement rules, cross-venue divergences, and weather-specific pitfalls

  • Works in 10 steps: Wrong settlement source. Scoring against… → Bracket off-by-one (phantom +1640%).… → strike_type not inferable from ticker.… → …
  • Business, Finance & HR work in your project
  • SKILL.md covers Contract Types, Forecast → P(YES), Deriving (μ, σ) from Ensemble… and CLI-Space Bias Correction, plus 6 more sections
  • Runs Python scripts from its folder

What it does

Kalshi Weather Markets is an agent skill from agiprolabs/claude-trading-skills. Daily temperature high/low bracket and threshold contracts on Kalshi — contract structure, forecast→P(YES) map, settlement rules, cross-venue divergences, and weather-specific pitfalls

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including scripts and reference files (for example `references/brackets-and-settlement.md`, `references/forecasting.md` and `scripts/weather_brackets.py`).

It sits in Business, Finance & HR. It works with Kalshi. The repository describes itself as: 68 trading, DeFi, and quantitative finance Agent Skills. Works with Claude Code, Cursor, Codex, Gemini CLI, and 30+ other tools. The licence is MIT.

When your agent uses it

  • Business, Finance & HR work in your project

Example prompts

  • “/kalshi-weather-markets”

Requirements

  • Python 3

Workflow steps

10 steps, taken from the first numbered list in SKILL.md.

  1. Wrong settlement source. Scoring against a derived truth that correlates with but differs from the venue's resolution flips ~10% of…
  2. Bracket off-by-one (phantom +1640%). Treating 2°F inclusive brackets {floor, cap} as 1°F half-open [floor, cap) manufactures a large…
  3. strike_type not inferable from ticker. T74 on a low market might be greater or less. Always read strike_type from the API. Never guess.
  4. Date-in-ticker, not close_time. Use the date embedded in the ticker string for settlement-date joins, not close_time (which is next-day…
  5. LST ≠ local clock. Kalshi settles on LST (no DST). In spring/fall, the LST window shifts relative to local time. Cross-referencing WU…
  6. CLI ≠ METAR. Raw ASOS hourly max/min is not the settlement value. CLI applies QC, backup-station fallback, and LST aggregation. Fit…
  7. UTC vs local-day feature aggregation. Aggregating forecast features over UTC days instead of LST days misaligns labels — cost ~14…
  8. Clock-mismatch look-ahead. Filling at an 18:00Z book snapshot while features are cut at 14:00 LST trades non-Eastern cities on future…
  9. Phantom penny asks. 1¢ ask levels are frequently spoofed; assuming you fill them over-credits PnL ~23×. Count only depth that persists…
  10. Overround as a diagnostic. Sum the YES prices across an event's full bracket set. overround > 1.0 is normal (house edge); overround >> 1.1…

What it can do on your machine

Read from SKILL.md and the folder at commit 981e1d7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • docs.kalshi.com
    • weather.gov
    • mesonet.agron.iastate.edu
    • wunderground.com
    • docs.uma.xyz

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Kalshi Weather Markets loads about 2.2k tokens when it runs, and up to ~4.5k if it reads all its reference files. Until then it costs about 52 tokens; SKILL.md has 1,001 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~52
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from agiprolabs/claude-trading-skills at commit 981e1d7, republished under its MIT licence (© agiprolabs). 1,001 words, ~2,196 tokens.

Download SKILL.mdSave it as .claude/skills/kalshi-weather-markets/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
kalshi-weather-markets
description
Daily temperature high/low bracket and threshold contracts on Kalshi — contract structure, forecast→P(YES) map, settlement rules, cross-venue divergences, and weather-specific pitfalls

Kalshi Weather Markets — Daily Temperature High/Low

Kalshi lists daily high and low temperature options for ~20 US cities as binary contracts that settle YES ($1.00) or NO ($0.00). This skill covers the market structure, the forecast-to-probability map, exact settlement mechanics, and hard-won pitfalls. It builds on the exchange layer — for Kalshi API mechanics (host, auth, orders, order book, candlesticks) see the kalshi-api skill; for strategy, sizing, and backtesting see prediction-market-strategy.

Contract Types

Brackets — B<center>

A bracket ticker B<center> is a 2°F-wide, both-ends-inclusive window.

  • B74.5 covers the two integers {74, 75}°F.
  • YES iff the settled temperature is exactly 74 or 75.
  • Brackets in one event are mutually exclusive and (with two open tail markets) collectively exhaustive.
  • Their YES prices sum to the overround (fair = 1.0; > 1.0 = aggregate overpricing).
Thresholds — T<strike>

A threshold ticker T<strike> is a one-sided binary.

  • greater → YES iff cli >= strike + 1
  • less → YES iff cli <= strike - 1
  • Critical: strike_type ("greater" / "less") is not inferable from the ticker. Read it from the API strike_type field every time.
Ticker Format
KXHIGH<CITY>-<YYMONDD>-B<center>     # bracket high
KXLOW<CITY>-<YYMONDD>-T<strike>      # threshold low

The date is encoded in the ticker, not derivable from close_time.
KXHIGHNY-26JUN21 settles 2026-06-21 LST. close_time is next-day UTC (~00:59 ET). Joining on close_time off-by-ones every label — use the ticker date.


Forecast → P(YES)

Given a forecast distribution N(μ, σ) for the day's extreme, apply the half-integer continuity correction (mandatory — settlement is on integers, not a continuous scale):

# Bracket B<center>, covering integers {floor, cap}
P(YES) = Φ((cap + 0.5 − μ) / σ) − Φ((floor − 0.5 − μ) / σ)

# Threshold "greater":
P(YES) = 1 − Φ((T + 0.5 − μ) / σ)

# Threshold "less":
P(YES) =     Φ((T − 0.5 − μ) / σ)

Φ(x) = 0.5 · (1 + erf(x / √2))   # stdlib only, no scipy needed

The ±0.5 shift is not optional. Dropping it biases every bracket. Treating 2°F brackets as 1°F half-open windows produced a +1640% phantom backtest in one project.

See scripts/weather_brackets.py for runnable implementations of all four functions.


Deriving (μ, σ) from Ensemble Quantiles

sigma_raw = max((p90 − p10) / 2.56, 0.5) · sigma_scale · sigma_mult
mu        = p50                          # or nowcast-blended (see forecasting.md)
sigma     = max(sigma_raw, 0.1)          # hard floor against degeneracy

The 2.56 divisor is the 10th–90th percentile span of a standard normal (2 × 1.28σ).


CLI-Space Bias Correction

The settlement value (NWS CLI integer °F, LST day) is not the same as raw ASOS/METAR hourly max/min — CLI applies QC, backup-station fallback, and LST aggregation. Shift μ before computing P(YES):

mu_cli = mu_metar + bias_city_season     # bias = oracle_extreme − asos_extreme, fit per city + season

Fit bias_max / bias_min as seasonal (circular) curves per city. Skipping this systematically misprices every bracket for cities with a structural CLI/METAR gap.


Settlement Rules

Kalshi
  • Source: NWS Climatological Report (CLI) — the official daily climate summary issued by each WFO.
  • Fallback: IEM ASOS daily download matches CLI 100% and is available programmatically.
  • Window: LST (Local Standard Time), no DST adjustment. The day runs midnight-to-midnight LST year-round.
  • Value: Integer °F maximum (HIGH) or minimum (LOW) temperature for that LST day.
  • Bracket: YES iff cli ∈ {floor, cap} (both ends inclusive).
  • Threshold greater: YES iff cli >= strike + 1.
  • Threshold less: YES iff cli <= strike - 1.
Settlement-Source References

Read each market's own rulebook before scoring or trading. Settlement source, station, and day-window are per-market contract terms that can change.

ResourceURL
Kalshi market rules / Rulebookhttps://docs.kalshi.com (per-market "Rulebook")
NWS Climatological Report (CLI)https://www.weather.gov/wrh/Climate
IEM ASOS daily downloadhttps://mesonet.agron.iastate.edu/request/daily.phtml
Polymarket resolution (WU)https://www.wunderground.com
Polymarket disputes (UMA)https://docs.uma.xyz

Cross-Venue Divergence

The same metro on the same date can settle to different values across venues — both because of the station and the DST window in spring/fall.

AxisKalshiPolymarket
SourceNWS CLI / IEM ASOSWeather Underground
Day windowLST (no DST)Local clock (with DST)
NYC stationKNYC (Central Park)KLGA (LaGuardia)
RoundingInteger °F, t ∈ {floor, cap}Per WU history

Any cross-venue analysis must settle each leg on its own source.


Nowcast Blending (Same-Day Path)

Once an intraday observation is available, pull μ toward reality and shrink σ:

  • HIGH: clamp μ to [obs, obs + drift · hours_remaining]
  • LOW: clamp μ to [obs − drift · hours_remaining, obs]
  • σ shrinks as sigma_raw · sqrt(hours_remaining / 24), floored at sigma_floor (≈ 0.5)
  • drift ≈ 3.0°F/hr default

Optional NWP prior blend: new_p50 = w · hrrr + (1−w) · p50 (w ≈ 0.5), then rebuild symmetric quantiles using a calibrated σ.


Show full SKILL.md (396 more words)Show less

Calibrated Model Performance (Reference Numbers)

Per-city OOS Brier scores across 22 highs + 22 lows (v1.5, 2026-06-17 baseline):

MetricRange
Per-city OOS Brier0.07 – 0.14 (lower = better; 0.25 = climatology)
Per-city accuracy65–85% (bracket classification)

Forecast skill ≠ trading edge. A calibrated model that beats climatology by 0.05 Brier does not guarantee positive EV at market prices — the market already incorporates NWP. The practical edge is maker-side fading of mispriced longshot brackets (favorite–longshot bias), not raw directional forecasting.


Weather Pitfalls

  1. Wrong settlement source. Scoring against a derived truth that correlates with but differs from the venue's resolution flips ~10% of outcomes. Settle on the venue's own result.

  2. Bracket off-by-one (phantom +1640%). Treating 2°F inclusive brackets {floor, cap} as 1°F half-open [floor, cap) manufactures a large phantom backtest edge. The bracket is both-ends-inclusive.

  3. strike_type not inferable from ticker. T74 on a low market might be greater or less. Always read strike_type from the API. Never guess.

  4. Date-in-ticker, not close_time. Use the date embedded in the ticker string for settlement-date joins, not close_time (which is next-day UTC).

  5. LST ≠ local clock. Kalshi settles on LST (no DST). In spring/fall, the LST window shifts relative to local time. Cross-referencing WU (which uses local clock) against CLI on DST-transition days will produce mismatches.

  6. CLI ≠ METAR. Raw ASOS hourly max/min is not the settlement value. CLI applies QC, backup-station fallback, and LST aggregation. Fit per-city seasonal bias corrections before computing P(YES).

  7. UTC vs local-day feature aggregation. Aggregating forecast features over UTC days instead of LST days misaligns labels — cost ~14 percentage points of accuracy in one study.

  8. Clock-mismatch look-ahead. Filling at an 18:00Z book snapshot while features are cut at 14:00 LST trades non-Eastern cities on future information. Use each city's own local decision time.

  9. Phantom penny asks. 1¢ ask levels are frequently spoofed; assuming you fill them over-credits PnL ~23×. Count only depth that persists across snapshots and is corroborated by trade prints.

  10. Overround as a diagnostic. Sum the YES prices across an event's full bracket set. overround > 1.0 is normal (house edge); overround >> 1.1 signals a mispriced event (or data error).


Files

References
  • references/brackets-and-settlement.md — Bracket/threshold structure, P(YES) formulas, settlement rules, cross-venue divergence table, overround
  • references/forecasting.md — Ensemble quantiles → (μ, σ), nowcast blending, CLI-space bias correction, model skill numbers, forecast ≠ edge
Scripts
  • scripts/weather_brackets.py — Gaussian bracket/threshold P(YES), settlement resolution, and quantile→(μ,σ) functions (pure stdlib, runs offline)

© agiprolabs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (scripts, references) in skills/kalshi-weather-markets of agiprolabs/claude-trading-skills.

  • SKILL.md
  • references/brackets-and-settlement.md
  • references/forecasting.md
  • scripts/weather_brackets.py

Open the folder on GitHubat commit 981e1d7

Compare with similar skills

Kalshi Weather Markets next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Kalshi Weather Markets compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Kalshi Weather Markets this skillagiprolabs/claude-trading-skills410—~2.2kAutomated safety check: PassMIT
Digital Oraclekomako-workshop/digital-oracle878—~5.9kAutomated safety check: PassMIT
Dr Manhattanguzus/dr-manhattan204—~2kAutomated safety check: PassApache-2.0
Kalshi Traderyanfrigo/kalshi-ai-trading-bot613—~3.4kAutomated safety check: PassMIT
Polymarket Tennislivetennisapi/livetennisapi-mcp152—~3kAutomated safety check: PassMIT
Prediction Markets AnalysisOctagonAI/octagon-mcp-server147—~465Automated safety check: PassMIT

Similar skills

  • Digital Oracle

    komako-workshop/digital-oracle

    Answer prediction questions using market trading data, not opinions.

    878 GitHub stars~5.9k tokensUpdated 2 mo ago
    Business, Finance & HRAuto-check passed
  • Dr Manhattan

    guzus/dr-manhattan

    Trade prediction markets (Polymarket, Kalshi, Opinion, Limitless, Predict.fun) using a unified CCXT-style API.

    204 GitHub stars~2k tokensUpdated 2 mo ago
    Business, Finance & HRAuto-check passed
  • Kalshi Trade

    ryanfrigo/kalshi-ai-trading-bot

    The disciplined process for autonomously and profitably trading the live Kalshi account on each /loop tick, with Claude as the decision-maker.

    613 GitHub stars~3.4k tokensUpdated yesterday
    Business, Finance & HRAuto-check passed
  • Polymarket Tennis

    livetennisapi/livetennisapi-mcp

    Build observe-only Polymarket and Kalshi tennis market tooling on the polymarket-tennis Python package (MIT) plus the Live Tennis API free tier.

    152 GitHub stars~3k tokensUpdated 4 days ago
    Business, Finance & HRAuto-check passed
  • Prediction Markets Analysis

    OctagonAI/octagon-mcp-server

    Generate Kalshi prediction market research reports or fetch structured event history.

    147 GitHub stars~465 tokensUpdated 3 mo ago
    Business, Finance & HRAuto-check passed
  • Feeds

    alsk1992/CloddsBot

    Real-time market data feeds from 8 prediction market platforms

    3k GitHub stars~1.8k tokensUpdated 8 days ago
    Business, Finance & HRAuto-check passed

More from agiprolabs/claude-trading-skills

All 68 skills in this repo
  • Backtrader

    agiprolabs/claude-trading-skills

    Event-driven backtesting with bar-by-bar execution, complex order types, multiple analyzers, and custom indicators

    410 GitHub stars~2.4k tokensUpdated 1 mo ago
    Auto-check passed
  • Birdeye API

    agiprolabs/claude-trading-skills

    Solana token market data via Birdeye — prices, OHLCV, trades, token metadata, security checks, and trader activity

    410 GitHub stars~1.8k tokensUpdated 1 mo ago
    Auto-check passed
  • Coingecko API

    agiprolabs/claude-trading-skills

    Broad crypto market data from CoinGecko covering 13,000+ tokens.

    410 GitHub stars~1.6k tokensUpdated 1 mo ago
    Auto-check passed
  • Cointegration Analysis

    agiprolabs/claude-trading-skills

    Cointegration testing for pairs trading using Engle-Granger, Johansen, and rolling stability analysis

    410 GitHub stars~2.1k tokensUpdated 1 mo ago
    Auto-check passed
  • Copy Trading

    agiprolabs/claude-trading-skills

    Wallet evaluation, monitoring, and copy-trade strategy design for Solana DEX trading

    410 GitHub stars~2.4k tokensUpdated 1 mo ago
    Auto-check passed
  • Correlation Analysis

    agiprolabs/claude-trading-skills

    Cross-asset correlation analysis including rolling correlation, hierarchical clustering, tail dependence, and regime-dependent correlation

    410 GitHub stars~2.4k tokensUpdated 1 mo ago
    Auto-check passed

Works with

Questions about Kalshi Weather Markets

What does Kalshi Weather Markets do?

Daily temperature high/low bracket and threshold contracts on Kalshi — contract structure, forecast→P(YES) map, settlement rules, cross-venue divergences, and weather-specific pitfalls. Kalshi Weather Markets is an agent skill from agiprolabs/claude-trading-skills.

When should I use Kalshi Weather Markets?

Kalshi Weather Markets fits situations like: business, Finance & HR work in your project.

How do I install Kalshi Weather Markets in Claude Code?

Run `npx skills add agiprolabs/claude-trading-skills --skill kalshi-weather-markets -a claude-code`. Or copy the skill folder (skills/kalshi-weather-markets in agiprolabs/claude-trading-skills) into .claude/skills/kalshi-weather-markets in your project. Claude Code loads it when a task matches its description.

How do I install Kalshi Weather Markets in Codex?

Run `npx skills add agiprolabs/claude-trading-skills --skill kalshi-weather-markets -a codex`. Or copy the skill folder (skills/kalshi-weather-markets in agiprolabs/claude-trading-skills) into .agents/skills/kalshi-weather-markets in your project. Codex loads it when a task matches its description.

Can I use Kalshi Weather Markets in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add agiprolabs/claude-trading-skills --skill kalshi-weather-markets -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/kalshi-weather-markets, .gemini/skills/kalshi-weather-markets, .github/skills/kalshi-weather-markets and .opencode/skills/kalshi-weather-markets in your project.

What does Kalshi Weather Markets need to run?

Going by SKILL.md and its folder, Kalshi Weather Markets needs Python for the scripts in its folder. Our summary lists: Python 3.

Does Kalshi Weather Markets access the network?

SKILL.md names 5 domains. As links in the text: docs.kalshi.com, weather.gov, mesonet.agron.iastate.edu, wunderground.com and docs.uma.xyz. This is read from the text; nothing was executed.

Is Kalshi Weather Markets safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Kalshi Weather Markets use?

Kalshi Weather Markets is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Kalshi Weather Markets use?

About 2.2k tokens (SKILL.md is roughly 8.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.3k tokens, read only when the agent opens those files.

What are the alternatives to Kalshi Weather Markets?

Skills that share tags, products or a category with Kalshi Weather Markets: Digital Oracle (komako-workshop/digital-oracle, 878 stars), Dr Manhattan (guzus/dr-manhattan, 204 stars), Kalshi Trade (ryanfrigo/kalshi-ai-trading-bot, 613 stars) and Polymarket Tennis (livetennisapi/livetennisapi-mcp, 152 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Kalshi Weather Markets?

agiprolabs (a GitHub user) maintains it in agiprolabs/claude-trading-skills, which has 410 GitHub stars. The repository holds 68 skills in this directory. The repository was last updated on September 3, 2026.

Source: agiprolabs/claude-trading-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.