# Set Up potato-skill in Cursor

Source: https://www.potatoannotator.com/docs/getting-started/potato-skill-cursor

**Cursor loads skills from `.agents/skills/` in your project, and `npx skills add davidjurgens/potato-skill --agent cursor` copies potato-skill there. Typing `/potato-skill` in Agent chat attaches the skill to a message.** [Quick Start with a Coding Agent](/docs/getting-started/quick-start-with-a-coding-agent) covers what the skill does with a study, and [Install potato-skill in Your Coding Agent](/docs/getting-started/install-potato-skill) covers the other agents.

## Before you install

Potato goes in the Python environment that Cursor's terminal uses. The skill's helper scripts import Potato's registries and call the `potato` command, and the skill's first step checks that Potato imports. The browser extra and Chromium let `potato preview --screenshot` and the skill's walk-through script open the task in a headless browser:

```bash
pip install 'potato-annotation[preview]'
playwright install chromium
```

The `skills` CLI runs through `npx` and needs Node.js 22.20 or later.

## Installing the skill

Run the install in your project folder:

```bash
npx skills add davidjurgens/potato-skill --agent cursor
```

The command copies `SKILL.md`, the 30 reference files, and the nine helper scripts into `.agents/skills/potato-skill/`, and records the source in `skills-lock.json` at the project root. [Cursor loads skills](https://cursor.com/docs/skills) from `.agents/skills/` and `.cursor/skills/` automatically. Committing `.agents/skills/` gives collaborators who open the repository in Cursor the same skill.

Add `-g` to install the skill for every project on the machine instead:

```bash
npx skills add davidjurgens/potato-skill --agent cursor -g
```

A global install goes to `~/.agents/skills/potato-skill/`, a user-level folder Cursor also reads. Cursor reads `.claude/skills/` as well. A project with potato-skill in `.claude/skills/` needs no second copy for Cursor.

## Checking the install

Open **Customize** in Cursor's sidebar and go to **Skills**, where potato-skill appears in the list. potato-skill has no connection to the `poteto-mode` skill in Lauren Tan's [pstack plugin for Cursor](https://github.com/cursor/plugins/tree/main/pstack).

## Starting a study

Typing `/potato-skill` in Agent chat attaches the skill to one message:

```text
/potato-skill I want 200 tweets labeled for sentiment on a 5-point scale by three annotators each, with a consent page and two attention checks. Build it and start it.
```

Cursor also loads the skill without the command when a request matches the skill's description, such as a request to build an annotation task, edit a Potato `config.yaml`, or check on a running study.

## Run modes and approvals

Cursor runs the agent's terminal commands under the run mode set in **Settings > Agents > Approvals & Execution**. The default mode, Auto-review, runs commands in a sandbox that blocks network access by default, and Cursor asks for approval when a command has to run outside the sandbox. The skill's checks start a Potato server on your machine and open the task in a headless browser. Read each command Cursor shows you before approving the command. Cursor's [run modes](https://cursor.com/docs/agent/run-modes) page documents the allowlist and the sandbox settings.

## Updating and removing the skill

The `skills` CLI updates and removes the skill by name. Add `-g` to either command for a global install:

```bash
npx skills update potato-skill
npx skills remove potato-skill
```

`update` checks the installed copy against the GitHub repository and replaces the copy when the repository has changed. `remove` deletes `.agents/skills/potato-skill/` and the skill's entry in `skills-lock.json`.

## Further reading

- [Quick Start with a Coding Agent](/docs/getting-started/quick-start-with-a-coding-agent)
- [Set Up potato-skill in Claude Code](/docs/getting-started/potato-skill-claude-code)
- [Set Up potato-skill in Codex](/docs/getting-started/potato-skill-codex)
- [Configs your coding agent can check](/docs/guides/configs-your-coding-agent-can-check)
