Reading JetBrains' Refactoring-Skill Benchmark Honestly JetBrains' refactoring-skill benchmark, published August 19, 2026, reports that its AI skill for Rider and ReSharper is 83% faster, 64% cheaper, and uses 63% fewer tool calls, based on median results across fifteen C# refactoring tasks run roughly ten times each. The benchmark used gpt-5.5 through the Codex CLI for both arms; Claude Code was not benchmarked, and the speed-up requires the Rider MCP server running. JetBrains disclosed losses and applied a paired permutation test, but no p-values or third-party reproduction are provided. JetBrains’ refactoring-skill benchmark is the rare vendor-run benchmark that discloses most of what you would want to know: the task count, the model, the harness, the runs per task, the baseline definition, the cost unit, and one result that went against the skill. It still describes exactly one harness and one model, and the skill it measures only reaches its headline speed with Rider’s own MCP server running. Both facts are in JetBrains’ own text. Neither is in the three-number stat callout that carries them, which repeats verbatim on both JetBrains posts and is the part most likely to travel on its own. The three numbers travelling around are JetBrains’ own labels: “83% faster” median task time 157.9 s to 26.6 s , “64% cheaper” USD 0.52 to 0.19 per solved task and “63% fewer” tool calls 17.0 to 6.2 per task , medians across fifteen C refactoring tasks run roughly ten times each. The sentence that should sit next to them, verbatim from the benchmark post, is that both arms ran gpt-5.5 through the Codex CLI. Claude Code was not benchmarked. The skill installs into Claude Code and Codex alike, so “works with both” is true at the install level while the measured claim covers one harness and one model. This post is a read, not a rebuttal. We do not think the benchmark is wrong or inflated; JetBrains published losses alongside wins and applied a real statistical test. What we do is walk the numbers back to their disclosure, recompute the derived figures from the published inputs, record what the posts are silent on, and extend the disclosure rubric from our vendor benchmark reproducibility audit /blog/vendor-benchmark-reproducibility-audit-2026 to this specific case. The closing section is about something larger: an IDE vendor shipping skills for third-party agents, and what that makes the skill layer. - 01The headline numbers are JetBrains’ own, verbatim.Median task time 157.9 s to 26.6 s, which JetBrains itself labels “83% faster”; cost per solved task USD 0.52 to 0.19 “64% cheaper” ; tool calls 17.0 to 6.2 per task “63% fewer” . Medians across fifteen C refactoring tasks, roughly ten runs each. The percentages are citable as JetBrains’ phrasing, not our derivation. - 02One harness, one model: Codex CLI running gpt-5.5.JetBrains states that both arms ran gpt-5.5 through the Codex CLI. Claude Code was not benchmarked and no other model was. The skill installs into both Claude Code and Codex via each agent’s plugin marketplace, so the install claim and the measured claim have different scopes. - 03The skill is a pointer, not a self-contained file.JetBrains’ own README says the skills drive Rider’s refactoring engine through the Rider MCP server and degrade gracefully to grep and file edits when that server is not connected. The measured speed-up is a property of the skill plus a running Rider MCP server, not of the SKILL.md on its own. - 04Significance is a label, not a number.JetBrains applied a paired permutation test and reports both improvements as significant. No p-value, confidence interval or effect size is published. No third party has reproduced the benchmark; every figure traces to JetBrains’ two August 19 posts. - 05JetBrains disclosed the losses, and the selection rule that favours the skill.Eight of fifteen tasks cleared the full-win bar; one task was solved without the skill but not with it. The eight operations were chosen for the cleanest pass/fail contracts, which are also the operations Rider’s engine exposes as tools. JetBrains says this itself; it is a scope note, not a concealment. 01 — What ShippedWhat JetBrains shipped, and what it said about it. Two JetBrains posts carry August 19, 2026 bylines. The release post, “Rider 2026.2.1 and ReSharper 2026.2.1 Are Here ” https://blog.jetbrains.com/dotnet/2026/08/19/rider-resharper-2026-2-1/ , lists what the minor release contains and says the build is ready to download. The companion benchmark post, “Rider Hands AI Agents The Keys To Its Refactoring Engine For Safer, Faster, And Cheaper Results” https://blog.jetbrains.com/dotnet/2026/08/19/rider-refactoring-code-skill/ by Sasha Ivanova, is where the numbers and the methodology live. Neither page uses a status word such as beta or GA for the refactoring-code skill; it simply ships bundled with the IDE, with nothing to switch on. We follow JetBrains’ own dating throughout and say “announced August 19” rather than asserting a separate release day. The refactoring-code skill covers eight C operations by name: rename, extract method, extract interface, extract base class, change API signature, move type to namespace, reorganize namespaces and safe delete. The benchmark wrapped those eight operations in fifteen tasks, most in two variants, a straightforward case and a harder one with more call sites or more entangled dependencies. The three headline figures below are JetBrains’ stat callout, reproduced with its own labels. 157.9 s → 26.6 s JetBrains’ own label for the median across all fifteen tasks, roughly ten runs each. The 95th percentile also fell, from 346.4 s to 56.9 s, because the slowest runs were the ones trapped in the edit-build-read-error cycle. USD 0.52 → USD 0.19 US dollars implied by gpt-5.5 token pricing on the recorded input, cache-read and output tokens. JetBrains also reports a separate median cost per task across all tasks, USD 0.33 to 0.12. Different denominators; the post keeps them apart and so do we. 17.0 → 6.2 per task Across the whole evaluation, 2,513 tool calls fell to 926. The dotnet build count fell from 163 calls to 3. The eight refactoring operations account for 167 of the 926 remaining calls; most of the rest are ordinary text edits. The release post carries four other items that belong in the record at one line each. Everything below is verified against JetBrains’ release notes for Rider and ReSharper; we do not expand on any of them beyond what the post says. debugging-code skill Lets agents set breakpoints, step through code, inspect values and thread context, follow the call order, and check which branches are taken or whether execution reaches a specific line. Quality-check hooks support Codex This is the only sentence on either JetBrains page that names Claude Code explicitly, and it is about hooks, not the refactoring skill. Do not source the skill’s dual-agent support to it; source that to the repository. ReSharper Out-of-Process by default Possible because dotCover now supports OOP mode. Type and project dependency diagrams now also work out of process, where previously they required switching back to in-process. Junie adds Claude Opus 5 JetBrains updated Junie to a version that adds support for Claude Opus 5, so you can pick it as the model powering your sessions. That is the full extent of the release note and the full extent of what we will say about it. 02 — The ReadEach claim, what it establishes , and what it does not. The table is the post. Each row takes one claim in circulation, records what JetBrains’ own text discloses for it, records what the text is silent on, and says how we would read it. The last row is the exception: it is not a claim anyone has made, it is the question to settle before repeating any of the others. The “how to read” column is our interpretation; everything in the middle two columns is traceable to the two JetBrains posts or the public skill repository. Where we say “not disclosed” we mean the posts do not say, not that JetBrains is hiding something. | Claim or question | What JetBrains discloses | What it does not | How to read it | |---|---|---|---| | The three headline numbers | ||| | “83% faster” | Median task time 157.9 s to 26.6 s across all fifteen tasks, roughly ten runs each; 95th percentile 346.4 s to 56.9 s. The aggregate explicitly covers all fifteen tasks, not only the eight full wins. | The full distribution: no histogram, interquartile range, minimum, or the individual run times. Hardware and execution environment: not disclosed. | A percentage of time removed, not a multiplier. From the published medians the multiplier is roughly 5.9×, our arithmetic, not JetBrains’ framing. The one extra percentile moved the same direction as the median, which argues against a hidden fat tail. | | “64% cheaper” | Cost per solved task USD 0.52 to 0.19. A second figure, median cost per task across all tasks, USD 0.33 to 0.12. Underlying token counts per task: input 436,745 to 208,524; cache reads 2,973,158 to 1,257,600; output 32,532 to 15,538. | Cost on any other model or harness. Hardware. The two cost figures have different denominators and the post keeps them separate; merging them is a reader error, not a vendor one. | Dollars implied by one model’s token prices on one harness. The figure moves whenever OpenAI’s gpt-5.5 pricing moves and says nothing about cost on a different agent. | | “63% fewer tool calls” | 17.0 to 6.2 per task; 2,513 to 926 across the evaluation; dotnet build 163 calls to 3. The eight refactoring operations account for 167 of the 926 skill-arm calls. | Any quality signal beyond the pass/fail test bar both arms were held to. Fewer calls is not evidence of better code on its own. | A cost and latency proxy, not a quality measure. The mechanism JetBrains describes is the removal of the build-as-oracle loop; the quality bar is the tests, and it is the same bar for both arms. | | Method and scope | ||| | “Statistically significant” | A paired permutation test on timing, cost and tool counts from the recorded traces; JetBrains states both improvements are significant under it. | No p-value, no confidence interval, no effect size. The test’s output is not published, only its verdict. | A pass/fail label from a real test. More than most vendor benchmarks disclose; still not a number you can carry into your own analysis. Do not invent one. | | “Works with Claude Code and Codex” | The benchmark post: both arms ran gpt-5.5 through the Codex CLI, roughly ten times per task. The repository: install paths for Claude Code and Codex, plus a manual copy for any agent that reads SKILL.md. | Any measurement on Claude Code, on any other harness, or on any model other than gpt-5.5. | True at the install level, unmeasured at the benchmark level. Keep the two claims apart: “installs into both” is verified; “measured on both” is false. | | “A portable skill” | The README: the skills drive Rider’s refactoring engine through the Rider MCP server, and degrade gracefully to standard file and grep tools when that server is not connected. | Any numbers for the degraded path. The benchmark arms are skill-available versus skill-unavailable with Rider running, not skill-with-server versus skill-without-server. | The SKILL.md travels; the capability does not. The measured speed-up depends on a running Rider MCP server, which only JetBrains ships. | | Reproduced by anyone else? | A named statistical test, an all-task aggregate, one task that regressed, and seven tasks outside the full-win bar, all stated by JetBrains itself. | The task corpus, the harness or scoring code, and any third-party rerun. None is published. | Nobody outside JetBrains has reproduced this. Every number in this post traces to JetBrains’ two August 19 posts. Label it vendor-run and treat it as an invitation to measure, not a result to quote as settled. | solved without the skill but not with it , two were solved by neither arm, and four were already quick enough that invoking the IDE did not pay for itself. The headline medians cover all fifteen, not just the eight full wins. That is better disclosure than our CursorBench read /blog/cursorbench-v3-1-vendor-benchmark-analysis found on the wins-and-losses axis, where the vendor only partially cleared it. 03 — Harness and ModelOne harness, one model: Codex CLI on gpt-5.5 . The fact the stat callout leaves out is stated in plain language further down the benchmark post. The methodology passage names the harness and the model once, and it names only one of each. “Both arms ran gpt-5.5 through the Codex CLI, roughly ten times per task, and the only difference between them was whether refactoring-code was available.”— Sasha Ivanova, JetBrains .NET blog, refactoring-code skill benchmark post, August 19, 2026 So the baseline is not a different agent, a different IDE or a competitor’s skill. It is the same Codex CLI, the same gpt-5.5, the same prompts, with the refactoring-code skill present or absent. That is a clean design for the question JetBrains asked, which was whether giving this agent access to Rider’s engine helps. It is not a design that can answer whether the skill helps Claude Code, or whether it helps a different model on Codex, because neither was run. The install story is separate and independently verifiable. The JetBrains/rider-skills repository https://github.com/JetBrains/rider-skills Apache 2.0 carries a .claude-plugin/ directory with Claude Code plugin and marketplace metadata and a .codex-plugin/ directory with Codex plugin metadata, both pointing at the same skills/