Skip to content
Back to skills

Cursor Agents

ASecurity

Control and inspect Cursor Cloud Agents through the official Cursor Agents API. Use this when users ask for Cursor Agents, webcursor, cursor.com/agents control, Cursor Cloud Agent runs, Cursor agent usage, or Cursor agent API checks.

  • 6 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 11, 2026
developmentjavascriptpythonjavabashapisecurity

Works with

  • cursor
  • api

Security analysis

A100/100

Pro scans all 9 files and shows the line behind each finding

Scanned September 11, 2026

npx -y skills add grahama1970/agent-skills --skill cursor-agents --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Cursor Agents?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Cursor Agents
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/grahama1970-cursor-agents/badge)](https://www.skillsdirectory.com/skills/grahama1970-cursor-agents)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: cursor-agents
description: >
  Control and inspect Cursor Cloud Agents through the official Cursor Agents API.
  Use this when users ask for Cursor Agents, webcursor, cursor.com/agents control,
  Cursor Cloud Agent runs, Cursor agent usage, or Cursor agent API checks.
triggers:
  - cursor agents api
  - cursor cloud agents
  - webcursor
  - cursor.com/agents control
  - inspect cursor agent runs
  - cursor agent usage
provides:
  - cursor-agents-api-control
  - cursor-agent-run-inspection
  - cursor-agent-usage-inspection
composes:
  - agentic-evals
complies:
  - best-practices-skills
  - best-practices-python
  - best-practices-security
taxonomy:
  - automation
  - external-api
  - verification
runtime_self_improvement: none
disciplines:
  - agentic-orchestration
  - developer-tooling
---

# Cursor Agents

Use this skill to control Cursor Cloud Agents through Cursor's documented REST
API at `https://api.cursor.com/v1`. Do not use `$surf`, `$browser-oracle`, or
`$ask cursor-browser` as the primary control path for `https://cursor.com/agents`.
Those browser paths are for visual inspection or Cursor's embedded ChatGPT
Browser view IDs, not for reliable Cursor Cloud Agent lifecycle control.

## Authentication

Set one of these environment variables:

```bash
export CURSOR_API_KEY=...
```

Fallback names are also accepted for local compatibility:

```bash
export CURSOR_AGENTS_API_KEY=...
export CURSOR_SERVICE_ACCOUNT_API_KEY=...
```

The API key is never printed by this skill. Requests default to HTTP Basic auth
with the key as the username and an empty password, matching Cursor's examples.
Use `--auth bearer` only when calling an endpoint that explicitly requires a
Bearer service account token.

## Commands

```bash
# Credential and models endpoint check.
./run.sh doctor --receipt /tmp/cursor-agents-doctor.json

# List supported models.
./run.sh models --json --receipt /tmp/cursor-agents-models.json

# Inspect an agent.
./run.sh agent <agent-id> --json

# Inspect recent runs for an agent.
./run.sh runs <agent-id> --limit 20 --json

# Inspect usage for an agent or one run.
./run.sh usage <agent-id> --run-id <run-id> --json

# Escape hatch for documented endpoints not yet wrapped.
./run.sh raw GET /v1/models --json
```

Mutating raw requests (`POST`, `PATCH`, `PUT`, `DELETE`) require `--yes`.
Agents must not create or mutate Cursor agents unless the human explicitly
authorizes the side effect.

## Receipts

Every command accepts `--receipt <path>`. Receipts include:

- schema version
- command
- endpoint path
- auth mode
- HTTP status
- response JSON when available
- bounded error details on failure

Receipts intentionally omit API keys and authorization headers.

## Browser UI Boundary

`https://cursor.com/agents` in Chrome can be useful for visual inspection with
Surf screenshots or JavaScript reads, but it is not the operational control
contract. If a user gives a Chrome tab id for that page, first confirm the tab
is live for inspection, then use this API skill for agent creation, polling,
runs, and usage.

`$ask cursor-browser` is a different integration: it controls Cursor's embedded
Browser pane through a local bridge and requires a `viewId`, not a Chrome tab id.

## Verification

```bash
./sanity.sh
```

This runs deterministic local HTTP-contract tests. It does not prove live Cursor
API availability.

```bash
./sanity-live.sh
```

This performs a non-mutating live `GET /v1/models` check and writes a receipt
under `/tmp`. It requires `CURSOR_API_KEY`.

Files in this skill

  • SKILL.md3.4 KB
  • fixtures/agentic_eval.json491 B
  • proofs/cursor-agents-api-live-20260728T114736Z.json2.6 KB
  • pyproject.toml267 B
  • run.sh256 B
  • sanity-live.sh710 B
  • sanity.sh143 B
  • scripts/cursor_agents_api.py10.8 KB
  • tests/test_cursor_agents_api.py4.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.