# Testing

Verify a Skyvern deployment is working correctly by smoke-testing the backend API...

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

## Install

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

## Description

Verify a Skyvern deployment is working correctly by smoke-testing the backend API, frontend rendering, browser session provisioning, and workflow execution. Use when the user says 'is Skyvern working', 'test my deployment', 'verify the installation', 'smoke test', or needs to check that a self-hosted or local Skyvern instance is healthy.

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

# Testing

Smoke-test a Skyvern deployment to verify the backend API responds, the frontend renders
correctly, browser sessions can be provisioned, and workflows can execute end to end.

## Checks

Run these three checks sequentially. Stop on the first failure, later checks depend on
earlier ones passing.

### 1. Backend API Health + Frontend Renders

Verify the API server is reachable and the frontend renders correctly.

```
skyvern_browser_session_create(timeout=5)
skyvern_navigate(url="{{base_url}}")
skyvern_evaluate(expression="fetch('/api/v1/workflows?page=1&page_size=1', {credentials: 'include'}).then(r => ({status: r.status, ok: r.ok, reachable: r.status > 0})).catch(e => ({status: 0, ok: false, reachable: false, error: e.message}))")
```

**Pass**: fetch returns a response (any HTTP status confirms the backend is reachable).
A 2xx means fully healthy; 401/403 means the backend is running but requires authentication.
Only `status: 0` or a network error means the backend is actually down.

In extension mode, `skyvern_evaluate` is unavailable, so use these commands after you create the browser session:

```
skyvern_navigate(url="{{base_url}}/api/v1/workflows?page=1&page_size=1")
skyvern_network_requests(url_pattern="/api/v1/workflows", resource_type="document")
```

**Pass**: Read the document response's `status`; any HTTP status confirms the backend is reachable.
A 2xx means fully healthy; 401 or 403 means the backend is running but requires authentication.
No captured response means the backend is down.

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