by sahajamit
Login-less, bring-your-own-key desktop agent that turns plain English into browser automation — and generates runnable Playwright, Cypress, and Selenium scripts.
# Add to your Claude Code skills
git clone https://github.com/sahajamit/promptwrightLast scanned: 7/6/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-07-06T08:19:30.205Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}promptwright is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by sahajamit. Login-less, bring-your-own-key desktop agent that turns plain English into browser automation — and generates runnable Playwright, Cypress, and Selenium scripts. It has 110 GitHub stars.
Yes. promptwright passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/sahajamit/promptwright" and add it to your Claude Code skills directory (see the Installation section above).
promptwright is primarily written in TypeScript. It is open-source under sahajamit on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh promptwright against similar tools.
No comments yet. Be the first to share your thoughts!
Heads-up: migrated and rebuilt. Promptwright has moved from the
testronaiorganization to@sahajamit, and it has been completely revamped. If you starred or forked the original, this is its new home (the old URL redirects here). What you are looking at is a ground-up rebuild, not the old codebase, so don't be surprised if it looks nothing like the version you remember.
Promptwright started life under Testron AI as a tool that turned a natural-language prompt into an automated browser workflow and generated reusable Playwright, Cypress, and Selenium scripts. This release is a from-scratch rebuild for what agentic AI can do today. It is now a login-less, bring-your-own-key Electron desktop app that does the same job under the hood (plain English, or a recorded click-through, becomes a real browser driven by an AI agent and falls out as runnable tests), with a lot more on top: an IDE-style run workspace, a live browser view, record to Gherkin to replay, and any OpenAI-compatible model, cloud or local.
Grab the latest desktop build from the Releases page. No npm, no build step. Once it's installed, point it at your model provider (see Quick start for BYOK setup) and you're going.
The app is currently unsigned (a code-signing certificate is on the roadmap), so your OS will warn you on first launch. The one-time steps below are expected and safe.
.dmg and drag Promptwright to Applications. On first launch, right-click the app → Open (or run xattr -dr com.apple.quarantine /Applications/Promptwright.app) to get past Gatekeeper's "unidentified developer" prompt. (Intel Macs are not built yet.)Promptwright-Setup-<version>.exe (installer) or unzip the portable build. If SmartScreen appears, click More info → Run anyway..AppImage, then chmod +x Promptwright-*.AppImage && ./Promptwright-*.AppImage.Prefer to build from source instead? See Quick start below.
Most "AI test" tools lock you into one vendor's model and a sign-in. Promptwright flips that:
| Home | Live agentic execution |
|---|---|
![]() |
![]() |
| Workflow Observer (record → Gherkin) | Settings (bring your own key) |
|---|---|
![]() |
![]() |
| CLI | Desktop | |
|---|---|---|
| Natural-language browser tests | ✅ | ✅ |
| Real-time streaming of agent steps | ✅ | ✅ |
| Login-less BYOK (any OpenAI-compatible provider) | ✅ | ✅ |
| Local models via Ollama | ✅ | ✅ |
| Orchestrator that routes to specialized agents | ✅ | ✅ |
| Playwright CLI and Playwright MCP modes | ✅ | ✅ |
| Conversation history | — | ✅ |
| Record → Gherkin (Workflow Observer) | — | ✅ |
| Replay generated scenarios | — | ✅ |
| Activity / execution logs panel | — | ✅ |
You give Promptwright a task. An orchestrator classifies the intent and routes it to the right specialized agent:
pw-cli-agent — runs web tests through the token-efficient Playwright CLI (connects to Chrome over CDP).pw-mcp-agent — runs web tests through Playwright MCP (rich tool integration).api-test-agent — exercises REST APIs.workflow-observer — watches a recorded session and turns it into Gherkin.Each agent runs as its own model session, so the harness streams every step (route, navigate, snapshot, act, verdict) back to the UI in real time.
The Workflow Observer watches you interact with the browser, then writes a feature file:
Feature: User Login
Scenario: Successful login
Given I navigate to "https://example.com/login"
When I type "user@test.com" in the email field
And I type "password123" in the password field
And I click the "Sign In" button
Then I should see the dashboard
Refine it through conversation, then replay it to verify.
git clone https://github.com/sahajamit/promptwright.git
cd promptwright
pnpm install
pnpm build
Then pick a model provider (login-less, no GitHub sign-in):
export PROMPTWRIGHT_PROVIDER_TYPE=openai
export PROMPTWRIGHT_PROVIDER_BASE_URL=https://api.moonshot.ai/v1
export PROMPTWRIGHT_PROVIDER_MODEL=kimi-k2.5
export PROMPTWRIGHT_PROVIDER_API_KEY=$MOONSHOT_API_KEY
ollama pull llama3.1:8b # a tool-capable instruct model
export PROMPTWRIGHT_PROVIDER_TYPE=openai
export PROMPTWRIGHT_PROVIDER_BASE_URL=http://localhost:11434/v1
export PROMPTWRIGHT_PROVIDER_MODEL=llama3.1:8b
# no API key needed for local Ollama
See promptwright.config.example.yaml for copy-paste presets and the full field list (bearerToken, wireApi, headers, token limits).
You can also configure the provider in the desktop app's Settings → Custom Provider (BYOK) instead of env vars.
# Development (hot reload)
pnpm --filter @promptwright/desktop dev
# Or run the built app
pnpm --filter @promptwright/desktop build
pnpm --filter @promptwright/desktop start
Type a task ("Go to example.com and verify the main heading"), hit Run Test, and watch the agent work. Or open Record to capture a workflow and generate a feature file.
# After pnpm build
node packages/cli/dist/index.js
# With an explicit provider (flags override env)
node packages/cli/dist/index.js \
--provider-type openai \
--provider-url https://api.moonshot.ai/v1 \
--provider-model kimi-k2.5 \
--provider-key "$MOONSHOT_API_KEY"
Agentic browsing requires a model that emits structured tool calls and stays coherent across a multi-step loop (route → navigate → snapshot → act). Not every model qualifies:
For simple chat and exploration, most local models are fine.
Settings live in promptwright.config.yaml (or the desktop Settings panel). Highlights:
browser:
headless: true
automationMode: playwright-cli # or playwright-mcp
provider: # BYOK — login-less
type: openai # openai | azure | anthropic
baseUrl: https://api.moonshot.ai/v1
model: kimi-k2.5
# apiKey: ... # or PROMPTWRIGHT_PROVIDER_API_KEY env
Config-file values win; environment variables fill any gaps, so a pure export-and-run launch works too.
A pnpm monorepo with a shared core:
promptwright/
├── assets/ # logo + screenshots
├── packages/
│ ├── core/ # @promptwright/core — Copilot SDK wrapper, orchestrator,
│ │ # agents, BYOK provider resolution, CDP, recording
│ ├── cli/ # @promptwright/cli — terminal interface
│ └── desktop/ # @promptwright/desktop — Electron + React app
├── promptwright.config.example.yaml
└── README.md
| Package | Description |
|---|---|
@promptwright/core |
Wraps the GitHub Copilot SDK with event streaming, the orchestrator + agent registry, and login-less BYOK provider resolution |
@promptwright/cli |
Terminal interface with colored, streamed output |
@promptwright/desktop |
Electron app with a React UI (chat, execution view, recorder, settings) |
Requirements: Node.js 22+ and pnpm. No GitHub Copilot login is required when a BYOK provider is configured.
MIT.