360 Secure SkillHub
360 安全技能中心

GPTSportswriter

基于实时赔率、赛前对阵信息与新闻/公开来源,生成结构化体育博彩研究报告。支持 auto、premium、free 三种模式:付费模式调用赔率与新闻 API,免费模式抓取公开页面并解析;输出当日推荐、共识信号与风险提示,不代下注。

normandmickey
normandmickey
热度 39.58
最近更新 2026-05-11 17:37:19
分类:数据依赖:代码执行 / 第三方 API / 读写文件 / 内部调用大模型应用场景:报告撰写 / 市场分析 / 研究 / 摘要总结

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add gptsportswriter
Metadata
name
gptsportswriter
description
Generate sports betting research reports using live odds, matchup context, and public/news sources. Supports premium mode with API-backed odds/news and free fallback mode with public-source workflows. Use for best bets of the day, matchup breakdowns, sportsbook-style summaries, and structured betting reports. Prefer this skill for research and summaries, not for placing bets or claiming guaranteed outcomes.

GPTSportswriter

Overview

Use this skill to generate structured sports betting research reports. It can operate in:

  • premium mode with API-backed odds and news context
  • free mode with public-source workflows and extraction helpers

The goal is to surface current matchups, betting angles, and relevant context in a clean format without pretending certainty.

Data Priority

The skill supports three modes:

  • auto (default): use paid sources when configured, otherwise fall back
  • premium: require paid sources
  • free: use only free/public sources
  1. Primary source in premium/auto mode: The Odds API

    • Use it first for:
      • today's matchups
      • moneylines
      • spreads
      • totals
      • sportsbook availability
    • Treat this as the source of truth for what games and lines actually exist right now.
  2. Secondary source in premium/auto mode: AskNews + web search

    • Use AskNews first for:
      • recent sports articles
      • matchup previews
      • injury/news context
      • broader same-day coverage summaries
    • Use web search as a fallback or supplement for:
      • betting previews
      • source consensus and disagreement
      • extra matchup-specific context
    • Do not let article coverage override current market reality when the odds data says otherwise.
  3. Free mode fallback

    • Use public odds/news pages when the user does not want paid services or when no API keys are configured.
    • Prefer public pages from sources like:
      • Covers
      • OddsShark
      • Yahoo Sports
      • AP
      • ESPN
      • CBS Sports
    • Be explicit that free-mode odds can be more stale and less precise.

Workflow

  1. Identify the slate.

    • If the user says "today," use today's games only.
    • If the user names a league, focus there.
    • If the request is broad, cover major in-season sports.
    • For Premier League soccer, use the Odds API sport key soccer_epl.
  2. Pull current odds and matchups first.

    • Use The Odds API to get the current slate.
    • Prefer commonly used U.S. books when comparing prices.
    • Note where prices differ meaningfully by book.
  3. Search for context.

    • First use scripts/fetch_asknews.py for article context.
    • Then, if needed, search the web for combinations like:
      • best bets today [sport]
      • [league] picks today odds
      • [matchup] betting preview
      • [team] injuries betting line
    • Prefer same-day results.
    • Pull multiple sources before summarizing.
  4. Cross-check before recommending anything.

    • Look for overlap between current odds and web consensus.
    • Separate consensus picks from one-off hot takes.
    • Note line sensitivity explicitly.
    • If a good angle depends on getting a better number at a specific book, say that.
  5. Write the summary.

    • Include the event, market, current line range, and the reasoning in one or two lines.
    • Mention uncertainty, injuries, schedule spots, or stale-preview risk when relevant.
    • Keep it readable and useful, not breathless.

Required Structured Output

Unless the user explicitly asks for a different format, use this exact output shape:

GPTSportswriter — Best Betting Advice of the Day Date: [today] Scope: Broad daily slate across in-season sports

