Panel Prompt Template: Sport Desk Data Audit & Custom Metrics

Purpose: Reusable panel prompt for auditing any sport desk's data collection and recommending custom metrics. Replace [SPORT], [SPORT-SPECIFIC DATA], and [SPORT-SPECIFIC GAPS] for each desk.

Used for: NBA (2026-03-30). Reuse for NHL, NCAAB, MLB, Soccer, MMA, etc.


THE PROMPT

You are a panelist on a strategic ruling panel. Going in COLD. Be thorough and specific.

QUESTION: Review our [SPORT] data collection, identify gaps, and recommend custom metrics/calculations to build an edge.

CONTEXT:

We have 3 blind AI analysts (Sonnet 4.6, Gemini 3.1 Pro, gpt-oss-120b) that independently set lines from fundamentals only. They see no market prices, no model predictions, no sharp money data. They go cold every session — no memory.

The panel ruled AGAINST teaching them methodology (no "Oddsmaker's Manual"). Instead, we give them the best possible pre-computed data and let their different architectures figure out how to use it. Data quality and custom metrics ARE the edge.

A separate Opus 4.6 instance (verdict layer) sees everything — analyst reports + market prices + edge scanner math + sharp money. It makes the final pick with position sizing.

We also have a mathematical edge scanner that de-vigs Pinnacle lines using Shin + Power methods and builds probability curves to compare against Kalshi prices. This runs independently from the analysts.

WHAT THE ANALYSTS SEE (fundamentals only):
- Team performance stats
- Situational data (rest, schedule, fatigue)
- Injury reports with player impact stats
- Referee data
- Head-to-head results
- Pre-computed matchup deltas (team vs team, league-average anchored)
- Projected scores/totals/spreads
- Form/trend metrics

WHAT ANALYSTS DO NOT SEE:
- Any market prices (Pinnacle, Kalshi, sportsbooks)
- Sharp money / line movement / steam
- Third-party model predictions (tracked for correlation only)
- Edge scanner output
- No-vig calculations

CURRENT [SPORT] DATA WE TRACK:

[INSERT FULL LIST OF TABLES, COLUMNS, AND DATA SOURCES FOR THIS SPORT]

WHAT WE DO NOT CURRENTLY HAVE FOR [SPORT]:

[INSERT KNOWN GAPS]

QUESTIONS FOR THE PANEL:

1. MISSING DATA — What should we be collecting that we're not? Be specific: exact metric names, what they measure, where to get them (API endpoints, websites, computed from existing data), and whether they're free or paid.

2. TEAM VS TEAM DELTAS — Should we pre-compute matchup-specific deltas for this sport? What formula? The NBA desk uses league-average anchored deltas:
   Expected_Matchup_Rating = LeagueAvg + (TeamA_value - LeagueAvg) + (TeamB_value - LeagueAvg)
   Does this apply to [SPORT] or does this sport need a different approach?

3. CUSTOM CALCULATED METRICS — What derived/composite metrics should we build that would give our analysts a genuine edge? Consider:
   - Pace/tempo-adjusted projections
   - Strength of schedule adjustments
   - Rest/fatigue impact as point values
   - Injury-adjusted team ratings
   - Official/referee impact on game totals
   - Per-team home advantage in point values (not just win%)
   - Decay-weighted recent form (EWMA)
   - Variance/blowout profiles
   - Sport-specific metrics unique to [SPORT]

4. DATA FORMAT — What's the best way to present this data to AI analysts? We use a "matchup card" format — one block per game with all pre-computed deltas, context modifiers, and quality flags. Should we keep this format for [SPORT] or adapt it?

5. NOISE TO TRIM — Of everything we track, is anything actively harmful or just noise that dilutes the analyst's attention? What should we drop or compress?

6. SPORT-SPECIFIC CONSIDERATIONS — What is unique about [SPORT] that changes how we should think about data collection and metrics compared to other sports? (e.g., NBA has pace/possessions, NHL has goalie matchups, MLB has pitching rotations, Soccer has 3-way markets)

