/install acca-tracker
Acca Tracker — Football Accumulator Monitor
Track football accumulator (parlay) bets by monitoring live scores and reporting whether each leg is still alive. Works with any betting slip — photo, screenshot, or typed text.
When to Use
- User shares a photo/screenshot of a betting slip (accumulator/parlay/bet builder)
- User wants live score updates for their bets
- User says "track my acca", "monitor my bet", "is my bet alive", "check my slip"
How It Works
User sends slip photo
→ Agent parses legs (vision_analyze or text extraction)
→ Agent creates a cron job (*/15 * * * *)
→ Cron searches live scores every 15 min
→ Cron delivers report: per-leg status + acca health
→ Auto-cleans up after all matches finish
Step 1: Parse the Slip
From a Photo
Use vision_analyze with the image and this question:
Extract all betting legs from this slip. For each leg return:
- Match (Team A vs Team B)
- Competition/League
- Date and kickoff time
- Bet type (exact wording from slip)
- Decimal odds
Also extract: total odds, stake amount, max return, any bonus info.
From Text
If user types their slip, extract the same fields. Normalize bet type wording to match the standard types in references/bet-types.md.
Step 2: Build the Slip Summary
After parsing, confirm with the user before starting tracking:
📋 PARSED SLIP — 5 legs
1. Arsenal vs PSG (UCL, 21:00) — Arsenal W (1.55) — 64.5%
2. Bayern vs Inter (UCL, 21:00) — Bayern W (1.40) — 71.4%
3. Luton vs Northampton (L1, 20:45) — BTTS No (1.77) — 56.5%
4. Wimbledon vs Stockport (L1, 20:45) — Stockport W (1.85) — 54.1%
5. FSV Schöningen vs Lohne (RL, 18:00) — BTTS No (2.65) — 37.7% ⚠️
Stake: €10 | Combined odds: 21.04 | Max return: €210.40
Riskiest leg: #5 (37.7% implied)
Start tracking? (yes/no)
Calculate implied probability per leg: 1 / odds * 100. Flag any under 40% as ⚠️ gamble leg.
Step 3: Create the Cron Job
Use the cronjob tool:
action: create
name: acca-tracker-{short-id}
schedule: "*/15 * * * *"
repeat: 48
deliver: origin
prompt: {see template below}
Schedule Adjustments
| Scenario | Schedule | Repeat |
|---|---|---|
| Single match day | */15 * * * * |
48 |
| High-stakes acca | */10 * * * * |
72 |
| Multi-day (Tue + Wed) | */15 * * * * |
192 |
| Tournament bracket | 0 */2 * * * |
84 |
Cron Prompt Template
You are tracking a football accumulator bet. Check live scores NOW and report.
SLIP DETAILS:
{paste all legs with bet types, odds, and win conditions}
Total odds: {total} | Stake: {stake} | Max return: {max_return}
INSTRUCTIONS:
1. For each match, web_search: "{Team A} vs {Team B} live score {date}"
2. Also try: "{Team A} {Team B} {competition} score today"
3. For each leg determine:
- Current score
- Match status: Not Started / Live (minute) / HT / FT / Postponed / Abandoned
- Bet status: ✅ WON / ✅ WINNING / ⏳ PENDING / ❌ LOST / ❌ DEAD
4. Calculate overall acca status:
- ALL SAFE ✅ = no legs lost
- STILL ALIVE ⏳ = no legs lost, none confirmed won
- ACCA DEAD ❌ = at least one leg LOST
5. If acca dead: name the killing leg, explain why
6. Calculate "legs alive / won / lost / pending / total"
7. If all FT: state "TRACKING COMPLETE" and summarize
REPORT FORMAT (code blocks only):
🏟️ ACCA LIVE REPORT — {time}
Leg | Match | Score | Status | Bet | Result
----|--------------------------------|-------|--------|------------|----------
1 | Team A vs Team B | 2 - 0 | 67' | Team A W | ✅ WINNING
📊 1 winning / 0 won / 0 lost / 2 pending (3 total)
💰 ⏳ STILL ALIVE
DATA: If no score found, say so explicitly. Never guess scores.
If 2+ hours past kickoff with no data: "unverified — likely finished"
Step 4: Report States
All Alive
🏟️ ACCA LIVE — 21:34 CET
1 | Arsenal vs PSG | 1 - 0 | 55' | Arsenal W | ✅ WINNING
2 | Bayern vs Inter | 0 - 0 | 55' | Bayern W | ⏳ PENDING
3 | Luton vs Northampton | 0 - 0 | 55' | BTTS No | ✅ WINNING
📊 1 winning / 0 won / 0 lost / 2 pending
💰 ⏳ STILL ALIVE
Acca Dead
🏟️ ACCA LIVE — 22:18 CET
1 | Arsenal vs PSG | 2 - 1 | 78' | Arsenal W | ✅ WINNING
2 | Bayern vs Inter | 1 - 2 | 78' | Bayern W | ❌ DEAD
3 | Luton vs Northampton | 0 - 0 | 78' | BTTS No | ✅ WINNING
📊 1 winning / 0 won / 1 dead / 1 pending
❌ ACCA DEAD — Leg 2 killed it (Bayern losing 1-2)
Remaining matches still playing — updating for interest.
Final — Won
🏟️ ACCA FINAL — 23:45 CET — 🎉🎉🎉
1 | Arsenal vs PSG | 2 - 1 | FT | Arsenal W | ✅ WON
2 | Bayern vs Inter | 3 - 1 | FT | Bayern W | ✅ WON
3 | Luton vs Northampton | 0 - 0 | FT | BTTS No | ✅ WON
📊 3/3 LEGS WON
💰 ACCA WON — Stake: €10 | Return: €210.40
Tracking complete.
Cash-Out Context
When some legs won and others pending, estimate cash-out value:
Won legs combined odds: 1.55 × 1.40 = 2.17
Remaining legs implied probability: 0.565 × 0.541 × 0.377 = 0.115
Estimated value: €10 × 2.17 × 0.115 = €2.49
Cash-out range: ~€2.00 – €3.50 (rough estimate)
Only include when: at least 1 leg WON, at least 1 PENDING, acca NOT dead. Always frame as "estimated".
Data Source Strategy
See references/data-sources.md for full tier system and search patterns.
Quick reference:
- Major leagues: BBC, ESPN, Google scores (near real-time)
- Second tier: Sky Sports, Sofascore (5-10 min lag)
- Low tier: TheSportsDB, Wikipedia (HT/FT only)
- No data found: State explicitly, never guess
Bet Types
See references/bet-types.md for the full list of 18+ bet types with scoring logic, decision tree, and edge cases (void, ET, red cards, handicaps).
Step 5: Cleanup
- After all matches FT, deliver final summary then stop
- Auto-ends after
repeatcount - User can say "stop tracking" to remove cron early
- Multi-day accas: increase repeat to 192
Limitations
- 15-min intervals — goals missed between checks, not real-time
- Low-tier leagues — limited coverage, may only get HT/FT
- JS-rendered sites — Flashscore/Sofascore can't be scraped directly
- Bookmaker-specific rules — some bet types vary by bookmaker
- Telegram delivery may fail — "Topic_closed" errors can block cron delivery even on active topics. Reports still generate at
~/.hermes/cron/output/{job_id}/.md. Workaround: read output files directly, or deliver to main chat without thread ID.
Tips
- Always confirm slip with user before starting
- Include team nicknames in search queries
- When acca dies, keep tracking for interest
- Flag "near misses" (hit post, disallowed goal) if mentioned in results
- Name each cron differently for multi-slip support
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install acca-tracker - 安装完成后,直接呼叫该 Skill 的名称或使用
/acca-tracker触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Acca Tracker 是什么?
Track football accumulator (acca) betting slips — parses slip photo or text, checks live scores every 15 minutes, and reports bet status (WINNING/LOST/PENDIN... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 81 次。
如何安装 Acca Tracker?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install acca-tracker」即可一键安装,无需额外配置。
Acca Tracker 是免费的吗?
是的,Acca Tracker 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Acca Tracker 支持哪些平台?
Acca Tracker 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Acca Tracker?
由 Banozz(@svenmedina07-ship-it)开发并维护,当前版本 v1.0.0。