skills/mlb-closer-tracker/SKILL.md
Tracks the closer role and bullpen pecking order across all 30 MLB teams — who owns the ninth-inning job today, who is next in line if the current closer falters (the handcuff), and who carries DFA or demotion risk. Emits a per-reliever `save_role_certainty` signal (0-100) and flags speculation-worthy handcuffs for waiver bids. Use when the user mentions "closer", "save role", "handcuff", "ninth inning", "bullpen depth", lost save, blown save, committee, or when the waiver analyst needs to decide whether to spend FAAB on a backup reliever. This league uses SV as one of its five pitcher categories, but SV is also the most volatile and most punt-worthy cat, so tracking should always be paired with a punt-the-cat fallback recommendation.
npx skillsauth add lyndonkl/claude mlb-closer-trackerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Scenario: User asks "who should I stash — any good handcuff closers on waivers?" in mid-April. Three teams of interest have unsettled ninth innings.
Inputs gathered (web search — RotoBaller primary, Closer Monkey secondary, Athlon Closer Confidential):
| Team | Current 9th | Next in line | Third option | Situation | |---|---|---|---|---| | CLE | Emmanuel Clase | Cade Smith | Hunter Gaddis | Clase firmly locked — elite K/9 and walk rate | | TEX | Chris Martin | Robert Garcia | Hoby Milner | Committee language from manager; Martin 39 years old | | DET | Jason Foley | Tommy Kahnle | Beau Brieske | Foley has two blown saves in a week; velo down 1.2 mph |
Signal emission (per RP):
| Pitcher | save_role_certainty | Owned in league? | Rec action | |---|---|---|---| | Emmanuel Clase | 95 | Yes (by user) | HOLD | | Cade Smith | 35 | No | ADD on spec, BID $2 | | Chris Martin | 55 | Yes (opponent) | IGNORE | | Robert Garcia | 45 | No | ADD, BID $6 — true committee, high handcuff value | | Jason Foley | 40 | Yes (opponent) | IGNORE (hold only if we owned him) | | Tommy Kahnle | 50 | No | ADD, BID $8 — velo trend + recent Foley blowups = highest speculation value |
Output signal file (signals/2026-04-17-closer.md):
---
type: closer
date: 2026-04-17
emitted_by: mlb-closer-tracker
confidence: 0.78
source_urls:
- https://www.rotoballer.com/mlb-saves-closers-depth-charts/226767
- https://closermonkey.com
- https://www.athlonsports.com/fantasy/closer-confidential
---
Punt-SV caveat surfaced: "If all three speculation adds fail, remember SV is our most punt-worthy cat. A plan exists in mlb-category-strategist output to concede SV and redirect innings to K/QS — do not chase saves past $10 FAAB on any single handcuff."
Handoff: mlb-waiver-analyst reads the signal and sizes FAAB bids on Kahnle, Garcia, and Smith. mlb-category-strategist reads the same signal to decide whether to push or punt SV this week.
Copy this checklist and track progress:
Closer Tracker Progress:
- [ ] Step 1: Pull RotoBaller closer depth chart (all 30 teams)
- [ ] Step 2: Cross-reference Closer Monkey and Athlon Closer Confidential
- [ ] Step 3: Score save_role_certainty for the top 3 RPs per team
- [ ] Step 4: Flag committee / DFA-risk situations
- [ ] Step 5: Identify speculation-worthy handcuffs (rostered vs available)
- [ ] Step 6: Emit signal file and hand to waiver-analyst and category-strategist
Step 1: Pull the RotoBaller closer depth chart
Web-search site:rotoballer.com closer depth chart 2026 or hit the URL directly. This is the primary source for all 30 teams. Record each team's top 3 relievers with the role tag RotoBaller assigns (Closer / Next Man Up / Committee / Setup).
See resources/methodology.md for the source hierarchy and how to handle stale pages.
Step 2: Cross-reference secondary sources
Closer Monkey and Athlon's "Closer Confidential" often lead RotoBaller by 24-48 hours on role changes, especially early season. If two sources disagree, that disagreement itself lowers save_role_certainty (volatility penalty).
See resources/methodology.md for tie-break rules.
Step 3: Score save_role_certainty
Use the scoring rubric in resources/methodology.md. The five inputs are: role label, recent blown saves, velocity trend, manager public comments, contract/age status. Output 0-100.
Step 4: Flag committee and DFA-risk situations
A committee is worth flagging even when we own the current "closer" — volatility means save_role_certainty is low regardless of who holds the ninth inning right now. DFA risk applies when an RP has lost the role AND is burning option years or is on a non-guaranteed deal.
Step 5: Identify speculation targets
A speculation target = handcuff (next-in-line) with save_role_certainty in the 30-60 range whose current closer has any of: recent blown saves (2+ in 10 days), velocity loss (>1 mph), negative manager quote, age/injury flag.
See resources/template.md for the output format.
Step 6: Emit signal file
Write signals/YYYY-MM-DD-closer.md with one save_role_certainty entry per top-3 RP per team (up to 90 entries). Call mlb-signal-emitter to validate. See resources/template.md for the full output structure.
save_role_certainty in valid 0-100 rangeValidate using resources/evaluators/rubric_mlb_closer_tracker.json. Minimum standard: average score 3.5 or above.
Pattern 1: Locked Elite Closer (Clase, Duran, Iglesias tier)
save_role_certainty: 85-100 for incumbent, 15-25 for handcuffPattern 2: True Committee (manager public quote: "we'll use matchups")
save_role_certainty: 40-60 for top 2-3 arms, top-2 within 15 pointsPattern 3: Veteran Closer On Thin Ice (age 35+, declining velo)
save_role_certainty: 55-75 for incumbent, 40-55 for heirPattern 4: DFA-Risk Ex-Closer
save_role_certainty: < 25Cover all 30 teams every run. Even locked situations need a score so downstream agents can reason about trade targets. A missing team is worse than a low-confidence score.
Web-search every time. Closer roles change overnight. A 24-hour-old RotoBaller snapshot is stale. Always pull fresh on the day you emit the signal.
Committees penalize even the current closer. If three sources call a situation a committee, the named closer does not get an 85 score — they get a 55 at most. Volatility = low certainty, regardless of who just got the last save.
Never recommend a FAAB bid above $10 on a single handcuff without category-strategist concurrence. SV is this league's most punt-worthy pitcher category. Over-spending on speculative saves drains FAAB that could land a two-start SP or a breakout hitter. The waiver-analyst enforces this ceiling.
Velocity is the leading indicator. A 1+ mph drop on a closer's fastball, sustained across 3+ outings, predicts role loss better than any single blown save. Weight velocity trend heavily in the scoring rubric.
Manager quotes are data, not noise. "He's our guy" is a 70-certainty statement. "We'll see how it plays out" is a 50. Silence after a blown save is a 40. Quote-mine the beat writer coverage (Athletic, MLB.com team pages) during volatile weeks.
Platoon handcuffs matter. If the incumbent closer is RHP and has poor splits vs LHB, the LHP setup man is a better speculation target than the RHP setup man — even if RotoBaller lists the RHP higher. Check the actual platoon usage pattern.
Handcuffs are dropped first on a healthy week. A speculation add that does not vulture a save within 10 days gets dropped for the next wave. Do not fall in love with stashes — rotate.
Key formula (save_role_certainty):
save_role_certainty = 20 x role_label_score (0-5 scale)
+ 20 x recent_performance (0-5 scale: blown saves, ERA last 10 days)
+ 20 x velocity_trend (0-5 scale: delta from baseline)
+ 20 x manager_signal (0-5 scale: public quotes)
+ 20 x contract_age_security (0-5 scale)
All components 0-5, weighted equally, rescaled to 0-100.
Role label to score mapping (RotoBaller):
| RotoBaller label | role_label_score (0-5) | |---|---| | Closer (locked) | 5 | | Closer (soft hold) | 4 | | Committee — primary | 3 | | Committee — secondary | 2 | | Setup / Next Man Up | 2 | | Middle relief | 1 | | DFA-risk / demoted | 0 |
Handcuff speculation tiers:
| Tier | save_role_certainty (current closer) | Handcuff action | |---|---|---| | 1. Panic closer | < 50 | ADD handcuff — BID $5-10 | | 2. Wobbly closer | 50-70 | ADD handcuff — BID $2-5 | | 3. Stable closer | 70-85 | ADD handcuff only if cheap ($0-1) | | 4. Elite closer | > 85 | IGNORE handcuff unless injury |
Punt-SV trigger: If 4+ of your 5 RP slots would need to be speculation closers to compete in SV this week, punt SV instead. Hand off to mlb-category-strategist with a cat_punt_score boost request.
Key resources:
Inputs required:
Outputs produced:
save_role_certainty (0-100), up to ~90 entriestesting
--- name: advisory-edit description: A strict advisory-only editing discipline for a writer who dictates ("speaks out") essays and wants help WITHOUT having their voice changed. The editor directs structure, flags grammar, and suggests strategic language — but never modifies the writer's text unless the writer explicitly says "apply" / "make that change" / "rewrite this." Produces a line-referenced, suggestion-only critique where every item is marked the writer's call. Four passes: structural, l
testing
Provides the house style for analyst-grade strategist writing — third-person register with sparing first-person, no em dashes, no "not X, not Y, not Z" negation cascades, numbered footnote citations rather than inline source parentheticals, specific opinion-signaling phrases, and topic-forward paragraph structure modeled on voice patterns observed in Damodaran's Musings on Markets and Thompson's Stratechery. Use when consolidating working notes into a finished long-form strategist or analyst report that must read as written by a senior human analyst rather than an AI assistant.
testing
Renders a markdown report to a PDF using pandoc with xelatex (11pt serif body, 1-inch margins, numbered footnotes, formal heading hierarchy). Requires a one-time install of pandoc and a LaTeX engine on the user's machine — basictex on macOS or texlive-xetex on Linux. Does not attempt automatic install. Fails loudly with the exact install commands if pandoc or xelatex is missing on the user's PATH. Use when producing a finished strategist or analyst report PDF from a polished markdown source.
testing
Produces step-by-step computational walkthroughs of vector and matrix operations as a sequence of numbered "frames", showing the explicit state at each step. The text-equivalent of a 3Blue1Brown animation — each frame shows what changed and why, so the learner can re-trace the operation by hand. Use when the learner needs to *see* a computation unfold (eigenvalue computation, attention with 3 tokens, gradient descent step, SVD on a 2×2, layer norm on a 3-vector, softmax of a small input), when an explanation has been given but the learner needs to ground it in a worked example, or when introducing an operation that's intimidating in symbol form but trivial in pencil-and-paper form.