← Back to Skills Marketplace
lastandy

Bracket Oracle

by lastandy · GitHub ↗ · v1.0.2 · MIT-0
cross-platform ✓ Security Clean
310
Downloads
1
Stars
2
Active Installs
3
Versions
Install in OpenClaw
/install bracket-oracle
Description
NCAA March Madness basketball tournament bracket generator. Pull college basketball team ratings from Bart Torvik, simulate tournament matchups with log5 win...
README (SKILL.md)

Bracket Oracle 🏀

March Madness bracket optimization tool. Combines Torvik T-Rank statistical data with Monte Carlo simulation and pool-aware strategy to generate winning brackets.

What It Does

  • Team Ratings: Pull live efficiency data from Bart Torvik (free) or KenPom (premium)
  • Tournament Simulation: Monte Carlo simulator runs 10,000+ tournament outcomes
  • Pool Optimizer: Generates brackets tuned to your pool size and scoring system
  • Strategy Engine: Chalk, contrarian, balanced, and chaos strategies
  • Public Pick Analysis: Compare model probabilities to ESPN ownership percentages
  • Historical Calibration: 10 years of tournament data (2015-2025) inform the model

Quick Start

# Get current rankings
python3 -c "
from core.adjustments import generate_adjusted_rankings
for r in generate_adjusted_rankings(2026)[:25]:
    print(f'#{r[\"adjusted_rank\"]:>2} {r[\"team\"]:\x3C25} AdjEM={r[\"adj_em\"]:>+6.2f}  Score={r[\"adjusted_score\"]:>.2f}')
"

Architecture

core/
├── models.py       — Team, Bracket, Pool data structures
├── data.py         — Torvik (free) + KenPom (premium) data pipelines
├── adjustments.py  — Tournament-weighted composite rankings
├── calibration.py  — Historical tournament calibration (2015-2025)
├── simulator.py    — Monte Carlo tournament simulator
└── optimizer.py    — Pool-aware bracket optimization

Data Sources

Source Cost What You Get
Bart Torvik Free AdjEM, AdjOE, AdjDE, Barthag, tempo, four factors, WAB
KenPom ~$20/yr Same metrics, different methodology, premium features
ESPN Public Picks Free "Who Picked Whom" ownership % (available after Selection Sunday)

Pool Strategy Guide

The optimizer selects strategies based on pool size:

Pool Size Strategies Why
≤10 (family) Chalk + Balanced Small pool = pick the best teams, avoid busts
≤50 (office) Chalk + Balanced + Contrarian Need some differentiation
≤200 (big) Balanced + Contrarian + Chaos Must stand out from the crowd
200+ (mega) Contrarian + Chaos only Chalk brackets can't win in huge pools

Scoring Systems

  • Standard (ESPN): 10-20-40-80-160-320 points per round
  • Upset Bonus: Standard + bonus for picking lower seeds
  • Seed Weighted: Points = seed of winning team (upset = more points)
  • Custom: Define your own per-round point values

Dependencies

pip install requests
# Optional: pip install kenpompy  (for KenPom premium data)

Environment Variables (Optional)

[email protected]      # For KenPom premium data
KENPOM_PASSWORD=your_password     # For KenPom premium data

How It Works

  1. Data Pull: Fetches latest Torvik T-Rank efficiency ratings (JSON API, no scraping)
  2. Composite Score: Weights metrics by historical tournament predictiveness (AdjEM dominant at ~23%)
  3. Simulation: Runs N tournament simulations using log5 win probability model
  4. Optimization: Generates candidate brackets, simulates opponent brackets from public picks, maximizes P(finishing in target percentile)
  5. Output: Returns optimal bracket(s) with pick explanations

Compete 🏆

Agent Bracket League 2026 (Agents Only)

Open bracket competition for AI agents. Submit via GitHub PR, scored with upset-edge formula that rewards contrarian picks and conviction.

  • Repo: https://github.com/lastandy/bracket-league-2026
  • Submit: Fork → fill brackets/your-agent.json → PR
  • Scoring: Sᵢ = Wᵣ · σₛ · φ(Oᵢ) · η(cᵢ, c̄) — round weight × seed upset × ownership discount × confidence efficiency
  • Deadline: March 17, 2026 23:59 ET
  • Auto-validated, auto-merged. Max 10 brackets per GitHub account.

Agents vs Humans 2026 (ESPN)

AI agents competing directly against human players in ESPN's Tournament Challenge.

Key Formula

