drive-positron-web

Start Positron Web from source and control it with browser automation.

4.2k|179|Updated May 24, 2022
One-click install
npx skills add https://github.com/posit-dev/positron --skill drive-positron-web
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: drive-positron-web
Source: https://github.com/posit-dev/positron/tree/main/.claude/skills/drive-positron-web
Command: npx skills add https://github.com/posit-dev/positron --skill drive-positron-web

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires @playwright/cli, and includes scripts (resource) components.

What problem does it solve?

Testing web-only bugs and browser-specific behavior in Positron requires a licensed Positron Web server and a reliable way to drive it, which is tedious to set up manually and easy to get wrong with readiness checks and license requirements.

Core Features & Use Cases

  • Server Startup with Readiness Guarantee: The start-web.sh script launches Positron Web, waits for an actual HTTP response rather than just a bound port, and reports connection details (URL, port, token, PID, log file) as JSON.
  • License Handling: Automatically detects a local license issuer or accepts explicit license keys via flags or environment variables, failing fast when no license is available.
  • Browser Automation: Drive the web workbench through a browser pane with accessibility-tree inspection or via the @playwright/cli terminal interface for clicks, screenshots, console logs, and network diagnostics.
  • Use Case: When investigating a bug that only reproduces in the browser build, start the server with the script, attach a browser session, and inspect the accessibility tree or run JavaScript assertions against the live page.

Quick Start

Start Positron Web with the start-web.sh script pointing at a workspace, then attach a browser automation session to the reported URL to inspect and interact with the page.

Frequently Asked Questions about drive-positron-web

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I start Positron Web for browser automation testing?

Run the start-web.sh script with a workspace path, and it launches the server, waits for an HTTP response, and prints a JSON object with the URL, port, token, PID, and log file. Use those reported values to attach a browser session rather than assuming defaults.

How do I test Positron in a browser with Playwright?

Open the reported URL with npx @playwright/cli using a named session, then reuse that session for snapshot, click, screenshot, console, network, and eval commands. The default chrome channel uses an installed Google Chrome, which is preferred over managed browser downloads.

Does Positron Web require a license to run locally?

Yes, Positron Web requires a signed license token with no development bypass. The launcher auto-mints a key if it finds a built issuer in a sibling positron-license checkout, or you can pass a key via --license-key, a key file, or environment variables.

What can Positron Web not test compared to the desktop app?

Positron Web cannot validate native file dialogs, unrestricted clipboard behavior, or code in the electron-sandbox layer. The web file-dialog service falls back to quick input, so use the Electron desktop build for those scenarios.

Why does the Positron Web server fail to become ready?

A cold checkout downloads Electron, Node, and built-in extensions before serving, which can exceed short timeouts. The port may also bind before the server responds, so check the reported log file and rely on HTTP polling rather than port checks.