# Send football-value-bets to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- 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.
## Suggested prompts
### New install

```text
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.
```
### Upgrade existing

```text
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.
```
## Machine-readable fields
```json
{
  "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": {
    "downloadUrl": "/downloads/football-value-bets",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=football-value-bets",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "config/settings.json",
      "scripts/match_fetcher.py",
      "scripts/bet_tracker.py",
      "SKILL.md",
      "skill.json"
    ],
    "downloadMode": "redirect",
    "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."
      ]
    }
  },
  "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"
  }
}
```
## Documentation

### 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.

### 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:

Estimated win probability > 45%
Odds per pick: 1.70 - 2.50 (value range)
Clear motivation based on data
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 %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..................

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:

Never more than 5 picks per slip. More picks = exponentially lower chance.
Never odds below 1.50 or above 3.00 per pick. Too low = no value, too high = too risky.
Never 2 picks from the same match. Correlation destroys value.
Never a pick without data backing. "Gut feeling" is not an argument.
Always run the honesty check. No slip is better than a bad slip.
Avoid derbies and cup matches unless the data is overwhelming. Too unpredictable.
Always check injuries. A team without key players is a different team.
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
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: nandichi
- Version: 1.0.0
## Source health
- Status: healthy
- Source download looks usable.
- Yavira can redirect you to the upstream package for this source.
- Health scope: source
- Reason: direct_download_ok
- Checked at: 2026-04-30T16:55:25.780Z
- Expires at: 2026-05-07T16:55:25.780Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/football-value-bets)
- [Send to Agent page](https://openagent3.xyz/skills/football-value-bets/agent)
- [JSON manifest](https://openagent3.xyz/skills/football-value-bets/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/football-value-bets/agent.md)
- [Download page](https://openagent3.xyz/downloads/football-value-bets)