Baseball chose Paul Skenes as its next franchise face before he’d thrown 50 big-league innings, and now it’s protecting that investment the way executives protect bad hires — by pretending the data doesn’t say what it says.

Braxton Ashcraft is 9-3 with a 3.24 ERA, 108.1 innings pitched, 122 strikeouts, and a 1.10 WHIP. The Pirates are 12-6 in his starts. He has 10 quality starts, ranking tied seventh in the NL. His SIERA is 3.16, better than his ERA. He won his fourth straight start July 4 against the Nationals. He is third in the NL in strikeouts. He is Paul Skenes’ teammate. He did not make the All-Star Game.

Skenes: 6-8, 3.62 ERA, 97 innings, 119 strikeouts, 1.01 WHIP. The Pirates are 6-12 in his starts. He was selected to his third consecutive All-Star Game. MLB insiders are not calling him a Cy Young contender this year.

Those are not two sets of numbers where the selection is obvious. Those are two sets of numbers where the selection requires an explanation — and the explanation has nothing to do with 2026 performance.

https://x.com/TJStats/status/2040879714873614495

Here is the part that should embarrass the people who run this sport. Skenes knows. He said it out loud:

“I was shocked that I was the only one, so not too happy about that.”

And then, more damningly:

“I think I’ve thrown the ball well, but I don’t think all the numbers necessarily match that and I think that’s probably how a lot of fans feel too.”

The guy they selected is telling you the selection is wrong. That is not ambiguity. That is a player narrating his own myth in real time, watching it diverge from reality, and being honest about the gap. The machine didn’t notice — or it noticed and didn’t care, which is worse.

I want to be fair to Skenes here, because the counterargument is real: he’s 1.96 ERA over two seasons and 321 big-league innings, a legitimate ace, a generational arm by most measures. The career case for him is not a fiction. But we are not doing career awards. We are doing 2026 All-Star selections, and in 2026, Braxton Ashcraft has been the better pitcher on the same damn team. That shouldn’t be hard to say.

What happened is the thing that always happens when an institution gets attached to its own narrative. Baseball built the Skenes mythology — SI covers, ESPN features, the whole apparatus — before he’d proven it at scale. Then reality started drifting. As we noted in our piece on Skenes’ regression this year, the underlying numbers were telling a different story well before the All-Star votes closed. The machine had already committed. It does not reverse course on a commitment like this. It doubles down.

You want to know how bad it has gotten? The agent for Zack Wheeler — 8-1, 2.36 ERA, 84 strikeouts in 80 innings, also not an All-Star — reportedly said his client wasn’t selected because he “isn’t marketable, boring.” Wheeler pitches for my Phillies, so I am not exactly a neutral party here. But “isn’t marketable” is an extraordinary thing to say out loud, because it confirms that the selection process is filtering for something other than performance. That’s the same filter Ashcraft ran into. He does not have the origin story. He does not have the SI cover. He has a 3.24 ERA and nine wins and absolutely no promotional infrastructure behind him.

Skenes, to his credit, said he hopes Ashcraft gets his spot once Skenes is ruled ineligible — he starts July 12, which makes him unavailable. “I would hope that would open up a spot, and hopefully, Braxton takes it.” Great. But that’s a consolation prize, not a correction. It’s one ineligibility opening a door that the process should have opened on merit.

The full scope of this year’s selections is documented in our All-Star snubs breakdown, and the pattern is not subtle. The sport picked its stars and it is keeping them. What Braxton Ashcraft accomplished in 2026 — nine wins, 108 innings, a strikeout rate that has him third in the entire NL — did not fit the narrative that was already written. So it got left out.

The machine chose its guy. Braxton Ashcraft pitched better. Nobody in charge gives a shit.