waivers
Skill1 starsChanged 16 days agoMITView on GitHub
Find waiver-wire and free-agent pickups across the user's ESPN fantasy football leagues. Finds roster holes, ranks targets by fit, sets FAAB bids or claim order, and names a drop for every claim. Use for "waivers", "who should I pick up", "FAAB bids", "free agents", "need a replacement for an injured player", usually Monday night or Tuesday before claims process.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- ChadPapineau/espn-fantasy-football-mcptheir own version, first seen Nov 1, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- ChadPapineau/espn-fantasy-football-mcp★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository5 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- scoreboardSkill
- tradesSkill
- weekly-checkSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
13 rules. About 0 are common, 5 are distinctive, and 8 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 12
Use the league the user named, or every league from list_leagues.
- Very specific: line 21
If missingRules or conflicts is non-empty, ask the user first, and save the answer with set_league_rule.
- Very specific: line 24
After a waiver run (usually Wednesday morning), get_waiver_results shows which claims won and which lost, to whom and for how much.
- Very specific: line 45
Call get_free_agents for each position with a hole, plus OP or QB in superflex and D/ST or K for streaming.
- Distinctive: line 58
Has the situation changed?: If the player ahead of him got hurt, check how long he'll be out.
- Very specific: line 77
Read the prices with care: a few claims per position is a small sample, a winning bid is what one manager paid rather than what was needed …
- Very specific: line 78
Don't bid big on a speculative add (single-digit % rostered).
- Very specific: line 85
Use get_bid_competition's aheadOfMe: with 0 interested teams ahead, the claim wins wherever it sits.
- Distinctive: line 92
% rostered measures popularity, not value to this roster: Don't name a drop because of a low % rostered or a small projection alone.
- Distinctive: line 93
When streaming a K or D/ST, drop the one being replaced: Don't keep two on the bench unless a bye makes it necessary, and even then, …
- Very specific: line 94
Keep anyone needed for an upcoming bye: dropping him shouldn't create a short or openSlots week in get_bye_coverage.
- Distinctive: line 98
Check the pending claims: Don't reuse a drop that's already queued unless that's intended, and say so.
- Distinctive: line 116
Put the most important move first.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Waiver and free-agent run
Uses the espn-fantasy MCP tools. They're read-only, so you recommend claims, bids and drops, and the user enters them in the ESPN app. The best time is Monday night or Tuesday, before claims process. Claims usually process overnight into Wednesday; each pending claim's processesAt gives the exact time. Also run it after a starter gets hurt.
1. Gather, per league
Use the league the user named, or every league from list_leagues. For each one:
get_league_settings. Note:waivers.type: FAAB or PRIORITY.- For FAAB,
faabRemaining,faabBudgetandminimumBid. - For PRIORITY,
myWaiverRankandpriorityResets. - The starting slots, bench size, IR slots and
positionLimits. - The trade deadline and playoff start week, for how far ahead to plan.
If
missingRulesorconflictsis non-empty, ask the user first, and save the answer withset_league_rule. That includesroster.irEligibleStatuses, which ESPN never reports: an ineligible player left on IR blocks every claim. Never assume a waiver system. Don't suggest bids in a priority league.get_my_rosterfor the current week. On waiver day, ESPN's current week is already the upcoming one.get_pending_claims. What the user has already queued: don't repeat a claim or reuse a drop by accident. After a waiver run (usually Wednesday morning),get_waiver_resultsshows which claims won and which lost, to whom and for how much. Start from the lost ones: those holes are still open.get_faab_prices(FAAB leagues, one call per league). What managers in this league actually pay, by position, over the last five weeks: median, low and high winning bids, how many claims were contested, and the top bids with the runner-up's losing bid. Prices differ a lot between leagues and positions (in superflex, QBs go far higher). Passweeks: 18for the whole season when recent weeks are thin. In a priority league it returns counts only; skip it there.get_recent_activity. Who just dropped whom, and the latest adds.
2. Find the holes
- This week:
- Starters on a bye with no startable bench replacement.
- Starters who are OUT, IR, DOUBTFUL, or QUESTIONABLE with a 0.0 projection.
- Web-search how long each injury is expected to last. An IR or OUT tag doesn't say whether it's one week or the season, so never guess the length from the tag.
- Depth: enough startable players to cover every starting slot plus the byes in the weeks ahead. Call
get_bye_coverage: a week withopenSlotsis a sure zero at that slot unless the user adds someone (often a K or D/ST bye with no backup), and ashortentry (e.g. QB: one available, two needed in superflex) means a flex slot falls back to a weaker player.ifHealthyshows what changes if an injured player is back by then. In superflex, keep three startable QBs if possible, because a QB bye or injury is otherwise a zero. - Judge each claim against those weeks: say which flagged weeks it fixes. A target on bye in the week he's meant to cover doesn't help, and the drop mustn't be the player covering another flagged week. A hole three or more weeks out can wait for a later, cheaper claim unless the position is scarce.
- Dead bench spots:
- Long-term injured players who belong on IR (if a slot is open and ESPN allows it).
- Players with no role on their NFL team, confirmed by news or usage, not just a tiny projection or a low % rostered.
- Bye-week fill-ins whose job is done.
- A second K or D/ST. The league starts one, and they're easy to stream, so a backup is worth almost nothing.
- Streaming, in leagues that start D/ST or K: compare the next matchup (
game.opponent) against the current starter's.
3. Find candidates
Call get_free_agents for each position with a hole, plus OP or QB in superflex and D/ST or K for streaming.
statusFREE_AGENT means the user can add the player right now in the app, with no claim needed. Say so.statusWAIVERS means he needs a claim.- The pool is the most-rostered available players, so a barely rostered breakout can be missing. Web-search the week's top pickups if a hole is urgent, and check any name you find, or one the user names, with
get_player: it says whether he's actually available in this league (FREE_AGENT, or WAIVERS withwaiverClears) or who has him. - When the wire can't fill a hole (the best candidate projects well below the starter he replaces, or the injury is long-term), say so and suggest the trades skill for that league.
4. Rank by fit, not just projection
ESPN's projections and % rostered are inputs from one model and from the crowd. They aren't the answer. Form your own view, and when it differs from ESPN's numbers, say why.
- Does he fill this week's hole? A player on a bye this week can't. Or is he a rest-of-season upgrade?
- His role: starter, committee or handcuff. Check his snap share, carries or targets over the last few weeks, and his place on the depth chart. Read his recent blurbs with
get_player_news(all targets in one call), then web-search usage numbers the blurbs don't give. Cite source and date. - Has the situation changed? If the player ahead of him got hurt, check how long he'll be out. A season-ending injury turns a one-week fill-in into a rest-of-season starter, and ESPN's season projection can lag behind that change.
- Upcoming schedule: the opponents over the next few weeks, not just this one.
- Momentum: a rising
percentChangemeans other managers are noticing, so he'll cost more. - ESPN's numbers, as one input:
projectedPoints,seasonPoints,seasonProjectedPoints,injuryStatusand upcoming byes.
5. Bids or claim order
FAAB leagues:
- Size each bid from:
- the remaining budget;
- how much he matters to the lineup;
- how scarce the position is;
- what this league pays at his position (
get_faab_prices). Anchor on the position's median and on comparable players in itsbids. For a player several teams will want,runnerUpshows what it took to win a contested claim: beat that, not just the median.
- Size up the competition with
get_bid_competition, one call per league with every target you'd bid on:gainForMeis what he'd add to the user's lineups over the weeks left, byes counted. Near 0 means he doesn't help: pass, or bid the minimum as a stash.rivalsare the teams he'd help most, with theirgain,faabRemainingandhistory. A big gain plus a big budget is the team to beat. A rival who has never claimed anyone (history.claims0) may not bid at all, and one with little budget can't go high.suggestedBidis a starting range priced against wins on similar players in this league. Go abovehighonly for a reason the numbers miss, and say it: a new starter whose projection hasn't caught up with his role, or several rivals with big gains and budgets. Belowlow, expect to lose a contested claim.- In a priority league,
aheadOfMesays how many interested teams are ahead of the user in waiver order: if it's 0, a claim wins. - It can't see other teams' queued claims, so it's tendencies, not a prediction. Say so when a bid is close.
- Read the prices with care: a few claims per position is a small sample, a winning bid is what one manager paid rather than what was needed (an uncontested $20 win could have been $1), and a breakout bid (the top
max) isn't the going rate. - Don't bid big on a speculative add (single-digit % rostered). The minimum bid, or $0 where
minimumBidis 0, is often enough. - Save budget for real breakouts, such as the new lead back after a starter's season-ending injury. Those deserve a large share of what's left.
- Budget is worth nothing after the season, so spend more freely as the playoffs near.
- Give a range when unsure ("$8, up to $12 if you really want him"). Keep the bid within
faabRemaining.
Priority leagues:
- Rank the claims in the order the user should enter them.
- Use
get_bid_competition'saheadOfMe: with 0 interested teams ahead, the claim wins wherever it sits. - Say whether the claim is worth using a high waiver spot. If priority resets weekly (
priorityResets: true), using it costs little. If it rolls over, save it for difference-makers.
6. A drop for every claim
- Every claim needs a named drop. Otherwise it fails for lack of roster space. Pick the player with the least value to this roster, and judge it the same way as adds:
- Role and upside first: a backup RB who'd start if the player ahead of him got hurt is worth more than his projection, especially while one of the user's own starters is questionable.
- % rostered measures popularity, not value to this roster. Don't name a drop because of a low % rostered or a small projection alone.
- When streaming a K or D/ST, drop the one being replaced. Don't keep two on the bench unless a bye makes it necessary, and even then, compare the backup with a skill player who has upside.
- Keep anyone needed for an upcoming bye: dropping him shouldn't create a
shortoropenSlotsweek inget_bye_coverage.
- Claims can't land on IR, and a claim mustn't push a position past
positionLimits. - Alternative claims share a drop: "RB A, else RB B", both dropping C. Once one wins, the other fails, which is what you want.
- Claims the user wants both of need different drops.
- Check the pending claims. Don't reuse a drop that's already queued unless that's intended, and say so.
- ESPN doesn't expose the order of queued claims. If order matters, tell the user the order to set in the app.
7. Report
Give one block per league, with times in the user's time zone (Eastern if unknown):
**<league alias>** (FAAB $53 of $100 left, min $1). Claims process Wed 3:00 AM ET.
Already queued: X ($5), dropping Y.
Holes: RB2 (Z on bye in week 8), QB depth (W on bye in week 10).
Claims, in this order:
1. Add A (RB, HOU), bid $21, drop B. Starting job after C's injury (source, date). Two teams need an RB; the strongest has $77 left. Backs like him went for $10–18 here, so $21 to beat a contested claim.
2. Add D (QB, NO), bid $3, drop E. Covers the week 10 bye.
Add now (free agent): F (K) for G.
Passed on: H. Hyped, but 2% rostered and no role yet.Put the most important move first. If nothing is worth a claim, say so plainly.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

