fuku-predictions

Trade Kalshi prediction markets through conversation, powered by Fuku sports model predictions. Use when a user asks about Kalshi markets, wants sports predictions with edge analysis, wants to place or exit trades, or wants autonomous scanning. Supports CBB, NBA, NHL, and Soccer with personalized trading profiles. User defines preferences in natural language ("I want home dogs getting 7+ points in CBB"), agent builds a profile, scans markets, and presents opportunities with edge, payout, and recommendation. Kalshi API key stored locally — never transmitted externally.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "fuku-predictions" with this command: npx skills add cryptopunk2070/fuku-predictions

Fuku Predictions — Conversational Kalshi Trading Skill

Trade prediction markets through conversation. The agent learns what you care about, builds a personalized profile, then scans Kalshi markets for opportunities that match your style.

Three Modes

1. Profile Building (Interactive)

User describes preferences → agent builds a trading profile → saves for reuse.

2. Conversational Scanning

Agent scans markets using the profile → presents matching opportunities → user approves trades.

3. Autonomous Trading

Agent scans and trades automatically within risk limits.


Setup

Dependencies

pip install httpx cryptography python-dotenv

Kalshi API Key

Create .env in the skill directory:

KALSHI_API_KEY_ID=your_key_id
KALSHI_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----"

Get credentials: https://kalshi.com/profile/api


Defining Preferences

Users express what they care about in natural language:

Situational: "I want home dogs getting 7+ points in CBB" · "Show me letdown spots after big wins" · "Find revenge games where the underdog lost by 15+ last time"

Player Mismatches: "Games where the best player has a 50+ FPR gap" · "Matchups when a star player is injured"

Statistical: "Only games with top 30 defenses" · "Pace mismatches (fast vs slow)" · "Spreads under 3 points"

Risk & Sizing: "$5 bets on highest confidence plays" · "Max 8 trades per day" · "Quarter-Kelly sizing"


Agent Tools

Profile Management

# Process user preference input
python3 scripts/agent_interface.py --input "I want home dogs getting 7+ points in CBB"

# Scan using a profile
python3 scripts/agent_interface.py --scan --profile default

# List profiles
python3 scripts/agent_interface.py --input "list my profiles"

Market Browser

# Tonight's markets with predictions and edges
python3 scripts/browse.py

# Filter by sport or game
python3 scripts/browse.py --sport cbb
python3 scripts/browse.py --game "Duke" --date 2026-03-03

# Change bet display amount (default $5)
python3 scripts/browse.py --bet 10

Direct Kalshi Access

python3 scripts/kalshi_client.py balance
python3 scripts/kalshi_client.py positions
python3 scripts/kalshi_client.py markets --series KXNBASPREAD

Presenting Markets to Users

Always include: the market, price (dollars), model prediction, edge, payout, and recommendation.

Talk in dollars, not contracts. Users say "$5 on Boston" — convert to contracts internally.

Three-tier display per market type:

  • Main line — contract closest to 50¢ (market consensus)
  • 🔒 Safer — highest edge (high confidence, modest payout)
  • 🎰 Riskier — near model's predicted line (~50% model probability, bigger payout, ≥3% edge required)

Edge icons: 🔥 ≥20% · ✅ ≥10% · 📊 ≥5% · ➖ <5%

Example:

🏀 Boston @ Milwaukee — 7:30 PM
📊 Our model: BOS -8.4 | Total 224.1

• BOS -2.5 at 50¢ → 70% model (+20% edge 🔥) — $5 pays $10
  ↳ 🔒 Safer: BOS -1.5 at 57¢ → 82% model (+25% edge) — $5 pays $8
  ↳ 🎰 Riskier: BOS -8.5 at 31¢ → 50% model (+19% edge) — $5 pays $16
• Over 215.5 at 52¢ → 79% model (+27% edge 🔥) — $5 pays $9

💰 Balance: $49.95
Want me to put money on any of these?

Dollar-to-Contract Math

"$5 on BOS -8.5" at 31¢ → floor($5 / $0.31) = 16 contracts × $0.31 = $4.96 cost → $16.00 payout if YES → $11.04 profit.


Trading

from kalshi_client import KalshiClient
c = KalshiClient()

# Buy
c.place_order(ticker="KXNBA...", side="yes", action="buy",
              count=16, order_type="limit", yes_price=31)

