provider-cursor
Skill16 starsChanged 2 months agoMITView on GitHub
Track and maintain the upstream Cursor Agent CLI contract. Use when Cursor ships a CLI release, when a `cursor-agent` flag, execution mode, session command, ACP entrypoint, or subcommand changes, or when an upstream scan flags drift. Process guidance only: `src/upstream-contracts.ts` is the mechanical source of truth.
In this repository19 other files it gives its agents.
- site/agents.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- site/llms.txtllms.txt
- async-job-orchestrationSkill
- implement-review-fixSkill
- least-cost-routingSkill
- multi-llm-reviewSkill
- personal-agent-config-kitSkill
- provider-claudeSkill
- provider-codexSkill
- provider-devinSkill
- provider-geminiSkill
- provider-grokSkill
- provider-mistralSkill
- public-demo-sessionSkill
- retrospective-walkSkill
- secure-orchestrationSkill
- session-workflowSkill
- supply-chain-guardSkill
The file
We split this skill into the rules it gives an agent
9 rules. About 0 are common, 3 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 11
Keep the gateway's Cursor (cursor-agent) integration aligned with the upstream CLI.
- Very specific: line 41
Use cursor_request for normal work and cursor_request_async for long-running work.
- Distinctive: line 50
Keep provider-owned MCP configuration separate from gateway metadata.
- Very specific: line 68
Use a real resumable Cursor chat only when the response reports it as resumable.
- Very specific: line 86
Follow multi-llm-review's full-access protocol, inspect the current request schema and live capability response, and use a fresh …
- Distinctive: line 112
Add conformance fixtures that prove every new accept and reject behavior.
- Very specific: line 113
If a source URL or watch category changes, update TypeScript metadata first, then mirror it in docs/upstream/provider-sources.dag.toml.
- Very specific: line 115
Verify with npm run build, npm run upstream:contracts, and targeted provider tests before the full suite.
- Distinctive: line 124
Keep destructive or interactive commands, including worker startup and any session mutation, catalog-only unless an approval-gated product …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Provider: Cursor Agent CLI
Keep the gateway's Cursor (cursor-agent) integration aligned with the upstream
CLI. This skill does not define argv or environment behaviour. The single
mechanical source of truth is UPSTREAM_CLI_CONTRACTS.cursor in
src/upstream-contracts.ts, enforced by validateUpstreamCliArgs and
validateUpstreamCliEnv. Do not re-encode flags, execution modes, ACP rules,
or session rules here or in TOML.
Identity
| Field | Value |
| CliType | cursor |
| Executable | cursor-agent |
| Distribution | Cursor Agent vendor distribution |
| CLI docs | https://cursor.com/cli |
| ACP docs | https://cursor.com/docs/cli/acp |
| Parameter reference | https://cursor.com/docs/cli/reference/parameters |
| Watch categories | flags, subcommands, session-resume, execution-modes, acp-entrypoint |
These values mirror UPSTREAM_CLI_CONTRACTS.cursor.upstreamMetadata and
docs/upstream/provider-sources.dag.toml ([providers.cursor]). The TypeScript
metadata is authoritative; the TOML is scanner input only.
Gateway use
- Discover the live gateway surface before relying on Cursor-specific controls:
For a cached read-only resource, useprovider_tool_capabilities({cli:"cursor"})provider-tools://cursor. - Use
cursor_requestfor normal work andcursor_request_asyncfor long-running work. Sync calls may auto-defer; pollllm_job_statusand fetch withllm_job_resultwhen that happens. - Omit
modelunless the caller explicitly requests one. Use only controls reported byprovider_tool_capabilities, especially execution mode, sandbox, workspace, and session controls. Cursor must useapprovalStrategy:"legacy": it rejectsmcp_managedbefore launch because ambient MCP configuration cannot be isolated, andapprovalPolicyhas no effect. - Keep provider-owned MCP configuration separate from gateway metadata. Do not assume every Cursor CLI control is safe to expose through a request.
- Cursor accepts flat
promptonly, notpromptParts.workingDirselects the child process cwd ontransport:"cli", as it does for every other provider. It is CLI-only:transport:"acp"rejects it inrejectUnsupportedCursorAcpParamsalongsideaddDir, because the ACP route resolves its own scope and would otherwise discard it silently. Itsworkspacefield is separate and selects a local target directory, registered alias, or provider-native.code-workspacefile. A directory/alias establishes child cwd; a workspace file remains a native argument and is not misused asspawn.cwd. Because both inputs can name a cwd,resolveCursorWorkingDirrejects an absolute workspace path that disagrees withworkingDirinstead of ranking them; identical values are admitted. Verify the target before reviewing concurrent repositories. An unregistered relative value remains a provider-native saved-workspace name and is passed through verbatim, never resolved against the gateway process cwd. Use an absolute path when selecting an unregistered local directory as child cwd. - Use a real resumable Cursor chat only when the response reports it as
resumable. Gateway bookkeeping IDs are not automatically valid Cursor chat
IDs. Continuation remains provider-native under legacy. A cwd-scoped
resumeLatestneeds a stable selected target. - Native ACP is capability-gated. It rejects
approvalStrategy:"mcp_managed"and anyapprovalPolicy, as does the Cursor CLI gateway path. Probecursor-agent acp --helpwhen validating the installed entrypoint. - An unscoped CLI child uses a fresh neutral temporary cwd, not the gateway
repository. Cursor's argv-bound prompt rejects oversized UTF-8 input as
non-retryable
input_too_large; the gateway never truncates it. All other caller-controlled argv values are admitted in their final encoded form before spawn. Embedded NUL bytes return non-retryableinvalid_inputwithout exposing the rejected value.
Full-access review handoff
For a user-authorized exhaustive review that needs full provider permissions and
native MCP access, do not infer the launch controls from this maintenance guide.
Follow multi-llm-review's full-access protocol, inspect the current request
schema and live capability response, and use a fresh target-checkout
node dist/index.js --transport=stdio gateway rather than a global process.
Reapply the grant on every new job, preserve native MCP configuration without a
pretend gateway allowlist, send the corrective-program report and exact
diff/file identity, set no caller caps, and honor a user-required 90-second
progress cadence. The reviewer must independently inspect code, docs, tests,
and commands before it can approve.
Scan for upstream change
npm run upstream:scan -- --provider cursor
npm run upstream:scan -- --live --provider cursor --fail-on-critical
npm run upstream:scan -- --provider cursor --probe-installed --fail-on-critical
npm run upstream:scan -- --live --provider cursor --probe-installed --write-snapshot --write-reportA failed source fetch is advisory unless --fail-on-critical is passed. Use the
installed help probe as the primary signal for rapidly changing command surface.
Update procedure
- Edit
UPSTREAM_CLI_CONTRACTS.cursorinsrc/upstream-contracts.ts: flags, arities, enums, execution modes, session rules, ACP probe commands, and catalogued subcommands belong there. - Add conformance fixtures that prove every new accept and reject behavior.
- If a source URL or watch category changes, update TypeScript metadata first,
then mirror it in
docs/upstream/provider-sources.dag.toml. - Verify with
npm run build,npm run upstream:contracts, and targeted provider tests before the full suite.
Cursor-specific notes
- Tested against
cursor-agent 2026.09.02-c22c1a3. - Root commands include authentication, MCP, worker, update, chat/session, and rule-management surfaces. Catalog them with an explicit risk and exposure tier before exposing any of them through gateway admin or request tools.
- Keep destructive or interactive commands, including worker startup and any session mutation, catalog-only unless an approval-gated product surface is deliberately added.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

