git:20260803.345c175 to git:20260804.5d11c3c

35 added, 22 removed. Audit A to A.

---
name: drop-candidates
- description: This skill should be used when the user asks "who should I drop", "who's safe to cut", "make room on my roster", "who's droppable", "what's my cut list", or needs to free a roster spot for an add. Ranks the user's own roster from most to least cuttable with bye-week and playoff-schedule awareness. Not for picking the incoming player (waiver-scan) or executing the transaction (roster-ops submit-waiver-claim).
+ description: This skill should be used when the user asks "who should I drop", "who's safe to cut", "make room on my roster", "who's droppable", "what's my cut list", or needs to free a roster spot for an add. Ranks the user's own roster from most to least cuttable with bye-week and playoff-schedule awareness. Not for picking the incoming player (waiver-wire waiver-scan), bid amounts (waiver-wire faab-bidding), or benching decisions for this week's lineup (lineup-strategy start-sit).
---
# Drop Candidates: The Cut List
- Rank the user's roster from most-cuttable to untouchable. The default failure mode is cutting the wrong kind of player for the right reasons — this skill exists to stop bye-week panic drops of players who matter in week 16.
+ Rank the roster from most-cuttable to untouchable. The default failure mode is cutting the wrong kind of player for the right reasons — this skill exists to stop bye-week panic drops of players who decide week 16.
## Step 1: Load context
- Read `leagues.md`: roster size, starters, playoff weeks, waiver system. Ask for the current roster (with byes and injury notes) and *why* a spot is needed — a one-week streamer justifies a much shallower cut than a season-long add.
+ Read `leagues.md` from the project root first — the fields that matter here are roster size, starting slots, playoff weeks, IR slots, and any acquisition cap. If the file is missing or blank, ask and suggest running `fantasy-league-setup:league-config`. If more than one league is defined, use the one marked `(default)`.
- ## Step 2: Classify every bench player
+ Ask for the current roster (with byes and injury notes) and *why* a spot is needed — a one-week streamer justifies a much shallower cut than a season-long add.
+ ## Step 2: Price the roster spot
+
+ A bench spot is not free storage. Its value equals the best player the user could acquire with it over the rest of the season, which in an active 12-team league is meaningfully positive. Two consequences most managers miss:
+
+ - **Stalled stashes should be cut faster than feels comfortable.** Three weeks of flat snap share is already generous.
+ - A third QB in a 1-QB league, or a second K or DST, is a straight points loss.
+
+ The exception: where the league caps weekly acquisitions, the spot is *cheaper* because it can't be churned anyway, so holding upside is more defensible.
+
+ ## Step 3: Classify every bench player
+
Cut order, most cuttable first:
- 1. **Second K or DST** — never roster two of either outside the single week a swap is pre-staged.
+ 1. **Second K or DST** — never roster two outside the single week a swap is pre-staged.
2. **Expired streamers** — last week's matchup play whose matchup has passed.
- 3. **Redundant depth at a deep position** — the 6th WR in a 2-WR league. Redundancy is measured against *this league's* starting slots, not position-agnostic rank.
- 4. **Stalled lottery tickets** — stashes whose path to a role hasn't moved in 3+ weeks (signal: snap share flat or falling).
- 5. **Handcuffs to starters the user doesn't roster** — insurance on someone else's player pays out to that manager's schedule, not the user's.
- 6. **Bye-week players** (see the traps below).
- 7. **Injured starters and own-handcuffs** — IR-slot them if the league has IR; cutting is last resort.
+ 3. **Redundant depth at a replenishing position.** Measure redundancy against *this league's* starting slots, and weight by whether the wire refills that position. **Cut from positions the wire replenishes (WR, TE, QB, DST) and protect positions it does not (RB).** A sixth WR in a 2-WR league is more expendable than a fourth RB even at equal talent, because the WR is replaceable and the RB is not.
+ 4. **Stalled lottery tickets** — stashes whose path to a role hasn't moved in 3+ weeks (snap share flat or falling), and backups in true committee backfields where no single injury creates a workload.
+ 5. **Injured starters and own-handcuffs** — use an IR slot if the league has one and the player qualifies; cutting is a last resort.
- ## Step 3: Apply the vetoes
+ ### Handcuffs are not a cut class — split them
- Before recommending any cut, check three vetoes:
+ A backup behind a genuine workhorse is **protected on a contender**, not cuttable. If that starter goes down, *whoever holds the backup* owns the replacement workload — the payout accrues to the roster holding the handcuff, not to the manager who owns the starter. Rostering the top backups behind concentrated-workload backfields is the most reliable way to acquire a league-winner without spending waiver budget.
- - **The claim-back test**: if this player were dropped, would the user (or a rival) plausibly claim them within two weeks? If yes for a rival, don't cut for a marginal add — releasing a useful player to the league costs more than the add gains. In FAAB leagues, note that cutting hands rivals a free option.
- - **Bye-week trap**: a player on bye *this* week is temporarily worthless but may be a top-3 asset. Never cut a weekly starter for their bye; stream around it (cut from classes 1–4 instead). Cutting for a bye is only correct when the player was already class 3–5.
- - **Playoff-schedule veto**: from ~week 10 on, weight weeks 15–17. A mediocre bench piece with elite playoff matchups outranks a slightly better player who draws top defenses in 15–17. Conversely, "good so far" players whose playoff schedule is brutal move *up* the cut list — say so explicitly, it's counterintuitive.
+ What *is* cuttable is the committee backup, where an injury splits work three ways and no windfall exists. That case belongs in class 4 above. The distinction is workload concentration, not who owns the starter.
- ## Step 4: Deliver the list
+ ## Step 4: Apply the vetoes
- Output the roster ranked most-to-least cuttable with a one-line reason each, mark the recommended cut for the stated need, and flag any veto that applied. If nothing survives the vetoes, say the roster has no safe cut and the add must beat the *least* protected player straight up.
+ - **The claim-back test**: would a rival plausibly claim this player within two weeks? If yes, don't cut for a marginal add — releasing a useful player to the league costs more than the add gains.
+ - **Bye-week trap**: a player on bye *this* week is temporarily worthless and may be a top-3 asset. Never cut a weekly starter for their bye; stream around it by cutting from classes 1–4 instead.
+ - **Playoff-schedule veto**: from about week 10, weight the league's configured playoff weeks. A mediocre bench piece with elite playoff matchups outranks a slightly better player facing top defenses then. Conversely — and say this out loud, because it is counterintuitive — "good so far" players with brutal playoff schedules move *up* the cut list. If the league grants the top seeds a first-round bye and the user is likely to earn one, weight the *later* playoff weeks accordingly rather than the first.
+ ## Step 5: Deliver
+
+ Rank the roster most-to-least cuttable with a one-line reason each, mark the recommended cut for the stated need, and flag any veto that applied. If nothing survives the vetoes, say the roster has no safe cut and the incoming add must beat the least-protected player outright.
+
## Worked example (fictional)
- "Mud Dogs," week 9, 12-team league, needs one spot for a TE streamer. Bench: RB Colby Trask (handcuff to a rival's starter), WR Jalen Moss (bye this week, WR3 rest of season), RB Dewey Sandoval (stash, snaps flat 4 weeks), DST #2 (Ironhogs D, added for a matchup that passed).
+ "Mud Dogs," week 9, 12-team league, needs one spot for a TE streamer. Bench: RB Colby Trask (backup to a rival's workhorse), WR Jalen Moss (bye this week, WR3 rest of season), RB Dewey Sandoval (stash, snaps flat 4 weeks), Ironhogs DST (second defense, added for a matchup that has passed).
- > 1. **Cut: Ironhogs DST** — expired streamer, class 2. Done.
- > 2. Next up if another spot is needed: Dewey Sandoval — stalled stash, class 4; claim-back test passes (nobody claims a flat-snap stash).
- > 3. Trask stays *ahead of Moss on the cut list* only because it's a rival's handcuff (class 5), but note: if the user faces that rival in weeks 15–17, Trask gains blocking value — playoff veto softens the cut.
- > 4. **Never**: Jalen Moss. Bye-week trap — he's a weekly starter next week and a rival claims him in minutes.
+ > 1. **Cut: Ironhogs DST** — second DST, class 1. Its matchup already passed and you should never carry two. Done.
+ > 2. Next if another spot is needed: Dewey Sandoval — stalled stash, class 4, four weeks of flat snaps. Claim-back test passes; nobody claims him.
+ > 3. **Protect Colby Trask.** He backs up a workhorse with a concentrated touch share — if that starter misses time, *you* own the replacement, not the rival who drafted him. That's the cheapest league-winner path on this roster.
+ > 4. **Never: Jalen Moss.** Bye-week trap — he's a weekly starter next week and a rival claims him within minutes.