用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/metill-is/sports --skill place-bets命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Use during a World Cup tournament when the published forecast is missing scores martj42 hasn't logged yet — the manual overlay refresh that pulls, ingests, re-fits, re-forecasts and pushes. Also covers how played knockouts condition the forecast and how knockout fixture dates are corrected at ingest.
Use when Lengjan has started listing a league we already model and a discovery proposal needs turning into a config edit. Reads data/discovery/proposals.json, drafts the leagues.yml competition entry + team_names, verifies via a dry decide, and presents the diff for review.
Use when checking whether the data + model pipeline is healthy, when returning to the project after time away, or when a workflow looks stuck. Runs the read-only health snapshot and triages any breach.
正在显示 SKILL.md
基于 SOC 职业分类
| name | place-bets |
| description | Use when placing bets on Lengjan. Previews pending bets, then places after confirmation. |
| argument-hint | [--league LEAGUE] [--today] [--date YYYY-MM-DD] |
Two-step workflow: preview pending bets, discuss with the user, then place. Both
scripts read from data/decisions/recommendations/ and dedup against
data/decisions/ledger/ automatically — recommendations already in the ledger
are never re-presented.
The placer is local-only — LENGJAN_USER / LENGJAN_PASS come from
.Renviron. Never run on CI (enforced by test-placer-ci-isolation.R).
Show what a live run would place. No browser is opened.
cd /Users/brynjolfurjonsson/sports && Rscript scripts/preview_bets.R
Filter to a single league, today, or a specific date:
Rscript scripts/preview_bets.R --league football_iceland
Rscript scripts/preview_bets.R --today
Rscript scripts/preview_bets.R --date 2026-04-26
Present the output to the user. Then ask:
Listen for adjustments:
place_bets.R has no --exclude flag; tell the user
they can answer n at the per-bet prompt instead.--league handball_iceland.--today.Once the user confirms, run the placer. Default is dry-run; --live is the
only flag that actually places money.
--live enables per-bet confirmation in the terminal by default (each bet
requires y/n/q). Pair with --no-confirm to skip prompts.
Default (all pending):
Rscript scripts/place_bets.R --live
Filtered to a league:
Rscript scripts/place_bets.R --live --league football_iceland
Filtered to today's matches:
Rscript scripts/place_bets.R --live --today
Filtered to a specific match date:
Rscript scripts/place_bets.R --live --date 2026-04-26
Show the browser (adds --show-browser; useful when diagnosing login or DOM
issues — the placer is otherwise headless):
Rscript scripts/place_bets.R --live --show-browser
No per-bet prompts:
Rscript scripts/place_bets.R --live --no-confirm
After placement completes, summarise what was placed (status placed) and what
was skipped or rejected (status rejected_lower_odds, no_match_id, etc.).
The placer enforces the four placement rules from
.claude/rules/sports-betting.md:
data/decisions/ledger/ before any
Chromote session opens. No bet placed twice.rejected_lower_odds.recommendations/ has
no lengjan$team_names map in config/leagues.yml. Add it, then re-run.config/leagues.yml. For women's leagues this is a known gap (sex-agnostic
schema; see project_team_names_schema).LENGJAN_USER / LENGJAN_PASS are set in .Renviron (template:
.Renviron.example).scripts/preview_bets.Rscripts/place_bets.R → place_bets() → R/placer-pipeline.Rdata/decisions/recommendations/sport=*/country=*/run_date=*/data/decisions/ledger/.claude/rules/sports-betting.md