Before the draft
Any time from now. Players are ranked on per-game 9-cat value, calculated from a blend of ESPN and Hashtag Basketball projections.
Show me the draft board.
Every player ranked on our own value scores, with ESPN and Hashtag ranks and ADP side by side.
Show the board punting FT% and TO.
Re-ranks everyone for that build. Try a few punts to see which suits pick 2.
Who's likely there at 19 and 22? Plan the pair.
Uses ADP to estimate who survives to each of your picks.
Where do ESPN and Hashtag disagree most in the top 60?
Big rank gaps are where the value is, or the traps.
Give me Hashtag's notes on my shortlist.
Short expert notes, good and bad, for each player.
Which teams have the best playoff schedule?
Games per NBA team across 1–21 March. A good tiebreak between similar players.
On draft day
Saturday 10 October, 9:00am Melbourne time; the lobby opens at 8:00am. ESPN shows a 24-hour pick clock, so the draft may run over several days. Your picks: 2, 19, 22, 39, 42, 59, 62, 79, 82, 99, 102. Ask again each time your turn comes up.
Where's the draft at? Who do I take?
Who's on the clock, recent picks, your team's category totals so far, and the best available. Each option comes with the chance it's still there at your next two picks.
I'm at 39 and 42, what pair?
Plans both picks at the turn together.
Draft companion
Double-click draft.cmd in the fantasy folder. A page opens on this PC with two tabs.
- Plan: targets and odds for every pick, for Jokic or Wembanyama at 2, with steal watch, what team 3 takes between your pick pairs, IR stashes and the ESPN queue.
- Radar: updates from ESPN every minute and flags steals, studs and value picks, with the odds each lasts to your next pick.
- The odds come from how this league has actually drafted since 2022. Tested on the 2026 draft, they predicted who'd still be there about 19% better than plain ADP.
- For the pick itself, ask Claude. Before each pick, update your ESPN queue so a missed clock autopicks the right player.
Each week
Monday afternoon in Melbourne, just before the new matchup week locks.
Scout this week's matchup.
The opponent, a verdict for each category, starts left for each side, and your open lineup slots by day.
Which categories should I chase?
Points your adds and lineup calls at the categories that can still flip.
Best streamers for REB and BLK.
Free agents ranked by games on your open days × value in those categories. The games-from-tomorrow count shows whether to hold an add.
How many adds have I used?
You get 3 per week.
Counting categories: under 5% apart is a tossup, under 15% is a lean. Percentages: under 0.5 points is a tossup, under 1.5 is a lean.
Each morning
A briefing runs automatically at 7:30am Melbourne time from 21 October to 22 March. It's saved to briefings\YYYY-MM-DD.md in the fantasy folder, so you can open it from the Google Drive app. It covers:
- where the matchup stands
- news on your players
- who to start and sit, with tip-off times
- any early games
- one add to make, or advice to hold
Want one now? Run briefing.ps1, or ask in a session: “Give me today's briefing.” The PC has to be on; if it was asleep at 7:30, the briefing runs when it wakes.
Trades and the league
Profile the league.
Every team's category strengths, weaknesses and likely punts. Look for trade partners whose needs match your surplus.
Evaluate giving Maxey for Mobley.
Category and league-rank changes for both teams. It only analyses; nothing is sent to ESPN.
Who's hot over the last 15 days?
Values players on recent form instead of projections, once games have started. The 7- and 30-day windows work too.
Planning for March
From January. Once you're safely in the playoffs, trade for March rather than for seeding.
Rank my roster for the playoff weeks.
Weighs games in 1–21 March, health, and the risk of late-season rest or tanking.
ESPN's settings currently say 6 playoff teams; your notes say 8. With 6, the top two seeds probably get a first-round bye, which makes regular-season seeding matter. Check with your commissioner.
Letting it make moves
Writes are off. Every roster move is a dry run that shows exactly what would be sent. When you're ready:
- Open
.envand setWRITES_ENABLED=true. - Start a new Claude Code session.
Claude still shows each move and waits for your OK. To let it handle routine lineup changes on its own, say so. Every move it sends is logged in logs\writes.jsonl. Trades can't be proposed or accepted through these tools.
Keeping it working
- 401 error
- Your ESPN cookies expired (about monthly). Log into fantasy.espn.com, copy fresh
espn_s2andSWIDinto.env, and start a new session. - “Hashtag unavailable” or “Basketball Monster unavailable”
- That site changed its layout. ESPN data keeps working; ask Claude to fix the reader.
- Player missing
- Usually a nickname, like Nic and Nicolas Claxton. Ask Claude to add an alias.
- Stale numbers
- Outside data is cached once a day. Say “refresh the sources”.
- Wrong week dates
- Matchup weeks are worked out by the tool, not taken from ESPN. Check that Matchup 1 in the ESPN app runs 20 Oct to 1 Nov; if it doesn't, tell Claude.
- Stop the briefing
- Task Scheduler → “Fantasy morning briefing” → Disable. Or ask Claude to remove it.
The tools
For reference. Claude picks these for you.
| Tool | Answers |
|---|---|
| get_draft_board | Every player's 9-cat value (with any punt), ranks and ADP from ESPN and Hashtag, Basketball Monster's rank for last season, and Hashtag's notes. |
| get_draft_state | Live draft tracker, and planning for any pick number. |
| get_schedule | Games per team each week, back-to-backs, first tip-off in Melbourne time, and the playoff weeks. |
| get_category_matchup | This week's score, projected finals and verdicts. |
| get_streamers | The best adds for your open lineup days and target categories. |
| get_team_profiles | Every team's category strengths and likely punts. |
| evaluate_trade | How a trade changes both teams' categories and league ranks. |
| get_rankings | Raw ESPN ranks and per-game lines, including recent form. |