{
  "schemaVersion": "1.0",
  "item": {
    "slug": "football-value-bets",
    "name": "football-value-bets",
    "source": "tencent",
    "type": "skill",
    "category": "效率提升",
    "sourceUrl": "https://clawhub.ai/nandichi/football-value-bets",
    "canonicalUrl": "https://clawhub.ai/nandichi/football-value-bets",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/football-value-bets",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=football-value-bets",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "config/settings.json",
      "scripts/match_fetcher.py",
      "scripts/bet_tracker.py",
      "SKILL.md",
      "skill.json"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/football-value-bets"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/football-value-bets",
    "agentPageUrl": "https://openagent3.xyz/skills/football-value-bets/agent",
    "manifestUrl": "https://openagent3.xyz/skills/football-value-bets/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/football-value-bets/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Football Value Bets",
        "body": "Generate professional, data-driven football bet slips. No gut feelings, purely statistics and value analysis."
      },
      {
        "title": "When to activate",
        "body": "Activate this skill when the user:\n\nAsks for a football bet, bet slip, accumulator, or picks\nAsks for match analysis for betting purposes\nAsks for bet statistics, results, or ROI\nAsks for a pick or tip for football"
      },
      {
        "title": "Prerequisites",
        "body": "Install dependencies (one-time):\n\npip install requests\n\nSet API key (free via football-data.org/client/register):\n\nexport FOOTBALL_DATA_API_KEY=\"your-key-here\"\n\nOr fill in the key at {baseDir}/config/settings.json under api_key."
      },
      {
        "title": "Step 1 -- Fetch data",
        "body": "Fetch current match data:\n\npython3 {baseDir}/scripts/match_fetcher.py --mode full\n\nThis returns a JSON package with:\n\nAll scheduled matches for today and tomorrow\nLeague standings and form data per team\nHead-to-head history (last 5 encounters)\n\nCoverage: Premier League, Bundesliga, Serie A, La Liga, Ligue 1, Eredivisie, Champions League.\n\nIf the user wants a specific date:\n\npython3 {baseDir}/scripts/match_fetcher.py --mode full --date-from 2026-02-15 --date-to 2026-02-15"
      },
      {
        "title": "Step 2 -- Analyse each match",
        "body": "Analyse EVERY match from the data on these factors (in order of importance):\n\nA. Form (last 5-10 matches)\n\nUse the form field from the standings data (e.g. \"W,W,D,L,W\")\nCalculate win percentage, goals per match\nPay attention to home form vs away form trends\n\nB. Home/away statistics\n\nHome team: goals for/against at home\nAway team: goals for/against away\nCompare goal difference at home vs on the road\n\nC. Head-to-head (H2H)\n\nReview the h2h data: who wins historically?\nLook for patterns: does one team always score? Are these low- or high-scoring games?\n\nD. Table position and motivation\n\nTop of the table (title/CL spots): high motivation, consistent\nMid-table: unpredictable, be cautious\nBottom (relegation): can be surprisingly strong or weak\nDifference in table position as an indicator\n\nE. Additional factors (via web search)\nAfter the data analysis, search the web for EVERY shortlisted match:\n\nInjuries and suspensions of key players (FotMob, Transfermarkt)\nRecent news (manager change, internal issues, transfer saga)\nxG (expected goals) data from recent matches\nWeather conditions for outdoor matches in winter months\n\nUse search terms like: \"[Team A] vs [Team B] team news injuries\" and \"[Team A] xG stats 2025-26\"\n\nF. Odds estimation\n\nEstimate realistic odds per outcome (based on your analysis)\nCompare with common bookmaker odds (search the web if needed)\nVALUE = when your estimated probability is higher than the implied probability of the odds\nImplied probability = 1 / odds (e.g. odds 2.00 = 50% implied)"
      },
      {
        "title": "Step 3 -- Pick selection",
        "body": "Select ONLY picks that meet all criteria:\n\nEstimated win probability > 45%\nOdds per pick: 1.70 - 2.50 (value range)\nClear motivation based on data\nNo more than 1 pick per match\n\nAllowed pick types:\n\n1 / X / 2: Home win, draw, away win\n1X / X2: Double chance\nBTTS Yes/No: Both Teams To Score\nOver/Under 2.5 goals\nHandicap -1: Team wins by 2+ goals"
      },
      {
        "title": "Step 4 -- Honesty check",
        "body": "If you find FEWER than 3 picks with real value:\n\nDo NOT generate a bet slip. Say honestly:\n\n\"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.\"\n\nThis is MANDATORY. Never force it. Honesty > revenue."
      },
      {
        "title": "Step 5 -- Generate output",
        "body": "Generate TWO variants:\n\nVariant A: Main slip (3-4 picks, total odds 8x-15x)\n\nMatchPickOddsMotivationProb %RiskAjax - PSVBTTS Yes1.85Both teams scored in 8/10 recent matches, H2H always goals52%LowArsenal - ChelseaOver 2.51.90Avg 3.2 goals per match this season, both attack-minded48%Medium..................\n\nTotal odds: XX.XX\nRecommended stake: 5-10 EUR\nPotential payout: XX.XX EUR\n\nVariant B: Backup (2-3 picks, total odds 4x-8x)\n\nSame table format but with safer picks (higher probabilities, lower odds).\n\nAlways include at the bottom:\n\nEstimated hitrate per variant (e.g. \"Main slip: ~15% chance of all picks hitting, individual picks ~50% average\")\nAlternative advice: \"Consider singles if you want to play it safer\"\nDisclaimer: \"Gamble responsibly. Max stake 5-10 EUR per slip, monthly limit 75 EUR.\""
      },
      {
        "title": "Step 6 -- Save bet",
        "body": "Automatically save the bet slip for tracking:\n\npython3 {baseDir}/scripts/bet_tracker.py --mode save --data '{\n  \"type\": \"main\",\n  \"stake\": 5.0,\n  \"picks\": [\n    {\n      \"match\": \"Ajax - PSV\",\n      \"competition\": \"Eredivisie\",\n      \"pick\": \"BTTS Yes\",\n      \"odds\": 1.85,\n      \"estimated_probability\": 0.52,\n      \"motivation\": \"Both teams scored in 8/10 recent matches\",\n      \"risk\": \"low\"\n    }\n  ],\n  \"total_odds\": 12.50,\n  \"notes\": \"\"\n}'\n\nRepeat for the backup slip with \"type\": \"backup\"."
      },
      {
        "title": "Mode 2: Record results",
        "body": "When the user says a bet has won or lost:\n\n# Mark entire slip\npython3 {baseDir}/scripts/bet_tracker.py --mode result --date 2026-02-15 --slip-idx 1 --result win\n\n# Mark specific pick\npython3 {baseDir}/scripts/bet_tracker.py --mode result --date 2026-02-15 --slip-idx 1 --pick-idx 2 --result loss\n\nResult options: win, loss, void\n\nAlways ask the user for the date and which slip (main or backup) it concerns."
      },
      {
        "title": "Mode 3: View statistics",
        "body": "When the user asks about results, stats, ROI, or hitrate:\n\npython3 {baseDir}/scripts/bet_tracker.py --mode stats\n\nPresent the JSON output as a readable summary:\n\nAll-time hitrate and ROI\nCurrent month: staked, returned, profit/loss, budget remaining\nBest and worst month\n\nWarn if the monthly budget is almost spent (>80% used)."
      },
      {
        "title": "Mode 4: View history",
        "body": "python3 {baseDir}/scripts/bet_tracker.py --mode history --days 30\n\nShow an overview of all bets from the last N days."
      },
      {
        "title": "Analysis quality rules",
        "body": "These rules are HARD. Always follow them:\n\nNever more than 5 picks per slip. More picks = exponentially lower chance.\nNever odds below 1.50 or above 3.00 per pick. Too low = no value, too high = too risky.\nNever 2 picks from the same match. Correlation destroys value.\nNever a pick without data backing. \"Gut feeling\" is not an argument.\nAlways run the honesty check. No slip is better than a bad slip.\nAvoid derbies and cup matches unless the data is overwhelming. Too unpredictable.\nAlways check injuries. A team without key players is a different team.\nFactor in the season phase. Early season = unreliable data. End of season = varying motivation."
      },
      {
        "title": "Budget and responsible gambling",
        "body": "Configuration is in {baseDir}/config/settings.json:\n\nPer bet: 5-10 EUR\nMonthly limit: 75 EUR\nAlways check the stats for monthly spending before generating a new slip\n\nIf the monthly budget is at or nearly at its limit (>90%):\n\nInform the user\nAdvise waiting until next month\nDo NOT generate a new slip unless the user explicitly states they want to proceed"
      },
      {
        "title": "Tone and style",
        "body": "Output in English\nProfessional but accessible\nNo hype, no promises\nData and percentages front and center\nHonest about risks"
      }
    ],
    "body": "Football Value Bets\n\nGenerate professional, data-driven football bet slips. No gut feelings, purely statistics and value analysis.\n\nWhen to activate\n\nActivate this skill when the user:\n\nAsks for a football bet, bet slip, accumulator, or picks\nAsks for match analysis for betting purposes\nAsks for bet statistics, results, or ROI\nAsks for a pick or tip for football\nPrerequisites\n\nInstall dependencies (one-time):\n\npip install requests\n\n\nSet API key (free via football-data.org/client/register):\n\nexport FOOTBALL_DATA_API_KEY=\"your-key-here\"\n\n\nOr fill in the key at {baseDir}/config/settings.json under api_key.\n\nMode 1: Generate Bet Slip\nStep 1 -- Fetch data\n\nFetch current match data:\n\npython3 {baseDir}/scripts/match_fetcher.py --mode full\n\n\nThis returns a JSON package with:\n\nAll scheduled matches for today and tomorrow\nLeague standings and form data per team\nHead-to-head history (last 5 encounters)\n\nCoverage: Premier League, Bundesliga, Serie A, La Liga, Ligue 1, Eredivisie, Champions League.\n\nIf the user wants a specific date:\n\npython3 {baseDir}/scripts/match_fetcher.py --mode full --date-from 2026-02-15 --date-to 2026-02-15\n\nStep 2 -- Analyse each match\n\nAnalyse EVERY match from the data on these factors (in order of importance):\n\nA. Form (last 5-10 matches)\n\nUse the form field from the standings data (e.g. \"W,W,D,L,W\")\nCalculate win percentage, goals per match\nPay attention to home form vs away form trends\n\nB. Home/away statistics\n\nHome team: goals for/against at home\nAway team: goals for/against away\nCompare goal difference at home vs on the road\n\nC. Head-to-head (H2H)\n\nReview the h2h data: who wins historically?\nLook for patterns: does one team always score? Are these low- or high-scoring games?\n\nD. Table position and motivation\n\nTop of the table (title/CL spots): high motivation, consistent\nMid-table: unpredictable, be cautious\nBottom (relegation): can be surprisingly strong or weak\nDifference in table position as an indicator\n\nE. Additional factors (via web search) After the data analysis, search the web for EVERY shortlisted match:\n\nInjuries and suspensions of key players (FotMob, Transfermarkt)\nRecent news (manager change, internal issues, transfer saga)\nxG (expected goals) data from recent matches\nWeather conditions for outdoor matches in winter months\n\nUse search terms like: \"[Team A] vs [Team B] team news injuries\" and \"[Team A] xG stats 2025-26\"\n\nF. Odds estimation\n\nEstimate realistic odds per outcome (based on your analysis)\nCompare with common bookmaker odds (search the web if needed)\nVALUE = when your estimated probability is higher than the implied probability of the odds\nImplied probability = 1 / odds (e.g. odds 2.00 = 50% implied)\nStep 3 -- Pick selection\n\nSelect ONLY picks that meet all criteria:\n\nEstimated win probability > 45%\nOdds per pick: 1.70 - 2.50 (value range)\nClear motivation based on data\nNo more than 1 pick per match\n\nAllowed pick types:\n\n1 / X / 2: Home win, draw, away win\n1X / X2: Double chance\nBTTS Yes/No: Both Teams To Score\nOver/Under 2.5 goals\nHandicap -1: Team wins by 2+ goals\nStep 4 -- Honesty check\n\nIf you find FEWER than 3 picks with real value:\n\nDo NOT generate a bet slip. Say honestly:\n\n\"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.\"\n\nThis is MANDATORY. Never force it. Honesty > revenue.\n\nStep 5 -- Generate output\n\nGenerate TWO variants:\n\nVariant A: Main slip (3-4 picks, total odds 8x-15x)\n\nMatch\tPick\tOdds\tMotivation\tProb %\tRisk\nAjax - PSV\tBTTS Yes\t1.85\tBoth teams scored in 8/10 recent matches, H2H always goals\t52%\tLow\nArsenal - Chelsea\tOver 2.5\t1.90\tAvg 3.2 goals per match this season, both attack-minded\t48%\tMedium\n...\t...\t...\t...\t...\t...\n\nTotal odds: XX.XX Recommended stake: 5-10 EUR Potential payout: XX.XX EUR\n\nVariant B: Backup (2-3 picks, total odds 4x-8x)\n\nSame table format but with safer picks (higher probabilities, lower odds).\n\nAlways include at the bottom:\n\nEstimated hitrate per variant (e.g. \"Main slip: ~15% chance of all picks hitting, individual picks ~50% average\")\nAlternative advice: \"Consider singles if you want to play it safer\"\nDisclaimer: \"Gamble responsibly. Max stake 5-10 EUR per slip, monthly limit 75 EUR.\"\nStep 6 -- Save bet\n\nAutomatically save the bet slip for tracking:\n\npython3 {baseDir}/scripts/bet_tracker.py --mode save --data '{\n  \"type\": \"main\",\n  \"stake\": 5.0,\n  \"picks\": [\n    {\n      \"match\": \"Ajax - PSV\",\n      \"competition\": \"Eredivisie\",\n      \"pick\": \"BTTS Yes\",\n      \"odds\": 1.85,\n      \"estimated_probability\": 0.52,\n      \"motivation\": \"Both teams scored in 8/10 recent matches\",\n      \"risk\": \"low\"\n    }\n  ],\n  \"total_odds\": 12.50,\n  \"notes\": \"\"\n}'\n\n\nRepeat for the backup slip with \"type\": \"backup\".\n\nMode 2: Record results\n\nWhen the user says a bet has won or lost:\n\n# Mark entire slip\npython3 {baseDir}/scripts/bet_tracker.py --mode result --date 2026-02-15 --slip-idx 1 --result win\n\n# Mark specific pick\npython3 {baseDir}/scripts/bet_tracker.py --mode result --date 2026-02-15 --slip-idx 1 --pick-idx 2 --result loss\n\n\nResult options: win, loss, void\n\nAlways ask the user for the date and which slip (main or backup) it concerns.\n\nMode 3: View statistics\n\nWhen the user asks about results, stats, ROI, or hitrate:\n\npython3 {baseDir}/scripts/bet_tracker.py --mode stats\n\n\nPresent the JSON output as a readable summary:\n\nAll-time hitrate and ROI\nCurrent month: staked, returned, profit/loss, budget remaining\nBest and worst month\n\nWarn if the monthly budget is almost spent (>80% used).\n\nMode 4: View history\npython3 {baseDir}/scripts/bet_tracker.py --mode history --days 30\n\n\nShow an overview of all bets from the last N days.\n\nAnalysis quality rules\n\nThese rules are HARD. Always follow them:\n\nNever more than 5 picks per slip. More picks = exponentially lower chance.\nNever odds below 1.50 or above 3.00 per pick. Too low = no value, too high = too risky.\nNever 2 picks from the same match. Correlation destroys value.\nNever a pick without data backing. \"Gut feeling\" is not an argument.\nAlways run the honesty check. No slip is better than a bad slip.\nAvoid derbies and cup matches unless the data is overwhelming. Too unpredictable.\nAlways check injuries. A team without key players is a different team.\nFactor in the season phase. Early season = unreliable data. End of season = varying motivation.\nBudget and responsible gambling\n\nConfiguration is in {baseDir}/config/settings.json:\n\nPer bet: 5-10 EUR\nMonthly limit: 75 EUR\nAlways check the stats for monthly spending before generating a new slip\n\nIf the monthly budget is at or nearly at its limit (>90%):\n\nInform the user\nAdvise waiting until next month\nDo NOT generate a new slip unless the user explicitly states they want to proceed\nTone and style\nOutput in English\nProfessional but accessible\nNo hype, no promises\nData and percentages front and center\nHonest about risks"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/nandichi/football-value-bets",
    "publisherUrl": "https://clawhub.ai/nandichi/football-value-bets",
    "owner": "nandichi",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/football-value-bets",
    "downloadUrl": "https://openagent3.xyz/downloads/football-value-bets",
    "agentUrl": "https://openagent3.xyz/skills/football-value-bets/agent",
    "manifestUrl": "https://openagent3.xyz/skills/football-value-bets/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/football-value-bets/agent.md"
  }
}