7. RESEARCH & INTELLIGENCE — Here is how our research pipeline works and how it feeds the analysts. Read this carefully, then answer the questions below.

   HOW RESEARCH WORKS:
   Our research pipeline runs in multiple passes before game time. Each pass uses AI models with live web search to gather game-day intelligence — injuries, lineup changes, suspensions, weather, travel, roster moves, etc. The pipeline:
   (a) Runs structured search queries per game (e.g., "[Team] injury report today", "[Player] status update")
   (b) An AI model extracts structured findings from the search results (player name, status, impact level, source, confidence)
   (c) Findings are stored in a database table with timestamps and confidence scores
   (d) Multiple passes run at different times (e.g., morning, early afternoon, pre-game) to catch late-breaking news

   HOW RESEARCH GETS TO THE ANALYSTS:
   The 3 blind analysts (Sonnet 4.6, Gemini 3.1 Pro, gpt-oss-120b) receive a "briefing package" per game that bundles:
   - The matchup card (pre-computed stats, deltas, situational factors)
   - Research findings tagged to that game (injury updates, lineup changes, contextual intel)
   - Quality flags (e.g., "LATE SCRATCH", "QUESTIONABLE — monitor", "CONFIRMED OUT")
   The analysts see research findings as factual context alongside the data — they do NOT know where the info came from or which AI gathered it. Research is presented as plain-language bullet points within the matchup card, not as a separate section.

   Some research findings also feed the math layer directly — for example, a confirmed player absence triggers a usage cascade that adjusts prop distributions and matchup multipliers BEFORE the analysts even see the card. The analysts then see the adjusted numbers without knowing a cascade ran.

   FOR THIS [SPORT] DESK:
   - What specific search queries should run per game? List exact query templates (e.g., "[Team] injury report [date]", "[Sport] referee assignment [date]"). Be specific to [SPORT] — what matters most for this sport that wouldn't matter for others?
   - What is the right timing for research passes relative to [SPORT] game start times? (Consider: when do lineups lock, when do injury reports drop, when do warm-ups happen, when is the last useful window before tip-off/puck-drop/first-pitch?)
   - What research findings should auto-adjust projections (fed directly into the math layer as multipliers or variance shifts) vs. presented as context only (analyst reads it but numbers don't change)? Draw the line clearly.
   - What external data sources beyond general web search add the most value for [SPORT]? (Official league APIs, team beat reporters, social media accounts, injury-tracking services, weather APIs, referee databases, etc.) Name specific sources.
   - How should research findings be formatted inside the matchup card? Should they be inline with the stats, in a separate "Intel" section, or grouped by impact level (high/medium/low)?
   - What [SPORT]-specific research is critical that other sports don't need? (e.g., NHL needs goalie confirmation, MLB needs pitcher confirmation + bullpen usage, NFL needs weather + inactive list, NBA needs back-to-back fatigue + load management)

Be extremely specific. Name exact metrics, formulas, data sources, and API endpoints where applicable. This will become the permanent data spec for our [SPORT] desk.

HOW TO USE

  1. Copy the prompt above
  2. Replace [SPORT] with the sport name (e.g., NHL, MLB, Soccer)
  3. Fill in [INSERT FULL LIST...] with the current data tables/columns for that sport (query the DB)
  4. Fill in [INSERT KNOWN GAPS] with what you know is missing
  5. Send to all 5 panelists: Opus, Sonnet, Gemini 3.1 Pro, Grok 4.2 Reasoning, gpt-oss-120b
  6. Synthesize responses into a matchup card spec for that sport
  7. Save the spec to /home/ubuntu/edgeclaw/docs/{sport}-matchup-card-spec.md
  8. Add to data-status documents

SPORT-SPECIFIC NOTES

When adapting for each sport, remember these key differences:

Source: ~/edgeclaw/docs/panel-prompt-data-audit.md