Agent skill

RStudio Selenium to Playwright Migration

by rstudio in rstudio/rstudio

Converts RStudio Python Selenium electron tests into TypeScript Playwright tests, checking each against a live RStudio before counting it as migrated.

Custom licenceAuto-check passedTesting & QA

Install RStudio Selenium to Playwright Migration

skills CLI
$ npx skills add rstudio/rstudio --skill rstudio-migrate-tests-selenium-to-playwright -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install rstudio/rstudio rstudio-migrate-tests-selenium-to-playwright --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/rstudio/rstudio.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/rstudio-migrate-tests-selenium-to-playwright .claude/skills/rstudio-migrate-tests-selenium-to-playwright && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
rstudio-migrate-tests-selenium-to-playwright
GitHub stars
5.1k
Token cost
~3.6k tokens
SKILL.md length
1,777 words
Files
1
Skills in repo
7
Repo updated
First seen
Licence
Custom licence

At a glance

Converts RStudio Python Selenium electron tests into TypeScript Playwright tests, checking each against a live RStudio before counting it as migrated.

  • Works in 10 steps: Resolve the target → Read reference materials → Determine the target location → …
  • Converting a Python Selenium test file to a Playwright TypeScript test
  • SKILL.md covers Arguments, Hard Rules, Steps and Compact Instructions, plus 2 more sections
  • Calls git, npx and gh

What it does

The skill moves tests from the `electron-tests` folder of the Python automation repository to `rstudio/e2e/rstudio/tests/`. You give it a single file, a directory or a keyword. The agent reads the full Python source, checks the migration progress file so nothing is converted twice, then loads the Playwright creation and run skills and the suite README before writing anything.

Hard rules require tests to work on both Desktop and Server and on Windows, macOS and Linux through a unified fixture, using cross-platform shortcuts, platform guards or tags such as `@desktop_only`. Nothing may depend on Claude, so the tests run from a terminal, CI and GitHub Actions. A test counts as migrated only after it passes against a live RStudio instance; after up to 3 retries it is marked `test.fixme()` with a blocker note and tracked as Fixme, never reported as migrated.

When your agent uses it

  • Converting a Python Selenium test file to a Playwright TypeScript test
  • Migrating every test in a directory such as GlobalPrefs
  • Checking which electron tests are already converted or marked fixme
  • Making a migrated test run on both RStudio Desktop and Server

Example prompts

  • “Migrate test_desktop_console.py to Playwright.”
  • “Convert all the tests under GlobalPrefs and update the progress file.”
  • “Migrate the citations tests and mark any that still fail as fixme with a note.”

Requirements

  • A live RStudio Desktop or Server instance to run converted tests against
  • The `rstudio-create-playwright-tests` and `rstudio-run-playwright-tests` skills

Workflow steps

10 steps, taken from the step headings in SKILL.md.

  1. Resolve the target
  2. Read reference materials
  3. Determine the target location
  4. Write the TypeScript test
  5. Add missing page objects or actions
  6. Run the test
  7. Reevaluate
  8. Update progress tracking
  9. Commit and submit
  10. Roborev review and assessment

What it can do on your machine

Read from SKILL.md and the folder at commit 22e5f6b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • npx
    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, npx and gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

RStudio Selenium to Playwright Migration loads about 3.6k tokens when it runs. Until then it costs about 59 tokens; SKILL.md has 1,777 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~59
When it runs · the whole SKILL.md, loaded when a task matches
~3.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

Its licence (Custom licence) doesn't allow us to republish the file, so here is its outline and opening line. It has 1,777 words (~3,558 tokens).

“Converts Python test files from rstudio-ide-automation/rstudio_server_pro/electron-tests/ to TypeScript/Playwright tests in rstudio/e2e/rstudio/tests/.”

— opening of SKILL.md by rstudio, Custom licence
name
rstudio-migrate-tests-selenium-to-playwright

Read the full SKILL.md on GitHub

Files

Just SKILL.md in .claude/skills/rstudio-migrate-tests-selenium-to-playwright of rstudio/rstudio.

Open the folder on GitHubat commit 22e5f6b

Compare with similar skills

RStudio Selenium to Playwright Migration next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

RStudio Selenium to Playwright Migration compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
RStudio Selenium to Playwright Migration this skillrstudio/rstudio5.1k—~3.6kAutomated safety check: PassCustom licence
Playwright Migrationzebbern/claude-code-guide4.7k2 repos~187Automated safety check: PassMIT
Cypress Automationpetrkindlmann/qa-skills170—~4.4kAutomated safety check: PassMIT
Test Framework Migration Skillsickn33/agentic-awesome-skills47k1 repos~2.2kAutomated safety check: PassMIT
Test Migrationpetrkindlmann/qa-skills170—~5.3kAutomated safety check: PassMIT
Playwrightsecondsky/claude-skills227—~3.7kAutomated safety check: NotesMIT

