The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
Self-improving QA harness for web and mobile agents
agent-qa is a test harness for writing QA steps in natural language and running them through an agent. It watches the UI, retries failed actions with a new path, and stores memory from past runs so later tests can adapt faster. It also includes a dashboard, CLI, MCP server, and skills for agent-led workflows.

Builders who want their agent to run QA tests against web and mobile interfaces.
You can keep tests in plain language while the harness adapts to UI drift and remembers what worked before.
What it does
Natural-language test authoring
Write actions and assertions in human language while the runner uses visible roles, labels, and screen state.
Self-healing execution
If a click, fill, or select fails, the harness re-observes the UI and tries another path in the same run.
Execution memory
Each run adds product, suite, and test observations to memory so future runs have more context.
Action cache
Validated plans can be reused across similar runs to cut planner work, token usage, and runtime overhead.
Sandboxed hooks
Node, Bun, Python, and Bash hooks run in Docker containers to set up state, call APIs, seed fixtures, or tear down.
Dashboard, CLI, and MCP support
You can run tests from the command line, use the dashboard, or connect coding agents through MCP and skills.
How to get it
- 1Install the package
npm install -D agent-qa
- 2For Codex or Claude Code subscription auth, also install
npm install -D @vostride/agent-qa-subscription-auth
- 3Initialize agent-qa and install the runtime support you need
npx agent-qa init npx agent-qa install-browsers --chromium # Mobile projects: npx agent-qa install-mobile-drivers --all
- 4Start the dashboard, complete auth, and run tests from the UI
npx agent-qa dashboard --open
README
agent-qa
The self-improving Agentic QA harness with Memory
Write tests in natural language for web and mobile. agent-qa learns from past runs, adapts to UI changes, and catches regressions before you ship.
Features
- Write tests in natural language for web and mobile: Define actions and assertions in human language while agents work from visible roles, labels, and screen state.
- Self-healing test execution: When any sub-action, such as click, fill, or select, fails, agent-qa re-observes the UI and tries a different path in the same run. Tests recover from UI drift and flaky interactions instead of failing on the first broken action.
- Self-improves with Memory: With every test run, agent-qa builds execution memory from product, suite, and test observations, then adds that context to future runs. agent-qa also curates memory from steps that were healed during execution, helping future runs avoid the same mistake.
- Built for humans and machines: A polished dashboard and CLI for developers, plus MCP and skills for coding agents.
- Accelerate runs with smart Cache: The action cache reuses validated plans across similar subsequent test runs, reducing planner work, token usage, and runtime overhead.
- Run sandboxed hooks during tests: Run Node, Bun, Python, or Bash hooks in isolated Docker containers to set up environments, call APIs, seed fixtures, tear down state, or pass structured outputs back into the active test run.
- Open source, reviewable QA: The harness is open source, and tests, configs, hooks, memory, and suite logic all live as version-controlled code, so every change can be diffed, reviewed, reused, and shared across teams.
- Bring your own LLM: Run tests with the model of your choice via OpenAI- and Anthropic-compatible endpoints, Gemini, local or open-source models, and subscriptions like Codex and Claude Code.
Quickstart
Install the package:
npm install -D agent-qa
For Codex or Claude Code subscription auth, also install:
npm install -D @vostride/agent-qa-subscription-auth
Install Docker before using hooks. agent-qa runs hooks in a sandboxed runtime, and Docker is required for the Node, Bun, Python, and Bash hook containers.
Initialize agent-qa and install the runtime support you need:
npx agent-qa init
npx agent-qa install-browsers --chromium
# Mobile projects:
npx agent-qa install-mobile-drivers --all
Start the dashboard, complete auth, and run tests from the UI:
npx agent-qa dashboard --open
For the full setup flow, use the quickstart.
CLI
Run tests from the CLI:
npx agent-qa run tests/hacker-news-top-story.yaml
Docs
Files in the repo
- .github
- demo-project
- docker
- docs
- packages
- scripts
- skills
- .dockerignore
- .gitignore
- .nvmrc
- .prettierrc
- AGENTS.md
- glama.json
- knip.json
- LICENSE.md
- NOTICE.md
- package.json
- pnpm-lock.yaml
- pnpm-workspace.yaml
- README.md
- tsconfig.base.json
- turbo.json
Discussion (0)
Ask about usage, or say what you built with itSign in to join the discussion.
No comments yet. Be the first to say what this is good for.
More harnesses
from vibe coding to agentic engineering - practice makes claude perfect
🌊 The original agent meta-harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, RAG integration, and native Claude Code / Codex / Hermes and many more Integrated
Practical patterns, starters & CLI tools for loop engineering with AI coding agents. Design systems that prompt and orchestrate agents (inspired by Addy Osmani and Boris Cherny). Includes loop-audit, loop-init, loop-cost.
Git. Ship. Done - Core

The most RAM efficient harness