# Cursor

> Use Cursor through iii as a login-backed text provider or as a direct coding agent with durable local and cloud sessions.

- Skill: `iii-hq/cursor` (Agent Skill)
- Install (CLI): `npx skillmds@latest add iii-hq/cursor`
- Raw SKILL.md: https://api.skillmd.com/api/skills/iii-hq/cursor/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: iii-hq (https://skillmd.com/u/iii-hq)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/iii-hq/cursor

---


# Cursor worker

Use this worker when a task should be handled by a Cursor coding agent. Local execution defaults to the official Cursor Agent CLI ACP and reuses credentials created by `cursor-agent login`; it does not require `CURSOR_API_KEY` or the SDK Bridge. Use the official CLI's absolute path when an installation exposes it only as `agent`.

- Select a `cursor/*` model in LLM Router for text-only chat through the normal Cursor login. The provider does not advertise router tools, vision, structured output, usage, or cost because Cursor ACP does not expose those raw-model contracts.

- Call `cursor::run` for a blocking turn. `run::start_and_wait` is its standard alias.
- Call `cursor::start`, subscribe to `agent::events` with the returned session ID as `group_id`, and call `cursor::stop` when asynchronous lifecycle control is needed.
- Reuse `session_id` for follow-up turns. Local sessions must keep their original `cwd`; sdk-bridge sessions must also keep their original tool list.
- Call `cursor::status` or `cursor::sessions::list` for durable lifecycle discovery.
- Call `cursor::auth::status` to check login availability without returning account details or credentials.
- Call `cursor::models::list` instead of guessing account-scoped model IDs. Login-backed results contain only ACP-compatible IDs and expose ACP `default` as `auto`; `cursor-agent --list-models` also contains CLI-only IDs that ACP rejects. Pass `{ "backend": "sdk-bridge" }` for the cloud/API-key catalog.
- Call `cursor::usage` only for cloud agents. Treat missing usage or cost as unreported, never as zero.

Login-backed local execution stays in Cursor's `ask` mode and cancels every permission request. Cursor ACP cannot enforce a per-request tool list, so omit `tools`; any explicit value is rejected. Cloud runs require the separately installed SDK Bridge and `CURSOR_API_KEY`, and default to neither working on the current branch nor creating a pull request.

The LLM Router provider functions are internal and denied to agents; use `router::chat` or `router::complete` through a selected `cursor/*` model. Read-only status, session, auth, and model discovery are allowed by the default policy; direct run, start, stop, and usage stay approval-gated.

