football-value-bets

Professional football bet analysis skill. Generates data-driven bet slips based on form, H2H, standings, injuries and value analysis. Includes result tracking with hitrate and ROI. Use when the user asks for a football bet, bet slip, accumulator, tips, or picks.

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 "football-value-bets" with this command: npx skills add nandichi/football-value-bets

Football Value Bets

Generate professional, data-driven football bet slips. No gut feelings, purely statistics and value analysis.

When to activate

Activate this skill when the user:

  • Asks for a football bet, bet slip, accumulator, or picks
  • Asks for match analysis for betting purposes
  • Asks for bet statistics, results, or ROI
  • Asks for a pick or tip for football

Prerequisites

Install dependencies (one-time):

pip install requests

Set API key (free via football-data.org/client/register):

export FOOTBALL_DATA_API_KEY="your-key-here"

Or fill in the key at {baseDir}/config/settings.json under api_key.


Mode 1: Generate Bet Slip

Step 1 -- Fetch data

Fetch current match data:

python3 {baseDir}/scripts/match_fetcher.py --mode full

This returns a JSON package with:

  • All scheduled matches for today and tomorrow
  • League standings and form data per team
  • Head-to-head history (last 5 encounters)

Coverage: Premier League, Bundesliga, Serie A, La Liga, Ligue 1, Eredivisie, Champions League.

If the user wants a specific date:

python3 {baseDir}/scripts/match_fetcher.py --mode full --date-from 2026-02-15 --date-to 2026-02-15

Step 2 -- Analyse each match

Analyse EVERY match from the data on these factors (in order of importance):

A. Form (last 5-10 matches)

  • Use the form field from the standings data (e.g. "W,W,D,L,W")
  • Calculate win percentage, goals per match
  • Pay attention to home form vs away form trends

B. Home/away statistics

  • Home team: goals for/against at home
  • Away team: goals for/against away
  • Compare goal difference at home vs on the road

C. Head-to-head (H2H)

  • Review the h2h data: who wins historically?
  • Look for patterns: does one team always score? Are these low- or high-scoring games?

D. Table position and motivation

  • Top of the table (title/CL spots): high motivation, consistent
  • Mid-table: unpredictable, be cautious
  • Bottom (relegation): can be surprisingly strong or weak
  • Difference in table position as an indicator

E. Additional factors (via web search) After the data analysis, search the web for EVERY shortlisted match:

  • Injuries and suspensions of key players (FotMob, Transfermarkt)
  • Recent news (manager change, internal issues, transfer saga)
  • xG (expected goals) data from recent matches
  • Weather conditions for outdoor matches in winter months

Use search terms like: "[Team A] vs [Team B] team news injuries" and "[Team A] xG stats 2025-26"

F. Odds estimation

  • Estimate realistic odds per outcome (based on your analysis)
  • Compare with common bookmaker odds (search the web if needed)
  • VALUE = when your estimated probability is higher than the implied probability of the odds
  • Implied probability = 1 / odds (e.g. odds 2.00 = 50% implied)

Step 3 -- Pick selection

Select ONLY picks that meet all criteria:

  1. Estimated win probability > 45%
  2. Odds per pick: 1.70 - 2.50 (value range)
  3. Clear motivation based on data
  4. No more than 1 pick per match

Allowed pick types:

  • 1 / X / 2: Home win, draw, away win
  • 1X / X2: Double chance
  • BTTS Yes/No: Both Teams To Score
  • Over/Under 2.5 goals
  • Handicap -1: Team wins by 2+ goals

Step 4 -- Honesty check

If you find FEWER than 3 picks with real value:

Do NOT generate a bet slip. Say honestly:

"No strong bet slip possible today. The matches offer insufficient value based on the data. Reasons: [brief explanation]. Wait for better odds or the next matchday."

This is MANDATORY. Never force it. Honesty > revenue.

Step 5 -- Generate output

Generate TWO variants:

Variant A: Main slip (3-4 picks, total odds 8x-15x)

MatchPickOddsMotivationProb %Risk
Ajax - PSVBTTS Yes1.85Both teams scored in 8/10 recent matches, H2H always goals52%Low
Arsenal - ChelseaOver 2.51.90Avg 3.2 goals per match this season, both attack-minded48%Medium
..................

