> For the complete documentation index, see [llms.txt](https://docs.testvibe.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.testvibe.com/skills/manage-skills.md).

# Manage Plugins

The Plugins view shows a searchable catalog on the left — with category filters and an Installed shortcut — and plugin cards on the right. Each card shows the publisher, version, download count, a short description, and an install or installed state.

## Install Or Remove A Plugin

1. Select **Plugins** from the navigation rail.
2. Search or pick a category to find the plugin.
3. Select **Install** on the card. Installed plugins show an **Installed** badge; select it to remove or update.

Once installed, the plugin's steps are available in every feature — write them in Gherkin like any other step.

{% hint style="info" %}
Installing (or removing) a plugin **persists** immediately for the project — it stays installed after you navigate away, reload the page, or come back later, and every teammate on the project sees the same state. If a card ever looks wrong right after a toggle, use the catalog's **Retry** option to refresh from the server rather than assuming the toggle didn't save.
{% endhint %}

## Configure Required Values

Plugins that need secrets or variables list them in a **Requires** section in the plugin's detail modal. Each requirement shows a **Set** or **Not set** badge, and the header counts how many are still missing.

You can fill a value **inline** — type it into the requirement's field and it saves to the project's Variables & Secrets (secret values are write-only). Or select **Manage** / **Settings → Variables & Secrets** to set them on the dedicated panel. Reference them from steps with `{{secret:NAME}}` and `{{var:NAME}}`.

## Visual Comparison Plugins: Visual Regression And TestVibe Assistant

Two catalog plugins compare screenshots against a saved baseline, but they check different things. You can install and use either or both in the same project.

|                          | Visual Regression                                                                                                                                   | TestVibe Assistant                                                                                                                    |
| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| How it compares          | Pixel-diff — an exact, deterministic pixel comparison against the baseline image.                                                                   | AI vision — your project's AI model looks at the live screenshot and the baseline and judges whether they match the described intent. |
| Best for                 | Catching any unintended visual change, down to the pixel.                                                                                           | Comparisons that should tolerate minor rendering noise (fonts, dates, dynamic content) but still catch a meaningfully different page. |
| Where the baseline lives | Your project's **Asset Library**, under the reserved `visual-baselines/` folder — it shows up as a normal asset in **Settings → Project → Assets**. | Any image you've stored in the **Asset Library**, referenced from the step.                                                           |
| Cost                     | No AI usage — pixel comparison only.                                                                                                                | Metered like other AI calls (AI tokens).                                                                                              |

**How Visual Regression establishes and checks a baseline:**

1. The first time a step compares a named snapshot, there is no baseline yet — TestVibe saves that screenshot as the baseline in the Asset Library and passes.
2. On every later run, the step downloads the saved baseline and pixel-diffs it against the current screenshot.
3. If the difference is within threshold, the step passes silently — a green run's evidence never includes a diff image.
4. If the difference exceeds the threshold, the step fails and TestVibe writes **expected**, **actual**, and **diff** images to that step's artifacts, so you can see exactly what changed.

**Accepting a new look on purpose:** there's no separate "approve" button. Delete the baseline asset under `visual-baselines/` in **Settings → Project → Assets**, then run again — the next run re-establishes a fresh baseline from the current page.

**TestVibe Assistant's `compare_screenshots`** works the same way from the Gherkin author's side — reference a baseline asset and a threshold — but instead of a pixel diff, it sends both images to your configured AI model and returns a pass/fail judgment plus a written summary of what differs. Use it when small, expected rendering differences would otherwise cause false failures in a strict pixel diff.

## Tips

* Install only what the project uses — every installed plugin's keywords show up in authoring suggestions.
* When a plugin step fails with a missing-value error, check **Settings → Variables & Secrets** first.
* Use **Publish plugin** (the upload button in the rail) to share internal helpers with your team.

## Related Help

* [Plugins](/skills.md)
* [Add API keys and secrets](/workspace/add-api-keys-and-secrets.md)
* [Write good test instructions](/create-tests/write-good-test-instructions.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.testvibe.com/skills/manage-skills.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