Similar skills

  • Playwright Migration

    zebbern/claude-code-guide

    Step-by-step migration guides for moving to Playwright from Cypress or Selenium/WebDriver — command mappings, architecture changes, and incremental adoption strategies.

    4.7k GitHub starsUsed in 2 repos~187 tokens
    Testing & QAAuto-check passed
  • Cypress Automation

    petrkindlmann/qa-skills

    Build Cypress test suites in TypeScript: E2E tests, component tests, custom commands, cy.intercept network control, cy.session login, Cypress Cloud, and CI integration.

    170 GitHub stars~4.4k tokensUpdated 4 mo ago
    Testing & QAAuto-check passed
  • Test Framework Migration Skill

    sickn33/agentic-awesome-skills

    Migrates and converts test automation scripts between Selenium, Playwright, Puppeteer, and Cypress.

    47k GitHub starsUsed in 1 repo~2.2k tokens
    Testing & QAAuto-check passed
  • Test Migration

    petrkindlmann/qa-skills

    Migrate a test suite from one framework to another, incrementally and without losing coverage.

    170 GitHub stars~5.3k tokensUpdated 4 mo ago
    Testing & QAAuto-check passed
  • Playwright

    secondsky/claude-skills

    Browser automation and E2E testing with Playwright. An agent skill from secondsky/claude-skills.

    227 GitHub stars~3.7k tokensUpdated 12 days ago
    Testing & QAAuto-check: notes
  • 自动化测试助手 - 专业的测试自动化设计与实现专家。适用场景: (1) 自动化测试框架选型与搭建(Selenium/Cypress/Playwright/Appium) (2) 自动化测试脚本编写(Web/API/Mobile) (3) 测试数据管理与Mock设计 (4) CI/CD测试集成(Jenkins/GitLab CI/GitHub Actions) (5) Page…

    126 GitHub stars~3.1k tokensUpdated 8 mo ago
    Testing & QAAuto-check passed

More from rstudio/rstudio

  • Runs RStudio's Playwright end-to-end tests against the desktop app or a server build with the project's npm scripts, asking you which mode to use first.

    5.1k GitHub stars~801 tokensUpdated today
    Auto-check passed
  • Advances RStudio's pinned copilot-language-server dependency to a specified release, then uploads it to S3, verifies the install, and opens a PR.

    5.1k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Bumps the pinned Electron version across the RStudio repository, updating NEWS.md, package.json, the lockfile and the allowScripts entry.

    5.1k GitHub stars~964 tokensUpdated today
    Auto-check passed
  • Bumps the build-time and installed Node.js versions in the RStudio repository, uploads the binaries to S3, verifies the install and opens a PR.

    5.1k GitHub stars~3k tokensUpdated today
    Auto-check passed
  • Bumps the pinned Quarto version across the RStudio repository, mirrors the release to the rstudio-buildtools S3 bucket, verifies it and opens a PR, on macOS and Linux.

    5.1k GitHub stars~2.8k tokensUpdated today
    Auto-check passed
  • Gotchas and conventions for writing, reviewing and migrating RStudio's TypeScript Playwright tests under e2e/rstudio, beyond what the README covers.

    5.1k GitHub stars~3.9k tokensUpdated today
    Auto-check passed

Questions about RStudio Selenium to Playwright Migration

What does RStudio Selenium to Playwright Migration do?

Converts RStudio Python Selenium electron tests into TypeScript Playwright tests, checking each against a live RStudio before counting it as migrated. The skill moves tests from the `electron-tests` folder of the Python automation repository to `rstudio/e2e/rstudio/tests/`. You give it a single file, a directory or a keyword.

When should I use RStudio Selenium to Playwright Migration?

RStudio Selenium to Playwright Migration fits situations like: converting a Python Selenium test file to a Playwright TypeScript test; migrating every test in a directory such as GlobalPrefs; checking which electron tests are already converted or marked fixme; making a migrated test run on both RStudio Desktop and Server.

How do I install RStudio Selenium to Playwright Migration in Claude Code?

Run `npx skills add rstudio/rstudio --skill rstudio-migrate-tests-selenium-to-playwright -a claude-code`. Or copy the skill folder (.claude/skills/rstudio-migrate-tests-selenium-to-playwright in rstudio/rstudio) into .claude/skills/rstudio-migrate-tests-selenium-to-playwright in your project. Claude Code loads it when a task matches its description.

How do I install RStudio Selenium to Playwright Migration in Codex?

Run `npx skills add rstudio/rstudio --skill rstudio-migrate-tests-selenium-to-playwright -a codex`. Or copy the skill folder (.claude/skills/rstudio-migrate-tests-selenium-to-playwright in rstudio/rstudio) into .agents/skills/rstudio-migrate-tests-selenium-to-playwright in your project. Codex loads it when a task matches its description.

Can I use RStudio Selenium to Playwright Migration in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add rstudio/rstudio --skill rstudio-migrate-tests-selenium-to-playwright -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/rstudio-migrate-tests-selenium-to-playwright, .gemini/skills/rstudio-migrate-tests-selenium-to-playwright, .github/skills/rstudio-migrate-tests-selenium-to-playwright and .opencode/skills/rstudio-migrate-tests-selenium-to-playwright in your project.

What does RStudio Selenium to Playwright Migration need to run?

Going by SKILL.md and its folder, RStudio Selenium to Playwright Migration needs the command-line tools its instructions call (git, npx and gh). Our summary lists: A live RStudio Desktop or Server instance to run converted tests against; The `rstudio-create-playwright-tests` and `rstudio-run-playwright-tests` skills.

Does RStudio Selenium to Playwright Migration access the network?

SKILL.md contains no URLs. Its commands use git, npx and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is RStudio Selenium to Playwright Migration safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does RStudio Selenium to Playwright Migration use?

RStudio Selenium to Playwright Migration has a licence file (the repository's licence) that doesn't match a standard licence. Read it on GitHub before reusing the skill.

How many tokens does RStudio Selenium to Playwright Migration use?

About 3.6k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to RStudio Selenium to Playwright Migration?

Skills that share tags, products or a category with RStudio Selenium to Playwright Migration: Playwright Migration (zebbern/claude-code-guide, 4.7k stars), Cypress Automation (petrkindlmann/qa-skills, 170 stars), Test Framework Migration Skill (sickn33/agentic-awesome-skills, 47k stars) and Test Migration (petrkindlmann/qa-skills, 170 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains RStudio Selenium to Playwright Migration?

rstudio (a GitHub organization) maintains it in rstudio/rstudio, which has 5,082 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 9, 2026.

Source: rstudio/rstudio on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.