Skyvern is a free, open source automation project written in Python and released under AGPL-3.0. It has 23,020 GitHub stars, 2,165 forks and 234 open issues, and was last pushed 3 hours ago. On this registry it ranks #7 of 54 tracked projects in Automation, with 5 head-to-head comparisons available. It gained 38 stars over the last 6 tracked days.

Skyvern — Automate any website workflow with AI and computer vision

What is Skyvern?

What it is

Skyvern is an open-source Python project for automating browser-based workflows with LLMs and computer vision. It lives in the browser automation and AI agent ecosystem, and it provides a Playwright-compatible SDK that adds AI functionality on top of Playwright. The project also includes a no-code workflow builder, so technical users can work through code while non-technical users can define tasks through the interface.

The concrete problem Skyvern addresses is the fragility of traditional website automation. Custom scripts often rely on DOM parsing and XPath interactions, and those interactions can break whenever a website layout changes. Skyvern instead uses Vision LLMs to learn and interact with websites, which lets it operate on unseen sites and apply one workflow to many websites without pre-determined selectors.

Key capabilities

  • Skyvern automates browser-based workflows using LLMs and computer vision instead of relying only on DOM parsing and XPath interactions.
  • The project provides a Playwright-compatible SDK that adds AI functionality on top of Playwright for Python browser automation.
  • The no-code workflow builder helps technical and non-technical users automate manual website tasks.
  • Skyvern uses a swarm of agents to comprehend a website, plan actions, and execute interactions through browser automation libraries.
  • It operates on unseen websites by mapping visual elements to actions required to complete a workflow without customized code.
  • Skyvern Cloud offers parallel instances, anti-bot detection mechanisms, a proxy network, and CAPTCHA solvers.

Who uses it and how

  • Developers use the Python SDK to build or extend browser automation workflows while keeping compatibility with Playwright.
  • Non-technical users use the no-code workflow builder to automate manual website tasks without custom XPath scripts.
  • Teams self-host the user interface and server locally by installing the package with pip and running quickstart.
  • Container users deploy the Postgres database, API, and UI together with Docker Compose after configuring an LLM provider.

Getting started

Typical local installation is pip install "skyvern[all]" followed by skyvern quickstart, with SQLite used by default at ~/.skyvern/data.db. Users can also clone the repository, configure an LLM provider in .env, and start the Docker Compose stack, or use Skyvern Cloud at app.skyvern.com.

When to use it — and when not to

Use Skyvern when browser workflows depend on changing layouts, visual cues, or repeated interactions across many websites, and when brittle XPath-based automation is the main problem. Avoid it when you require a long-established project with a large maintainer base, because the facts list a repository age of 0 years and 0 contributors, and self-hosting requires managing a database, an LLM API key, and a browser automation environment. Skyvern Cloud reduces infrastructure burden, but the project has 234 open issues and is described as replacing brittle or unreliable automation solutions rather than a specific paid product.

project readme (upstream, from github) — read inline


🐉 Automate Browser-based workflows using LLMs and Computer Vision 🐉

Skyvern automates browser-based workflows using LLMs and computer vision. It provides a Playwright-compatible SDK that adds AI functionality on top of playwright, as well as a no-code workflow builder to help both technical and non-technical users automate manual workflows on any website, replacing brittle or unreliable automation solutions.

Traditional approaches to browser automations required writing custom scripts for websites, often relying on DOM parsing and XPath-based interactions which would break whenever the website layouts changed.

Instead of only relying on code-defined XPath interactions, Skyvern relies on Vision LLMs to learn and interact with the websites.

How it works

Skyvern was inspired by the Task-Driven autonomous agent design popularized by BabyAGI and AutoGPT -- with one major bonus: we give Skyvern the ability to interact with websites using browser automation libraries like Playwright.

Skyvern uses a swarm of agents to comprehend a website, and plan and execute its actions:

This approach has a few advantages:

  1. Skyvern can operate on websites it's never seen before, as it's able to map visual elements to actions necessary to complete a workflow, without any customized code
  2. Skyvern is resistant to website layout changes, as there are no pre-determined XPaths or other selectors our system is looking for while trying to navigate
  3. Skyvern is able to take a single workflow and apply it to a large number of websites, as it's able to reason through the interactions necessary to complete the workflow A detailed technical report can be found here.

Demo

https://github.com/user-attachments/assets/5cab4668-e8e2-4982-8551-aab05ff73a7f

Quickstart

Skyvern Cloud

Skyvern Cloud is a managed cloud version of Skyvern that allows you to run Skyvern without worrying about the infrastructure. It allows you to run multiple Skyvern instances in parallel and comes bundled with anti-bot detection mechanisms, proxy network, and CAPTCHA solvers.

