MCP.Market

qa-testing skill

by openinterpreter·openinterpreter/openinterpreter·69k stars·Apache-2.0

Verify your work by actually operating the app or website you changed, instead of assuming it works. Strongly recommended whenever you build, modify, or debug a web app, website, or desktop GUI app. Drive real browsers with the agent-browser CLI and native desktop apps with the cua-driver CLI. These are installed on demand through the host's normal command-approval flow.

A100/100content scan

Is the qa-testing skill safe?

Clean: nothing in its files matched our rules. We read 1 file in the folder on 2026-10-25.

No findings.

Install the qa-testing skill

A skill is a folder. Copy it into your agent's skills folder and the agent loads it when the task matches its description.

git clone --depth 1 https://github.com/openinterpreter/openinterpreter.git /tmp/openinterpreter
mkdir -p ~/.claude/skills
cp -r /tmp/openinterpreter/codex-rs/skills/src/assets/samples/qa-testing ~/.claude/skills/qa-testing
available in every project

In the Claude apps, zip the folder and upload it from the Skills settings. The folder on GitHub

The instructions your agent would load

SKILL.md as published, without the frontmatter. Read it on GitHub

QA testing - verify by actually driving it

After you build or change an app or website, do not assume it works. Drive it and check.

1. Network is required - check it first

Installing these tools and loading pages need outbound network, which sandboxes can block. Check before anything else:

curl -fsI https://github.com >/dev/null 2>&1 && echo "network ok" || echo "network blocked"

If it prints network blocked, stop and tell the user:

I need network access to install and run the testing tools. Run /permissions

and choose an access level that allows network, then ask me again.

2. Web apps and websites - agent-browser

On macOS/Linux, prefer the prebuilt binary directly:

if ! command -v agent-browser >/dev/null; then
  os=$(uname -s | tr '[:upper:]' '[:lower:]'); m=$(uname -m)
  case "$os/$m" in
    darwin/arm64)              asset=agent-browser-darwin-arm64 ;;
    darwin/x86_64)             asset=agent-browser-darwin-x64 ;;
    linux/aarch64|linux/arm64) asset=agent-browser-linux-arm64 ;;
    linux/x86_64)              asset=agent-browser-linux-x64 ;;
  esac
  mkdir -p ~/.local/bin
  curl -fL "https://github.com/vercel-labs/agent-browser/releases/latest/download/$asset" -o ~/.local/bin/agent-browser
  chmod +x ~/.local/bin/agent-browser
fi
agent-browser install
agent-browser skills get core

On Windows, use the package installer because it downloads the matching native binary:

if (-not (Get-Command agent-browser -ErrorAction SilentlyContinue)) {
  npm install -g agent-browser
  $env:Path = "$env:APPDATA\npm;$env:Path"
}
agent-browser install
agent-browser skills get core

Then use the tool's maintained guide: agent-browser open , take a snapshot, act on the element refs, and snapshot again.

3. Native desktop apps - cua-driver

macOS/Linux:

command -v cua-driver >/dev/null || /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/trycua/cua/main/libs/cua-driver/scripts/install.sh)"
cua-driver list-tools

Windows PowerShell:

if (-not (Get-Command cua-driver -ErrorAction SilentlyContinue)) {
  irm https://raw.githubusercontent.com/trycua/cua/main/libs/cua-driver/scripts/install.ps1 | iex
  $env:Path = [Environment]::GetEnvironmentVariable('Path', 'User') + ';' + [Environment]::GetEnvironmentVariable('Path', 'Machine')
}
cua-driver list-tools

For native apps, verify a real state change after the action. A click command that reports success is not enough by itself. Capture an initial state, act, then capture a post-action state and compare visible text, counters, status labels, selected state, input values, or screenshot evidence.

Windows PowerShell command hygiene

Many Windows hosts still run Windows PowerShell 5.1, where && is not a valid statement separator. Use separate commands, semicolons, or explicit if ($LASTEXITCODE -eq 0) { ... } checks instead. Quote tool arguments that begin with @, especially agent-browser refs.

Principles

cua-driver list-tools.

  • Check network first.
  • Use command -v before installing.
  • Prefer direct binaries on macOS/Linux when available.
  • Defer to each tool's own docs: agent-browser skills get core and

submissions, or deletions.

  • Snapshot, act, and re-snapshot to confirm each step landed.
  • Confirm before consequential actions such as purchases, messages, form

More skills from openinterpreter/openinterpreter

  • Ababysit-prBabysit a GitHub pull request after creation by continuously polling review comments, CI checks/workflow runs, and mergeability state until the PR is merged/closed or user help is required. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and keep watching open PRs so fresh review feedback is surfaced promptly. Use when the user asks Codex to monitor a PR, watch CI, handle review comments, or keep an eye on failures and feedback on an open PR.
  • Acode-breaking-changesBreaking changes
  • Acode-reviewRun a final code review on a pull request
  • Acode-review-change-sizeChange size guidance (800 lines)
  • Acode-review-contextModel visible context
  • Acode-review-testingTest authoring guidance
  • Acodex-pr-bodyUpdate the title and body of one or more pull requests.
  • AimagegenGenerate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output should be a bitmap asset rather than repo-native code or vector. Do not use when the task is better handled by editing existing SVG/vector/code-native assets, extending an established icon or logo system, or building the visual directly in HTML/CSS/canvas.
  • Aopenai-docsUse for Codex models/pricing, scheduled tasks, skills, settings, setup, troubleshooting, customization, automations, and self-knowledge—including 'you,' 'your,' 'this app,' or 'this coding agent' when they refer to Codex—and for OpenAI APIs/products and ChatGPT Work. Also use for model choice/migration, prompting, SDKs, Responses, Realtime, agents, evals, and Chat/Work/Codex comparisons. Do not use for generic app/software tasks that merely mention Codex.
  • Apath-typesChoose Rust types for operating system paths across the Codex repository. Use when defining new path-bearing types or explicitly migrating existing ones.
  • Dplugin-creatorCreate and scaffold plugin directories for Codex with a required `.codex-plugin/plugin.json`, optional plugin folders/files, valid manifest defaults, and personal-marketplace entries by default. Use when Codex needs to create a new personal plugin, add optional plugin structure, generate or update marketplace entries for plugin ordering and availability metadata, or update an existing local plugin during development with the CLI-driven cachebuster and reinstall flow.
  • Aremote-testsTesting against remote executors in integration tests.

All agent skills → · MCP servers