Total odds: XX.XX Recommended stake: 5-10 EUR Potential payout: XX.XX EUR

Variant B: Backup (2-3 picks, total odds 4x-8x)

Same table format but with safer picks (higher probabilities, lower odds).

Always include at the bottom:

  • Estimated hitrate per variant (e.g. "Main slip: ~15% chance of all picks hitting, individual picks ~50% average")
  • Alternative advice: "Consider singles if you want to play it safer"
  • Disclaimer: "Gamble responsibly. Max stake 5-10 EUR per slip, monthly limit 75 EUR."

Step 6 -- Save bet

Automatically save the bet slip for tracking:

python3 {baseDir}/scripts/bet_tracker.py --mode save --data '{
  "type": "main",
  "stake": 5.0,
  "picks": [
    {
      "match": "Ajax - PSV",
      "competition": "Eredivisie",
      "pick": "BTTS Yes",
      "odds": 1.85,
      "estimated_probability": 0.52,
      "motivation": "Both teams scored in 8/10 recent matches",
      "risk": "low"
    }
  ],
  "total_odds": 12.50,
  "notes": ""
}'

Repeat for the backup slip with "type": "backup".


Mode 2: Record results

When the user says a bet has won or lost:

# Mark entire slip
python3 {baseDir}/scripts/bet_tracker.py --mode result --date 2026-02-15 --slip-idx 1 --result win

# Mark specific pick
python3 {baseDir}/scripts/bet_tracker.py --mode result --date 2026-02-15 --slip-idx 1 --pick-idx 2 --result loss

Result options: win, loss, void

Always ask the user for the date and which slip (main or backup) it concerns.


Mode 3: View statistics

When the user asks about results, stats, ROI, or hitrate:

python3 {baseDir}/scripts/bet_tracker.py --mode stats

Present the JSON output as a readable summary:

  • All-time hitrate and ROI
  • Current month: staked, returned, profit/loss, budget remaining
  • Best and worst month

Warn if the monthly budget is almost spent (>80% used).


Mode 4: View history

python3 {baseDir}/scripts/bet_tracker.py --mode history --days 30

Show an overview of all bets from the last N days.


Analysis quality rules

These rules are HARD. Always follow them:

  1. Never more than 5 picks per slip. More picks = exponentially lower chance.
  2. Never odds below 1.50 or above 3.00 per pick. Too low = no value, too high = too risky.
  3. Never 2 picks from the same match. Correlation destroys value.
  4. Never a pick without data backing. "Gut feeling" is not an argument.
  5. Always run the honesty check. No slip is better than a bad slip.
  6. Avoid derbies and cup matches unless the data is overwhelming. Too unpredictable.
  7. Always check injuries. A team without key players is a different team.
  8. Factor in the season phase. Early season = unreliable data. End of season = varying motivation.

Budget and responsible gambling

Configuration is in {baseDir}/config/settings.json:

  • Per bet: 5-10 EUR
  • Monthly limit: 75 EUR
  • Always check the stats for monthly spending before generating a new slip

If the monthly budget is at or nearly at its limit (>90%):

  • Inform the user
  • Advise waiting until next month
  • Do NOT generate a new slip unless the user explicitly states they want to proceed

Tone and style

  • Output in English
  • Professional but accessible
  • No hype, no promises
  • Data and percentages front and center
  • Honest about risks

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.

Research

ScraperAPI MCP

Knowledge base for the 22 ScraperAPI MCP tools. Covers scrape, Google (search, news, jobs, shopping, maps), Amazon (product, search, offers), Walmart (search...

Registry SourceRecently Updated
Research

Anki Card Generator

Use this skill to generate Anki flashcards in simple-anki-sync format for active memorization of any knowledge. Invoke whenever the user wants to memorize, m...

Registry SourceRecently Updated
Research

Ai Task Hub

AI task hub for image analysis, background removal, speech-to-text, text-to-speech, markdown conversion, points balance/ledger lookup, and async execute/poll...

Registry SourceRecently Updated
Research

Research Report Skill

Use when the user requests industry research reports, market analysis, business trend analysis, or professional research documents. This skill provides struc...

Registry SourceRecently Updated