If you'd like to try it out, navigate to app.skyvern.com and create an account.

Run Locally (UI + Server)

Choose your preferred setup method:

Database default: skyvern quickstart and skyvern run server default to a SQLite database at ~/.skyvern/data.db so the pip path works without Postgres or Docker. To use Postgres instead, pass --database-string for an existing database (or omit --no-postgres so quickstart starts its own Postgres container). Docker Compose always uses the bundled Postgres service.

Option A: pip install (Recommended for Python-managed local setup)

Dependencies needed:

Additionally, for Windows:

  • Rust
  • VS Code with C++ dev tools and Windows SDK
1. Install Skyvern
pip install "skyvern[all]"
2. Run Skyvern
skyvern quickstart

The pip quickstart uses SQLite by default. To use a local Postgres container instead, run skyvern quickstart (Postgres container is started unless you pass --no-postgres), or connect to an existing database with --database-string=postgresql+psycopg://user:pass@host:5432/dbname.

Option B: Docker Compose

Use this option if you want everything containerized (Postgres, API, UI) and don't want to install Python/Node locally.

  1. Install Docker Desktop
  2. Clone the repository:
    git clone https://github.com/skyvern-ai/skyvern.git && cd skyvern
    
  3. Configure your LLM provider in .env (the quickstart --docker-compose command below will create it from .env.example if missing):
    cp .env.example .env  # if not already created
    # edit .env to add your LLM API key
    
  4. Start everything:
    docker compose up -d
    
  5. Open http://localhost:8080

Troubleshooting

(sqlite3.OperationalError) table organizations already exists — You hit a known bug in pip install skyvern==1.0.31. Fix:

rm ~/.skyvern/data.db   # remove the leftover SQLite file
pip install --upgrade skyvern   # 1.0.32+ contains the fix
skyvern quickstart

If you are still on 1.0.31 and cannot upgrade, install via uv instead:

uv pip install skyvern

pip install skyvern fails with ResolutionImpossible (litellm / fastmcp) — You hit a dependency-resolution conflict in 1.0.31. Either upgrade to 1.0.32+ or use uv: uv pip install skyvern.

SDK

Skyvern is a Playwright extension that adds AI-powered browser automation. It gives you the full power of Playwright with additional AI capabilities—use natural language prompts to interact with elements, extract data, and automate complex multi-step workflows.

Installation:

  • Python SDK / cloud API: pip install skyvern
  • Local server + packaged UI: pip install "skyvern[all]" then run skyvern quickstart
  • Local server + packaged UI with Postgres: pip install "skyvern[all]" then run skyvern quickstart --database-string=postgresql+psycopg://user:pass@host:5432/dbname
  • Packaged UI for an existing API: pip install "skyvern[ui]" then set VITE_API_BASE_URL (and VITE_SKYVERN_API_KEY if your API requires a key) and run skyvern run ui
  • TypeScript: npm install @skyvern/client

AI-Powered Page Commands

Skyvern adds four core AI commands directly on the page object:

Command Description
page.act(prompt) Perform actions using natural language (e.g., "Click the login button")
page.extract(prompt, schema) Extract structured data from the page with optional JSON schema
page.validate(prompt) Validate page state, returns bool (e.g., "Check if user is logged in")
page.prompt(prompt, schema) Send arbitrary prompts to the LLM with optional response schema

Additionally, page.agent provides higher-level workflow commands:

Command Description
page.agent.run_task(prompt) Execute complex multi-step tasks
page.agent.login(credential_type, credential_id) Authenticate with stored credentials (Skyvern, Bitwarden, 1Password)
page.agent.download_files(prompt) Navigate and download files
page.agent.run_workflow(workflow_id) Execute pre-built workflows

AI-Augmented Playwright Actions

All standard Playwright actions support an optional prompt parameter for AI-powered element location:

Action Playwright AI-Augmented
Click page.click("#btn") page.click(prompt="Click login button")
Fill page.fill("#email", "[email protected]") page.fill(prompt="Email field", value="[email protected]")
Select page.select_option("#country", "US") page.select_option(prompt="Country dropdown", value="US")
Upload page.upload_file("#file", "doc.pdf") page.upload_file(prompt="Upload area", files="doc.pdf")

**Th

readme truncated — read the full docs on github

Frequently asked questions

Is Skyvern free to use?

Skyvern is open source under the AGPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Skyvern do?

Automate any website workflow with AI and computer vision

What is Skyvern written in?

Skyvern is primarily written in Python. Its source is publicly available at https://github.com/skyvern-ai/skyvern, and it has 23,020 GitHub stars.