# Diff QA Testing

Tests code changes from the git diff and reports pass or fail with evidence.

- Repository: https://github.com/Skyvern-AI/skyvern (23329 stars)
- Category: Testing
- License: AGPL-3.0
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

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

## Description

QA test your code changes by reading your git diff, choosing the right validation path for frontend/browser and backend changes, and reporting pass/fail with evidence.

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

# QA, Validate Frontend and Backend Changes

Read the diff, classify what changed, and run the right validation path: browser QA for frontend/browser changes, API validation for backend surface changes, repo-native validation for backend-internal changes, and both for mixed changes.

<!-- NOTE: .agents/skills/qa/SKILL.md is the repository canonical source.
     Keep both synchronized copies in sync with it:
     1. skyvern/cli/skills/qa/SKILL.md  (bundled with the pip package)
     2. skyvern/cli/mcp_tools/prompts.py (QA_TEST_CONTENT for the MCP prompt) -->

You changed code. This skill is diff-driven first: it reads what changed, understands the
affected behavior, and validates that behavior with the right tools. It is not a generic
website crawler, and it should not invent random API checks that are unrelated to the diff.

## Quick Start

```text
/qa                              # Diff-based: choose the right validation path automatically
/qa http://localhost:3000        # Same, explicit frontend URL
/qa -- validate the workflow filters API
```

## How It Works

1. Read the code changes from `git diff`
2. Read the changed files to understand behavior, routes, schemas, and UI
3. Classify the diff as `frontend/browser`, `backend API`, `backend-internal`, or `mixed`
4. Run the right validation flow
5. Report pass/fail with concrete evidence

## Step 1: Understand the Changes

### Get the diff

```bash
# What files changed?
git diff --name-only HEAD~1     # vs last commit (if changes are committed)
git diff --name-only            # vs working tree (if uncommitted)

# Full diff for context
git diff HEAD~1                 # or git diff for uncommitted
```

Pick whichever diff has content. If both are empty, there is nothing diff-driven to QA.

### Read the changed files

Read the full contents of every changed file that affects behavior:

The rest: https://github.com/Skyvern-AI/skyvern/blob/HEAD/skyvern/cli/skills/qa/SKILL.md