# Sell to exit
c.place_order(ticker="KXNBA...", side="yes", action="sell",
              count=16, order_type="limit", yes_price=current_bid)

Edge Math

Normal distribution probability conversion (no scipy):

  • Uses math.erfc for CDF
  • Sport-specific σ: CBB spread 12.0 / total 11.0, NBA 11.0 / 10.5, NHL 1.5 / 1.3, Soccer 1.2 / 1.1
  • Player props: σ = 30% of predicted value (min 2.0)

Kalshi Market Structure

  • Series (sport): KXNBASPREAD, KXNBATOTAL, KXNBAGAME
  • Event (game): KXNBASPREAD-26MAR02BOSMIL
  • Market (contract): KXNBASPREAD-26MAR02BOSMIL-BOS7 → "Boston wins by over 7.5?"

Pricing: YES/NO in cents (1-99). YES 31¢ = 31% implied. 1 contract = $1 max payout.

Supported Sports

SportSpreadTotalMLProps
NBAKXNBASPREADKXNBATOTALKXNBAGAME
CBBKXNCAAMBSPREADKXNCAAMBTOTALKXNCAABGAME
NHLKXNHLSPREADKXNHLTOTALKXNHLGAMEGoals/Pts/Ast
SoccerPer-league (EPL/La Liga/Serie A/Bundesliga/Ligue 1/UCL/MLS)Per-leaguePer-leagueBTTS

Autopilot Config

config/config.json:

{
  "strategy": "model_follower",
  "sports": ["nba", "cbb"],
  "min_edge_pct": 3.0,
  "max_daily_loss_pct": 10,
  "max_daily_bets": 15,
  "sizing": "quarter_kelly",
  "mode": "approve"
}

Modes: dry_run (log only) · approve (ask user) · auto (hands-free)


Safety

  • Max daily loss limit (default 10%)
  • Position size caps (default 5% per trade)
  • Kill switch: touch KILL_SWITCH in skill directory
  • All trades logged locally to trades.json
  • API keys never leave the machine

Kalshi API Auth

RSA-PSS signatures. The client handles this automatically.

Signing quirk: Portfolio endpoints sign path WITHOUT query strings. Market endpoints sign WITH. See _SIGN_PATH_ONLY in kalshi_client.py.


Fuku Prediction API (Public)

Base: https://cbb-predictions-api-nzpk.onrender.com

EndpointData
/api/public/cbb/predictions?date=YYYY-MM-DDCBB predictions
/api/public/nba/predictions?date=YYYY-MM-DDNBA predictions
/api/public/nhl/predictions?date=YYYY-MM-DDNHL predictions
/api/public/soccer/predictions?date=YYYY-MM-DDSoccer predictions
/api/public/cbb/rankings?limit=NTeam FPR rankings
/api/public/cbb/players?team=X&limit=NPlayer FPR data

Files

FilePurpose
scripts/browse.pyPrimary — markets with predictions, edges, payouts
scripts/agent_interface.pyConversational profile building + scanning
scripts/profile_engine.pyProfile-based opportunity scoring
scripts/profile_builder.pyNatural language → profile JSON
scripts/autopilot.pyAutonomous scanning + trading pipeline
scripts/kalshi_client.pyKalshi API client (auth, orders, markets)
scripts/scanner.pyFull edge scanner (all contracts)
scripts/executor.pyTrade execution with risk management
scripts/portfolio.pyPosition tracking and P&L
scripts/setup.pyInteractive setup wizard
config/config.jsonStrategy and risk settings
config/profiles/*.jsonUser trading profiles
references/strategies.mdStrategy explanations
references/kalshi-markets.mdHow Kalshi markets work

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

M3U8 Downloader

Download encrypted m3u8/HLS videos using parallel downloads. Use when given an m3u8 URL to download a video, especially encrypted HLS streams with AES-128.

Registry SourceRecently Updated
General

Data Analyst Cn

数据分析助手 - 数据清洗、统计分析、可视化建议。适合:数据分析师、产品经理、运营。

Registry SourceRecently Updated
General

QuantumOS

Install and manage QuantumOS, an AI command center dashboard for OpenClaw. Use when the user wants to set up QuantumOS, start/stop the dashboard, troubleshoo...

Registry SourceRecently Updated