Commissioner Tools
AI Trash Talk
Each week, an AI model writes a trash-talk blurb for every manager in the power rankings. This page explains how it works, what the AI sees, and how to tune it without breaking it.
How Blurbs Get Generated
Blurbs are generated two ways:
- Automatically. Every 30 minutes, the rankings job drafts blurbs for the newest week, but only for managers who don't have one yet. It never overwrites existing blurbs.
- On demand. A commissioner clicks Generate Blurbs on a week in Commissioner → Power Rankings. See Configuring Power Rankings for the overwrite option.
Either way, the app sends one request to the AI with the prompt plus the week's data for every manager, then saves one blurb per manager. Blurbs stay in Draft until a commissioner publishes the week.
What the AI Sees
For each manager, the AI receives:
| Data | Example |
|---|---|
| Rank and name | #3 Dave (first name when it's unique in the league, otherwise the Sleeper display name) |
| Record | record 4-2 (head-to-head only; median wins aren't included) |
| Scoring averages | recent 3wk avg 118.40 \| season avg 112.73 |
| Power score | power score 71.25 (0–100, relative to the rest of the league) |
| This week's game | lost to dkessler 121.6 (margin 3.2) |
| This week vs the median | week 6 score 118.4 vs league median 109.85 (above) |
| Trash talk profiles | Every note league members wrote about this manager. The AI never sees who wrote them. |
| Lineup (optional) | Starters, top 5 bench players, and a "Left on bench" comparison. Only sent when Include player lineup stats is on. |
| Previous blurbs | This manager's blurbs from the last 3 published weeks, labeled "do not repeat". |
The AI doesn't see anything else: no injury news, transactions, history from earlier seasons, or who wrote each profile.
The "Left on bench" line
When lineup stats are on, the app compares the highest-scoring bench player with the weakest starter he could have replaced (same position, or a FLEX slot for RB/WR/TE). The line is included even when the starter scored more. The prompt has to tell the AI to only joke about it when the bench player actually outscored the starter.
Previous blurbs
Sending recent blurbs helps the AI avoid repeating the same jokes week after week. Only published weeks count, and the stored blurb is the final edited version, so the AI sees what the league actually read. If an old blurb got a fact wrong, edit it before publishing, since the AI will see it next week.
The Facts & Trash Talk Page
Commissioner → Facts & Trash Talk (/commissioner/llm/) holds the AI settings. Only superusers can open it.
| Setting | What It Does |
|---|---|
| Anthropic API Key | Required. With no key, blurb generation is disabled. |
| System Prompt | The AI's personality and rules: tone, what to joke about, length. This is the part to tune. |
| User Prompt Template | The per-week request. Holds the data and the output format. Rarely needs editing. |
| Include player lineup stats | Adds starters, bench and the "Left on bench" line to the data. |
Editing the Prompt Safely
The app reads the AI's reply line by line, expecting exactly Name: blurb for each manager. If the reply is in any other format, those managers silently get no blurb. No error is shown. Follow these rules:
- Make your changes in the System Prompt. Tone, rules and length all belong there.
- In the User Prompt Template, never delete
{week}or{roster_summary}. Without{roster_summary}, the AI gets no data at all. - Keep the output instruction in the User Prompt Template: the manager name, a colon, then the blurb, one per line, with no line breaks inside a blurb.
- Don't type curly braces
{ }in the User Prompt Template except for the two placeholders. They cause generation to fail. - Keep blurbs short. Ask for 1–3 sentences. Very long blurbs can get cut off for the last managers, and the Discord post has a size limit for the whole week.
- Save a copy before you edit. There's no version history, so paste the current prompt somewhere first so you can roll back.
- Change one thing at a time, then regenerate a week with overwrite on to compare.
Telling the AI about the data
The prompt works best when it uses the same labels the data does:
- Trash talk profiles arrive labeled "league notes".
- The record counts head-to-head games only.
- The opponent is named by Sleeper username, which can differ from the name on his own line.
- A "Left on bench" line isn't a mistake unless the bench player's points are higher.
- "Previous blurbs" should not be reused, and they aren't a source of facts.
Writing Good Trash Talk Profiles
The profiles are the AI's best material. Bland or thin profiles produce the same joke every week. See Trash Talk Profiles for how members write them.