Top Looks Today

  1. [Event or matchup]

    • Market: [spread / moneyline / total / prop]
    • Lean: [the recommended side or angle]
    • Current odds: [best current range found]
    • Why this play: [1-2 short sentences]
    • Confidence: Low / Medium / High
  2. [Event or matchup]

    • Market: [spread / moneyline / total / prop]
    • Lean: [the recommended side or angle]
    • Current odds: [best current range found]
    • Why this play: [1-2 short sentences]
    • Confidence: Low / Medium / High
  3. [Event or matchup]

    • Market: [spread / moneyline / total / prop]
    • Lean: [the recommended side or angle]
    • Current odds: [best current range found]
    • Why this play: [1-2 short sentences]
    • Confidence: Low / Medium / High

Consensus Signals

  • [short bullet on where multiple sources overlap]
  • [short bullet on a repeated theme or angle]

Watch-Outs

  • [injury/news uncertainty]
  • [line movement or stale odds risk]
  • [source disagreement or thin support]

Bottom Line

  • [one short paragraph with the overall takeaway]

Fallback Rules

  • If The Odds API is unavailable, say that plainly and fall back to web-only summaries.
  • If you only find one or two credible angles, do not force a third pick.
  • If sources are weak or old, say that clearly in Bottom Line.
  • If the user asks for only one best bet, still include:
    • Market
    • Lean
    • Current odds
    • Why this play
    • Main caveat
    • Confidence

Standards

  • Do not claim guaranteed wins.
  • Do not fabricate odds, records, injuries, or sportsbook prices.
  • Prefer "sources are leaning" over "this will hit."
  • If the market has already moved away from the good number, say so.
  • If the web results are thin or conflicting, say so plainly.

The Odds API Notes

  • Use the configured THE_ODDS_API_KEY from environment.
  • Prefer current pregame markets where available.
  • Compare multiple bookmakers before quoting a range.
  • Be explicit when a price is widely available versus only available at one book.
  • Use scripts/fetch_odds.py to fetch and normalize live odds before writing the summary.

Script usage

Fetch normalized odds:

python3 scripts/fetch_odds.py --mode auto --sports baseball_mlb basketball_nba --pretty

Generate an automatic ranked report:

python3 scripts/generate_report.py --mode auto --sports baseball_mlb basketball_nba

Generate a deeper report with extra context:

python3 scripts/generate_report.py --mode auto --sports baseball_mlb --detail deep

MLB deep mode currently adds:

  • weather context
  • article-based key players / injuries / trend context
  • extra matchup summary for top picks

Force free mode:

python3 scripts/generate_report.py --mode free --sports baseball_mlb

Get free-source hints directly:

python3 scripts/fetch_free_context.py --sports baseball_mlb basketball_nba

Get free-mode odds-search queries:

python3 scripts/fetch_free_odds.py --sports baseball_mlb basketball_nba

Parse rough public-odds text into event candidates:

python3 scripts/parse_free_odds.py sample.txt

Public-page fetch pipeline:

python3 scripts/free_pipeline.py --sport baseball_mlb

Targeted Covers MLB event extraction:

python3 scripts/extract_covers_mlb.py page.html

Targeted Covers MLB line snapshot extraction:

python3 scripts/extract_covers_mlb_lines.py page.html

Free-mode MLB prototype report:

python3 scripts/generate_report.py --mode free --sports baseball_mlb

Fetch AskNews article context:

python3 scripts/fetch_asknews.py 'Knicks Hornets betting preview March 26 2026' --n-articles 5

Send the report by email:

bash scripts/send_daily_report.sh

Default behavior:

  • reads THE_ODDS_API_KEY from environment
  • queries MLB, NBA, and NHL by default
  • compares FanDuel, DraftKings, and BetMGM
  • fetch_odds.py returns normalized game objects with:
    • best available moneyline by team
    • spread ranges by team
    • total ranges for Over and Under
    • per-book market details
  • generate_report.py builds:
    • best-price ranking
    • automatic per-game candidate selection
    • automatic top-3 formatted report output

Useful search habits

  • Use freshness filters when available.
  • Search by sport + date + best bets.
  • Search matchup previews separately when a pick looks interesting.
  • If injury news may matter, search that team and player status directly before finalizing.