Borrowing it
Nothing to install: this file belongs to Johnserf-Seed/SportteryAPI. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/Johnserf-Seed/SportteryAPI/main/.claude/skills/sporttery-odds/SKILL.mdgit clone --depth 1 https://github.com/Johnserf-Seed/SportteryAPIWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/johnserf-seed/sportteryapi/sporttery-odds)<a href="https://agentmods.dev/skills/johnserf-seed/sportteryapi/sporttery-odds"><img src="https://agentmods.dev/badge/skills/johnserf-seed/sportteryapi/sporttery-odds/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/johnserf-seed/sportteryapi/sporttery-odds"><img src="https://agentmods.dev/badge/skills/johnserf-seed/sportteryapi/sporttery-odds.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00102 | $0.01029 |
| Opus 5 | $0.00051 | $0.00515 |
| Sonnet 5 | $0.00020 | $0.00206 |
| Haiku 4.5 | $0.00010 | $0.00103 |
Grade A, and why
sporttery-odds scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 63 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Sporttery Odds
This skill drives the Sporttery Odds service in this repository (a Cloudflare Worker REST API + a local MCP server) to fetch and analyze 竞彩足球 odds. All derivation is purely from the odds — no predictions.
Pick an interface (in order of preference)
- MCP tools — if the
sporttery-oddsMCP server is connected, use its tools directly:get_matches,get_match,derive_odds,compare_value,calc_parlay,list_parlay_types,get_meta. This is the primary path. - REST — if a Worker is running/deployed:
GET /api/matches,GET /api/match/:id,POST /api/derive,POST /api/value,POST /api/parlay,GET /api/parlay/types,GET /api/meta. Add the API key if one is configured (Authorization: Bearer <key>). - Local, no server — run the pure engine via Node, e.g.
npm run mcp:smoketo sanity-check, or importsrc/derive.ts/src/parlay.tsin a one-offnode --experimental-strip-typesscript.
Live odds need the service to reach the geo-restricted upstream; the local MCP server reaches it directly, the deployed Worker needs
UPSTREAM_PROXY. Compute tools (derive / value / parlay) work with any odds the user provides — no upstream.
Metric cheat-sheet (what the numbers mean)
- impliedProb =
1/odds— includes the bookmaker margin. - 返还率 returnRate =
1/Σ(1/odds)— theoretical return-to-player. Lower ⇒ bigger margin. 竞彩 SPF is typically ~0.75–0.90. - 去水概率 noVigProb =
(1/odds)/Σ— margin-removed "true" probability (sums to 1). - 真实赔率 fairOdds =
1/noVigProb. - 凯利指数 kelly =
offeredOdds × referenceProb.>1⇒ positive expected value. Needs an EXTERNAL reference (a single odds set degenerates to returnRate). - trend
up/flat/down— sporttery's own odds movement flag.
Common workflows
- "Latest odds for team / league / today" →
get_matcheswithpools,league, ordatefilters. Report each outcome's odds, 去水概率, and the market's 返还率. Don't dump all five pools unless asked —had,hhadis usually enough. - "Is this a value bet?" → get a reference odds set (the user's 欧赔, or a
bookmaker consensus) and call
compare_valuewith{offered, reference}. Flag outcomes wherekelly > 1; mention the EV and (optionally) Kelly stake fraction. - "How much would this parlay pay?" →
calc_parlaywithlegs:[{odds}], apassType(单关,3串1, …) andmultiplier(倍数). Report 注数, 总投注, 最高奖金 (note the 500万 cap). Use per-legresult: win|lose|voidfor a settled-ticket calculation. - "What 过关 types exist for N matches?" →
list_parlay_types?matches=N. - Interpreting a market → high margin / low 返还率 means the book holds more; compare 去水概率 across outcomes for the market's implied view.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 11d ago First seen · 63 lines · 102 tokens per session scan A 50c73d3e1ed6
sporttery-odds is a skill published in the GitHub repository Johnserf-Seed/SportteryAPI (12 stars, last pushed 1mo ago), licensed MIT. It adds 102 tokens to every session and 1,029 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
distributed-systems
Distributed systems patterns for locking, resilience, idempotency, and rate limiting. Use when implementing distributed locks, circuit breakers, retry policies, idempotency keys, token bucket rate limiters, or fault tolerance patterns.
dashiai-ppt
A presentation-making add-on that creates an HTML slide deck from preset visual page designs. The result can open offline in a browser and can be exported as a PowerPoint or PDF file.
html-ppt-viewer
A simple HTML viewer that presents a set of existing images like a slide deck. It includes a side panel, large image display, page controls, and keyboard navigation, but does not create the images.
xiaohongshu-image-creator
An image-making assistant for Xiaohongshu, a Chinese social platform for lifestyle, product, and educational posts. It creates vertical covers and supporting images matched to the post’s topic, audience, and visual style.
sansheng-distill
A book and text summarizer that creates one self-contained HTML page with five sections: an overview, chapter notes, the book’s central idea, an action checklist, and questions for judging its reliability. The page includes an embedded Mermaid mind map and works offline without a web server.
cloudflare-expert
Expert-level Cloudflare Workers, CDN, edge computing, and security services. Use when the user mentions edge computing, CDN, workers, or WAF, or when the task involves Cloudflare Services or Developer Tools.