
Betting
Wire sports-betting math—odds conversion, devigging, edge, Kelly sizing, arbitrage, and parlay analysis—into agents or apps that compare books and prediction markets.
Overview
betting is an agent skill for the Build phase that exposes sports betting odds conversion, devigging, edge, Kelly, arbitrage, and parlay analysis commands for integrated products.
Install
npx skills add https://github.com/machina-sports/sports-skills --skill bettingWhat is this skill?
- Documents American, decimal, and probability odds formats plus Kalshi 0–100 and Polymarket-style implied probability
- Command reference: convert_odds, devig, find_edge, kelly_criterion, evaluate_bet, find_arbitrage, parlay_analysis, line_
- Explicit conversion formulas for negative/positive American odds and decimal-to-probability
- Full evaluate_bet pipeline from book odds through devig, edge, and Kelly fraction
- Parlay and multi-source arbitrage analysis with optional correlation inputs
- Documents 3 primary odds formats: American, decimal, and probability (0–1)
- Command table covers 8+ named operations including evaluate_bet and parlay_analysis
Adoption & trust: 559 installs on skills.sh; 134 GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You are building a sports or markets product but keep re-implementing odds formats, vig removal, and bet sizing math inconsistently across agents and services.
Who is it for?
Indie builders adding quantitative betting or prediction-market features to APIs, agents, or internal analytics tools.
Skip if: Non-wagering products, teams that only need static sports scores without pricing math, or jurisdictions where you should not automate betting advice without legal review.
When should I use this skill?
When implementing or calling betting analysis commands—odds conversion, devig, edge/Kelly, arbitrage, parlays, or line movement—in a sports or markets integration.
What do I get? / Deliverables
Your agent calls a documented command set with shared formats and pipelines so evaluate_bet and arbitrage checks return consistent fair probability, edge, and Kelly outputs.
- Correct odds conversions across American, decimal, and probability formats
- Devigged fair probabilities and edge/Kelly recommendations from evaluate_bet-style pipelines
- Arbitrage or parlay analysis results from multi-leg or multi-source inputs
Recommended Skills
Journey fit
Betting analysis commands are implemented when you are building or extending a product that consumes odds and market probabilities, not during generic idea research. The skill documents an integration-style command API (convert_odds, devig, find_edge, kelly_criterion, etc.) that agents call while connecting sports data and pricing logic.
How it compares
Use this command-oriented skill package instead of pasting one-off probability formulas into chat for each new feature.
Common Questions / FAQ
Who is betting for?
Solo developers and small teams building sportsbook, fantasy, or prediction-market tooling that needs standardized odds and EV math inside an agent workflow.
When should I use betting?
During Build integrations while implementing convert_odds, devig, find_edge, Kelly, arbitrage, or parlay endpoints or tool handlers tied to live or historical market data.
Is betting safe to install?
Check the Security Audits panel on this Prism page before install; the skill describes financial wagering math and external market concepts—review compliance, responsible use, and your own risk controls.
SKILL.md
READMESKILL.md - Betting
# Betting Analysis — API Reference ## Odds Formats | Format | Example | Description | |---|---|---| | American | `-150`, `+130` | US sportsbook standard. Negative = favorite, positive = underdog | | Decimal | `1.67`, `2.30` | European standard. Payout per $1 (includes stake) | | Probability | `0.60`, `0.43` | Direct implied probability (0-1). Polymarket uses this format | **Conversion rules:** - American negative: prob = -odds / (-odds + 100). Example: -150 → 150/250 = 0.600 - American positive: prob = 100 / (odds + 100). Example: +130 → 100/230 = 0.435 - Decimal: prob = 1 / odds. Example: 1.67 → 0.599 - Kalshi prices (0-100 integer): divide by 100 to get probability format ## Commands | Command | Required | Optional | Description | |---|---|---|---| | `convert_odds` | odds, from_format | | Convert between American, decimal, probability | | `devig` | odds | format | Remove vig from sportsbook odds → fair probabilities | | `find_edge` | fair_prob, market_prob | | Compute edge, EV, and Kelly from two probabilities | | `kelly_criterion` | fair_prob, market_prob | | Kelly fraction for optimal bet sizing | | `evaluate_bet` | book_odds, market_prob | book_format, outcome | Full pipeline: devig → edge → Kelly | | `find_arbitrage` | market_probs | labels | Detect arbitrage across outcomes from multiple sources | | `parlay_analysis` | legs, parlay_odds | odds_format, correlation | Multi-leg parlay EV and Kelly analysis | | `line_movement` | | open_odds, close_odds, open_line, close_line, market_type | Analyze open-to-close line movement | ## Key Concepts - **Vig/Juice**: The sportsbook's margin. A -110/-110 line implies 52.4% + 52.4% = 104.8% total (4.8% overround). De-vigging removes this to get fair probabilities. - **Edge**: The difference between your estimated true probability and the market price. Positive edge = profitable in expectation. - **Kelly Criterion**: Optimal bet sizing. f* = (fair_prob - market_prob) / (1 - market_prob). For conservative sizing, use half-Kelly (×0.5) or quarter-Kelly (×0.25). - **Expected Value (EV)**: Average return per dollar bet. EV = fair_prob / market_prob - 1. - **Arbitrage**: When prices across sources don't sum to 100%, you can bet all outcomes and guarantee profit regardless of the result. - **Parlay**: Multi-leg bet where all legs must win. Combined probability = product of individual leg probabilities. Higher risk, higher reward. - **Line Movement**: How odds change between open and close. Large moves toward one side suggest sharp/professional money. Reverse line movement (ML and spread moving opposite directions) suggests a public vs sharp split. --- name: betting description: | Betting analysis — odds conversion, de-vigging, edge detection, Kelly criterion, arbitrage detection, parlay analysis, and line movement. Pure computation, no API calls. Works with odds from any source: ESPN (American odds), Polymarket (decimal probabilities), Kalshi (integer probabilities). Use when: user asks about bet sizing, expected value, edge analysis, Kelly criterion, arbitrage, parlays, line movement, odds conversion, or comparing odds across sources. Also use when you have odds from ESPN and a prediction market price and want to evaluate whether a bet has positive expected value. Don't use when: user asks for live odds or market data — use polymarket, kalshi, or the sport-specific skill to fetch odds first, then use this skill to analyze them. license: MIT metadata: author: machina-sports version: "0.2.0" --- # Betting Analysis Before writing queries, consult `references/api-reference.md` for odds formats, command parameters, and key concepts. ## Quick Start ```bash sports-skills betting convert_odds --odds=-150 --from_format=american sports-skills betting devig --odds=-150,+130 --format=american sports-skills betting find_edge --fair_prob=0.58 --market_prob=0.52 sports-skills betting evaluate_bet --book_odds=-150,+130 --market_prob=0.52 sports-skills betting find_arbitrage --marke