# Replay MCP Tool QA

Replays scripted MCP tool calls on an isolated server and checks the rendered cards.

- Repository: https://github.com/Waishnav/devspace (5358 stars)
- Category: Testing
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add Waishnav/devspace --skill replay-qa -g -a claude-code -y`
Codex: `npx skills add Waishnav/devspace --skill replay-qa -g -a codex -y`
Cursor: `npx skills add Waishnav/devspace --skill replay-qa -g -a cursor -y`
Gemini CLI: `npx skills add Waishnav/devspace --skill replay-qa -g -a gemini-cli -y`

## Description

Replay scripted MCP tool calls against an isolated DevSpace server and inspect the rendered cards in a real MCP Apps host with agent-browser. Use to verify a change, reproduce an issue, review a PR's UI or tool behavior, or QA any checkout without manual testing.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Replay QA

`pnpm qa` replays scenario tool calls against a fresh DevSpace server, renders every card in a local MCP Apps host, and captures evidence with agent-browser.

Each run is isolated: its own `HOME`, config, SQLite state, worktree root, allowed root, and Git fixture under `.devspace-dev/qa/runs/<timestamp>/<scenario>/`. Ports are allocated dynamically, so runs never replace an existing process.

## Run

```bash
pnpm qa --list                       # scenarios and descriptions
pnpm qa                              # every scenario
pnpm qa codex-edit-review            # one scenario
pnpm qa --theme dark codex-edit-review
pnpm qa --bare-host codex-edit-review   # host sends a theme but no style variables
pnpm qa --checkout ../other-worktree    # QA another checkout with this harness
pnpm qa --no-build ...                  # skip `pnpm build:app` in the target checkout
```

The exit code is non-zero when a step fails its expectations, a card does not initialize or render, or the page reports errors.

Each run directory contains:

- `report.md`: pass/fail per step, card state and height, failures, and screenshot paths. Read this first.
- `transcript.json`: the tool list, every request and response, UI resources, and calls the cards made back to the server.
- `server.log`: the DevSpace server's JSON log.
- `artifacts/`: a full-page screenshot, one screenshot per card, an accessibility snapshot, the browser console, and `errors.json`.

Look at the screenshots before reporting UI behavior. A passing report means that cards rendered, not that they look right.

## Interact with cards

The rest: https://github.com/Waishnav/devspace/blob/HEAD/.agents/skills/replay-qa/SKILL.md
