All six of the San Francisco Giants Minor League Baseball teams that are still in season (the ACL is done with for the year) were in action on Thursday, and there were some tremendous performances to talk about. So let’s talk about them!
Link to the 2026 McCovey Chronicles Community Prospect List (CPL)
All listed positions in the roundup are the position played in that particular game.
News
The only news is that infielder Dayson Croes was demoted from AAA Sacramento to AA Richmond.
AAA Sacramento (58-44)
Sacramento River Cats beat
the Tacoma Rainiers (Mariners) 6-4 Box score
I remain of the belief that, barring a huge offer, the Giants should not trade Heliot Ramos in the coming days. Part of the argument for why they should trade Ramos has been the large number of outfield options to replace him; my counter is that said options are all unproven. But that doesn’t mean they’re not intriguing. And it doesn’t mean that someone (or ones) won’t emerge as a stellar replacement should the Giants part with their homegrown All-Star outfielder (or, on the other side, Jung Hoo Lee).
One potential replacement? Scott Bandura, who, like a few other players in the system this year, has blossomed from “intriguing prospect” to full blown “good prospect who could be a good Major Leaguer.”
Thursday was another stellar day for the 2023 7th-rounder, who turns 25 on Sunday. Bandura was the star of this game, as the left fielder hit 2-3 with a 2-run home run, a walk, a sacrifice fly, a stolen base, and a strikeout. What a day!
The lefty is doing exactly what you want: adjusting to a level and figuring it out completely. After a very slow introduction to the level following a promotion in mid-May, Bandura posted a .702 OPS in June. But in July? That mark is a thrilling 1.026, which has given him an .824 OPS and a 118 wRC+ at the level, with 13 stolen bases in 14 attempts. He’s been especially hot lately, with a 12-game hitting streak during which time he’s gone 22-50 with 2 homers, 3 doubles, 8 walks, and 10 strikeouts. Given the Giants injuries and trade candidates in the outfield, and given Bandura’s impending Rule 5 eligibility, it wouldn’t be at all surprising if the Princeton product is making an MLB debut this season.
Of course, when we speak about outfielders turning from fringy prospects to full-blown exciting ones, the first name that comes to mind is Jonah Cox, and the righty made his 2nd rehab appearance in this game, hitting 2-5 with a triple and a strikeout while being the designated hitter. I’m curious to see whether the Giants option him to AAA (where he’d never played prior to this rehab assignment) or bring him back to the Majors when he’s done rehabbing; I strongly am hoping for the former, but I’ve also beat that horse plenty.
As long as we’re talking about blossoming outfielders, we need to mention center fielder Turner Hill, who has been one of the great success stories on the farm this year. It was just another day at the office for the 27-year old lefty on Thursday, as he hit 2-4 with a double. It was Hill’s 4th straight game with multiple hits, and it extended his hit streak to 16 games. During that hot stretch, the undrafted free agent has gone a scintillating 30-65 with 2 homers, 2 triples, 4 doubles, 6 walks, and just 4 strikeouts. My goodness, man!
That gives him an outrageous 1.119 OPS for the month, and a .916 OPS and a 142 wRC+ on the year. Could we also see him make a debut later this year? He’s doing everything the team asks for, with stunning contact rates, a tremendous slash line, strong defense across the grass, and tons of stolen bases. What a season, and what a player!
Second baseman Nate Furman (No. 39 CPL) also hit 2-4 with a double, as he continues to audition for the upcoming role of “Casey Schmitt is out for the year and Luis Arráez is traded and you need someone to play second base.” The lefty now has a .778 OPS and a 108 wRC+ on the season.
Not the best days for the new River Cats, as third baseman Parks Harber (No. 17 CPL) hit 1-5 with a strikeout, while right fielder Bo Davidson (No. 4 CPL) went 0-3 with 2 walks.
Also not the best start for LHP Cesar Perdomo, who is really fighting to find his AAA legs following a recent promotion. The southpaw struggled to find the strike zone in this game, and when he did find it, he struggled to miss bats. He threw just 55 of 91 pitches for strikes (which resulted in 3 walks), and in 5 innings gave up 3 home runs (2 of which were hit by former Major Leaguers, Patrick Wisdom and Miles Mastrobuoni … the Rainiers lineup also featured former Giants Major Leaguers Connor Joe and Stuart Fairchild).
In all, Perdomo was tagged for 8 hits and 4 earned runs, though he did strike out 5 batters. It’s still been an excellent year for the 24-year old, who had a breakout season in AA, posting a 3.98 ERA, a 3.53 FIP, 11.1 strikeouts per 9 innings, and 2.7 walks per 9, before a recent promotion. It’s been a tough adjustment to AAA though, as tends to happen with pitchers … he has an 8.62 ERA and a 6.48 FIP through 4 starts, and has allowed nearly 2 hits per inning pitched. Still, he’s showing enough that I think he’s shown enough to form an intriguing triad with fellow LHPs Joe Whitman (No. 26 CPL) and Matt Wilkinson, and there are reasonable arguments for preferring any of those 3 over the others.
Nice relief appearances from RHPs Tristan Beck and Spencer Bivens, who each pitched 2 scoreless frames with 2 strikeouts. Both players have a somewhat tenuous grip on their 40-man roster spot, seeing as how San Francisco needs to dramatically upgrade their bullpen … Beck in particular, as this is his final year with options.
AA Richmond (58-39)
Richmond Flying Squirrels lost to the Somerset Patriots (Yankees) 4-2
Box score
Not the most interesting game for the Squirrels. Catcher Jancel Villarroel (No. 42 CPL) had his best game since a recent promotion, though, which was great to see. The 21-year old righty had a great game, hitting 2-3 with a double, a walk, a stolen base, and a strikeout, while also having the only RBI of the game for Richmond. Villarroel had been scuffing since getting promoted — he was hitting 1-15 entering this game — but adjustments are expected, and that’s a small sample size.
Ultimately, Villarroel’s 1st season in the organization (he came over in February’s Kai-Wei Teng trade) has been a smashing success: despite getting a late start to the season with an injury, he post an .856 OPS and a 128 wRC+ in High-A, has earned praise for his defensive abilities, and is now already in AA, where he’s nearly 3 years younger than the average hitter. He’s really turned himself into an intriguing prospect, and the clear-cut best catching prospect in the system outside of the trio of rookies currently holding it down in the Majors.
A day after stealing 3 bases, third baseman Diego Velasquez (No. 31 CPL) stole 2 more, while hitting 1-4 with a strikeout. It’s now 23 stolen bases in 27 attempts for the 22-year old switch-hitter, to go along with an .809 OPS and a 122 wRC+. He’s made emphatic gains in his 3rd pass through the Eastern League, and I’d say it’s firmly time for him to see how his development fares against AAA pitchers.
Second baseman Maui Ahuna (No. 33 CPL) had another nice game, hitting 1-3 with a double, a walk, and a strikeout. A big pair of days has helped Ahuna in his quest to turn his season around … after posting just a .454 OPs in June, the 2023 4th-round pick has had an .815 OPS in July, bringing him back to a .676 OPS and an 85 wRC+ in AA, albeit with a 33.1% strikeout rate. He’s starting to learn second base and third base now, in addition to his natural home at shortstop, where he’s mostly been forced off by the arrival of Gavin Kilen (No. 7 CPL).
Kilen had one of his few bad days in AA, though, as he went 0-5 with 2 strikeouts. Center fielder Trevor Cohen (No. 15 CPL) was a bit better, as he hit 2-5, though he was caught stealing.
A so-so start by RHP Yunior Marte (No. 25 CPL), who pitched 5 innings and allowed 3 hits, 3 walks, and 3 runs, but struck out 6 batters. That’s not a bad start, per se, but it came after back to back dominant outings, so it was a slight step backwards for the Dominican, who turns 23 in a little over a week. Overall, it’s been a very exciting stint in AA: through 10 starts he only has a 4.47 ERA, but he is sporting a 3.93 FIP, with 10.1 strikeouts and 3.0 walks per 9 innings. He’s giving up too many hits and home runs, currently (not in this game, though!), but there sure is a lot to like. He’ll be a fascinating Rule 5 decision this winter.
RHP Will Bednar (No. 24 CPL) pitched a perfect inning with a strikeout, and threw 9 out of 12 pitches for strikes. It’s been a tough year for Bednar, who was an NRI and was ticketed for AAA, but was quickly returned to AA where he’s spent the bulk of the year. His velocity and strikeouts are both notably down this year (though he still has 11.6 Ks per 9), but the walks remain nearly as high as a year ago (6.1 per 9), and he has a 3.96 ERA and a 4.31 FIP. Just as last year, though, he’s making gains on that front late in the year: in his last 9 games, he’s issued only 5 walks in 12.1 innings, with 18 strikeouts.
High-A Eugene (61-38)
Eugene Emeralds beat the Tri-City Dust Devils (Angels) 13-2
Box score
There were a lot of great offensive performances to highlight in this game … but we’ll talk about them later, because the real star of this game was on the mound. It was yet another sensational start for LHP Jacob Bresnahan (No. 11 CPL), who seems to make it his weekly challenge to put out a strong case as best non-Jackson Flora pitching prospect in the system.
Thursday was one of his strongest arguments yet, as Bresnahan pitched 7 marvelous innings, allowing just 4 hits, 1 walk, and 1 run, while striking out 9 batters. My goodness!!
Bresnahan was quite efficient, as he needed just 85 pitches to get through those 7 innings, which is extremely impressive given the high strikeout total. He lived in the zone, throwing 61 of those 85 pitches for strikes. His lone hiccup was allowing a home run to Randy De Jesus (who later homered off of RHP Mauricio Estrella), one of the Northwest League’s top home run hitters.
This was the 6th time in his last 7 starts that Bresnahan has allowed 0 or 1 runs. In those 7 starts he’s pitched 41.1 innings, and allowed just 23 hits, 10 walks, and 7 runs, with 52 strikeouts. In fitting with the color of the Emerald’s jerseys, holy guacamole!
It’s funny. Bresnahan got a late start due to injury, and then took some time finding his rhythm (after his 1st start of June he had a 4.97 ERA). And I kept repeating the same line: it’s gonna be hard for him to earn Pitcher of the Year honors in his league for the 3rd straight season.
But now? Among the 36 Northwest League pitchers with at least 50 innings thrown this year, Bresnahan is 1st in ERA (2.93), 5th in FIP (3.98), 8th in strikeouts per 9 innings (10.9), 15th in walks per 9 (3.6), 1st in WHIP (1.07), and 1st in batting average against (.185). At this point, the only thing that might keep him from that Pitcher of the Year threepeat is that the southpaw, who only just turned 21, might get promoted to AA soon!
Okay, now we can talk about the hitters, who had 12 hits, 6 walks, and 13 runs. It was a great offensive day, with 4 players who particularly stood out.
Third baseman Walker Martin continued his recent hot streak, hitting 2-3 with a 3-run home run, 2 walks, and 5 runs batted in. My word what a day!
Martin had quite a summer slump, but in his last 11 games is 13-46 with 5 home runs, 1 double, and 6 walks, albeit with a terrifying 19 strikeouts.
It’s hard to know how to feel about Martin’s season. When the Giants drafted him out of high school with their 2nd round pick in 2023, he was touted as an ultra-athletic, ultra-powerful shortstop. But the power didn’t play all that much early on, and contact issues abounded.
Now the power is starting to play. Martin is up to 15 home runs and a .190 isolated slugging percentage, numbers that are easily the best in his young career … and rank 5th and 24th, respectively, out of the 74 Northwest League hitters with at least 150 plate appearances this year. But the contact issues remain dramatic: among those 74 hitters, Martin is 57th in batting average (.232), 68th in strikeout rate (32.8%), and 73rd in swinging strike rate (19.4%). The overall package is a .739 OPS and a 94 wRC+ … a lot to work with, but perhaps even more to work on.
Speaking of players who are hitting home runs but still don’t have the best line, center fielder Lisbel Diaz (No. 32 CPL) went 3-5 with a 2-run home run and 3 runs batted in. Diaz is tied with Martin for 5th in the Northwest League with 15 home runs, and tied for 2nd in the Giants organization with 18 (he has a trio of dingers in Low-A, where he had to play when the Emeralds were in Canada). Despite those home runs, Diaz has just a 101 wRC+.
Unlike with Martin, Diaz’s issue isn’t with contact: he’s striking out just 17.5% of the time, and has a .275 average. No, the advanced metrics are really dinging Diaz for his lack of walks, as his 3.0% rate is last among those aforementioned 74 Northwest League hitters. That said, I don’t care quite as much about not drawing walks when it doesn’t come with a bunch of strikeouts … ultimately, Diaz is 19th out of those 74 hitters in average, 12th in strikeout rate, 17th in isolated slugging (.220), and 35th in OPS .794. Those are pretty solid numbers for center fielder who just turned 21 less than 2 weeks ago.
Rounding out the dinger party was second baseman Zander Darby, who hit 2-4 with a home run, a double, a walk, and a strikeout. Like Martin, Darby is struggling mightily with strikeouts, as he has a 32.0% rate. But he’s still maintaining a .270 average despite that, and the 2024 12th-round selection is up to an .800 OPS and a 111 wRC+ on the year. A strong season for him, even if there’s a big hole in the swing to fix.
Right fielder Jose Astudillo continues his breakout campaign, and continues to fit right in with Eugene. He had another swell day, hitting 3-5 with a double, a stolen base, and an outfield assist. The 22-year old just can’t stop hitting: through 11 games since his promotion, he has a .386 batting average, and has struck out just 3 times in 50 plate appearances. He has a .904 OPS and a 149 wRC+, and has also already stolen 6 bases in just 7 attempts. It’s time to start talking about him!
One final note: shortstop Jhonny Level (No. 3 CPL) did not play, and has not played since July 26. I believe he’s got some dents and dings, but nothing serious going on.
Low-A San Jose (56-43)
San Jose Giants lost to the Rancho Cucamonga Quakes 9-7
Box score
The Baby Giants are must-see TV these days, thanks to the arrival of teenage shortstop super prospects Josuar González (No. 2 CPL) and Luis Hernández (No. 6 CPL). So I was mightily excited to watch Thursday’s game, as they were set for their biggest challenge yet: a game against rehabbing Major Leaguer Yusei Kikuchi, a 2-time MLB All-Star.
González, who was the DH in this one, led off the game and looked overmatched striking out against Kikuchi. Can you blame him? The 18-year old switch-hitter was playing in just his 34th stateside game, and just his 4th A-Ball game (where he’s more than 3 years younger than the average player) … and was facing a Major Leaguer.
But my goodness did he ever take that as a learning experience. When González came up for his next at-bat — still facing Kikuchi — he jumped on the 1st pitch he saw, and hit a home run so mesmerizing that I’m not sure if that ball has even come down yet. You want to see an impressive home run? Then let’s roll the tape. Then watch it a 2nd time and watch how the left fielder doesn’t even move a muscle. That ball is GONE.
That swing was so damn impressive that it would have been a great day for González even if he struck out in all his other plate appearances. But he didn’t! He finished the day 3-4 with a walk, though he was caught stealing once (he might have been safe with replay, I’m not sure … it was close). What a performance!
The Baby Giants have 33 more games, plus the playoffs. Is there any chance that González could play so well that he opens next year in High-A? I have no idea, but I’m going to have a whole lot of fun watching and finding out!
While González justifiably was the main attraction due to A) his age, B) his prospect pedigree, and C) the ungodly length of that home run, the Baby Giants actually had 3 different prospects take Kikuchi deep. Third baseman Dario Reynoso went 1-5 with 2 strikeouts but popped a 2-run shot off the All-Star, while center fielder Oliver Tejada went 1-3 with a walk and a strikeout, and got the scoring started with a 3rd-inning solo blast.
For Reynoso, that broke a streak of 17 straight games without a home run, after he had been on quite a flurry earlier in the year. Even with that, he’s having a strong season, as the 21-year old has a .903 OPS and a 127 wRC+. That 31.9% strikeout rate looms large, though, and is the answer to the question “why hasn’t he been promoted?”
As for Tejada, he’s struggled since a recent promotion … except when it comes to hitting big flies. He has just a .217 average and a 35.8% strikeout rate, but still has a .754 OPS and a 90 wRC+ thanks to 3 home runs in just 20 games with San Jose. One would expect those strikeouts to course correct as he adjust to the level … after all, he’s only 19 years old, and he had just a 19.3% strikeout rate in the ACL this year before his promotion.
As for González’s running mate, it was a fairly quiet day for Hernández, who hit 1-4 with a walk and a strikeout, while committing an error at shortstop. Then again, that ain’t bad for someone more than 4 years younger than the average player in the Cal League!
An uninteresting and uninspiring pitching performance for San Jose. LHP Ricardo Estrada got the start and was mediocre, allowing 7 hits, 2 walks, 3 runs, and 2 earned runs in 5 innings, while only striking out 2 batters. Estrada has a 3.67 ERA on the year, but his FIP is 5.78, and he’s not doing much from a strikeouts and walk standpoint.
Dominican Summer League Black (26-16)
DSL Giants lost to DSL Arizona Red 8-5
Box score
Not a lot to discuss in this game, except that 2 hitters who keep on hitting … well … kept on hitting. Left fielder Franco Willias hit 3-5 with a double, though he also had a strikeout and was caught stealing. Willias, a 21-year old in his 3rd season, has a 12-game hitting streak, during which time he’s 23-48 with 1 home run, 7 doubles, and 5 walks. He’s now up to a stunning 1.075 OPS and a 161 wRC+ on the year, marks that rank 10th and 9th, respectively, out of the 408 DSL hitters with at least 100 plate appearances this year. Looks like we’ll be seeing him in Papago next year!
Shortstop Keiberg Camacaro hit 1-3 with a double and a stolen base. After a subpar 3rd DSL campaign last year, the 19-year old has exploded this season, with a 1.040 OPS and a 157 wRC+, and more walks than strikeouts. Just a stellar season for another person we’ll likely be seeing in the states in 2027.
Dominican Summer League Orange (24-18)
DSL Giants Orange beat the DSL NYY Yankees 7-6 (7 innings)
Box score
Drama for the Giants Orange squad, which used a 5-run 7th inning to overcome a 6-2 deficit and walk it off. Incredible! And it happened in extremely DSL fashion: after they tied the game on a home run, they loaded the bases with 2 walks and a single … and then got a walk-off walk. Naturally.
A trio of players hit home runs, and those were the stars of the game. Right fielder Brandon Vasquez was the hero, as he hit 1-3 with a walk and a game-tying 3-run blast in the final inning. The 19-year old has made huge strides this year, and has an .810 OPS and a 107 wRC+. In his 3 years in the DSL he’s seen his strikeout rate drop from 16.5% to 14.6% to 8.3% … and, subsequently, his average rise from .187 to .241 to .306.
The other dingers belonged to center fielder Yoxander Benitez, who hit 2-4 with a solo shot, and second baseman Leonardo Vargas, who went 2-3 with a solo home run. Benitez, a 19-year old in his 3rd season, has also made huge strides this year, with an .833 OPS and a 116 wRC+, numbers that tower over his prior years. Vargas, a 17-year old from Mexico, has really been struggling through 10 games in his debut season, so this was a nice moment to see.
Home run tracker
18 — Lisbel Diaz — [15 in High-A; 3 in Low-A]
15 — Walker Martin — [High-A]
12 — Zander Darby — [High-A]
12 — Dario Reynoso — [Low-A]
8 — Scott Bandura — [5 in AAA; 3 in AA]
4 — Oliver Tejada — [3 in Low-A; 1 in ACL]
3 — Josuar González — [1 in Low-A; 2 in ACL]
1 — Leonardo Vargas — [DSL]
1 — Yoxander Benitez — [DSL]
1 — Brandon Vasquez — [DSL]
Friday schedule
Sacramento: 7:05 p.m. PT at Tacoma (SP: TBD)
Richmond: 4:05 p.m. PT at Somerset (SP: Charlie McDaniel)
Eugene: 6:35 p.m. PT vs. Tri-City (SP: Niko Mazza)
San Jose: 6:30 p.m. PT at Rancho Cucamonga (SP: TBD)
Reminder that almost all MiLB games can be watched on MLB TV