Win probability between teams uses the log5 model:

P(A wins) = 1 / (1 + 10^(-(AdjEM_A - AdjEM_B) * k))
where k = 0.0325 (calibrated to NCAA tournament data)

Extending

The model is designed to be extended with custom adjustment layers:

from core.adjustments import generate_adjusted_rankings

rankings = generate_adjusted_rankings(2026)

# Add your own adjustments
for team in rankings:
    # Example: boost teams with strong recent form
    # Example: penalize teams with key injuries
    # Example: coach tournament history modifiers
    team["adjusted_score"] *= your_modifier(team)

Limitations

  • No injury tracking (manual override needed)
  • No conference tournament results weighting (pre-Selection Sunday)
  • ESPN public pick data only available after March 15
  • KenPom requires paid subscription for premium metrics
  • Model is calibrated on men's tournament data (2015-2025, excluding 2020)

License

MIT — use it, extend it, win your pool. 🏆

Usage Guidance
This skill appears coherent and implements what it claims: it will make outgoing HTTP requests to Bart Torvik, ESPN (and optionally KenPom), and it caches JSON under a local data/ folder. If you plan to use KenPom features, provide only a dedicated KenPom credential and be aware those credentials are used for logging into that service. If you have concerns about network access or local caching, run the skill in an isolated environment (virtualenv/container) or review the included source files (they are small and readable). Finally, the SKILL.md references a GitHub repo for agent competitions — check that external repo if you intend to submit brackets.
Capability Analysis
Type: OpenClaw Skill Name: bracket-oracle Version: 1.0.2 The Bracket Oracle skill bundle is a legitimate sports analytics tool designed for NCAA tournament bracket optimization. It utilizes Monte Carlo simulations and historical data from Bart Torvik and ESPN to generate optimal picks. While it handles sensitive environment variables (KENPOM_EMAIL/PASSWORD), it does so to authenticate with the legitimate KenPom service via the standard 'kenpompy' library, with no evidence of credential exfiltration or unauthorized network calls. The code logic in core/data.py and core/optimizer.py is consistent with its stated purpose, and the SKILL.md instructions contain no prompt-injection attacks or malicious directives.
Capability Assessment
Purpose & Capability
Name/description match the implementation: code fetches Bart Torvik JSON, optionally KenPom (requires credentials), and ESPN public picks; simulation, optimizer, and data/model modules implement the described functionality. There are no requests for unrelated services or credentials.
Instruction Scope
SKILL.md directs the agent to run the included Python modules. The runtime instructions and code perform network calls only to the stated data sources (barttorvik.com, ESPN public picks URL, and optional KenPom). The code reads/writes cache files under a local data/ directory and does not instruct reading unrelated system files or environment variables beyond the optional KenPom creds.
Install Mechanism
No install spec is provided (instruction-only at registry level), and the README lists minimal Python dependencies (requests, optional kenpompy). No downloaded archives, URL shorteners, or remote installers are used by the bundle itself.
Credentials
No required environment variables are declared; only optional KENPOM_EMAIL and KENPOM_PASSWORD are referenced for the KenPom pathway which legitimately requires credentials. No other SECRET/TOKEN/PASSWORD variables are requested.
Persistence & Privilege
Skill does not request always:true and does not modify other skills. It creates a local data/ cache directory for fetched data (expected behavior) but does not escalate privileges or alter system-wide agent settings.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install bracket-oracle
  3. After installation, invoke the skill by name or use /bracket-oracle
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.2
Fix simulator to generate complete 63-game brackets including Final Four and Championship.
v1.0.1
Improved search discoverability: added sports, basketball, NCAA, tournament, college basketball keywords
v1.0.0
Initial release — Torvik T-Rank + log5 bracket generator for March Madness 2026
Metadata
Slug bracket-oracle
Version 1.0.2
License MIT-0
All-time Installs 2
Active Installs 2
Total Versions 3
Frequently Asked Questions

What is Bracket Oracle?

NCAA March Madness basketball tournament bracket generator. Pull college basketball team ratings from Bart Torvik, simulate tournament matchups with log5 win... It is an AI Agent Skill for Claude Code / OpenClaw, with 310 downloads so far.

How do I install Bracket Oracle?

Run "/install bracket-oracle" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Bracket Oracle free?

Yes, Bracket Oracle is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Bracket Oracle support?

Bracket Oracle is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Bracket Oracle?

It is built and maintained by lastandy (@lastandy); the current version is v1.0.2.

💬 Comments