Use when updating the Electron version in the RStudio repository, e.g. bumping to a new release
66
78%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./.claude/skills/rstudio-update-electron/SKILL.mdUpdates the pinned Electron version across the RStudio codebase and verifies the result.
The user provides the target Electron version (e.g. 39.8.4).
Before doing anything else, confirm the current branch is main. Starting off anything other than main would base the work on the wrong commit.
git branch --show-currentIf the output is not main, stop immediately and warn the user that they must switch to main (and pull the latest) before re-running this skill. Do not proceed with any further steps.
NEWS.mdFind the ### Dependencies section and update the Electron version line:
- Electron <NEW_VERSION>src/node/desktop/package.json and lockfileRun from src/node/desktop:
cd src/node/desktop && npm install --save-dev --save-exact electron@<NEW_VERSION>The --save-exact flag is required — Electron must be pinned to an exact version (e.g. "electron": "39.8.5", not "^39.8.5"). This prevents uncontrolled upgrades across major/minor versions.
This updates both package.json and package-lock.json in one step. Confirm the command exits successfully (exit code 0). If it fails, report the error and stop.
After the install, verify that:
package.json has the exact version with no ^ or ~ prefix.package-lock.json contains the new Electron version.The lockfile must be included in the commit — if it drifts from the manifest, npm ci in CI will fail.
Run from src/node/desktop:
cd src/node/desktop && npm testConfirm the command exits successfully. If tests fail, report the failures and stop.
Report that the Electron version has been updated and both npm i and npm test passed.
9bc95f9
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.