CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

sdk

Guide users building apps, scripts, CI pipelines, or automations on top of the Cursor SDK - TypeScript (`@cursor/sdk`) or Python (`cursor-sdk` / `cursor_sdk`). Use when the user mentions integrating, installing, or writing code against the Cursor SDK; says `Agent.create`, `Agent.prompt`, `Agent.resume`, `agent.send`, `run.stream`, `run.messages`, `CursorAgentError`, `@cursor/sdk`, `cursor-sdk`, or `cursor_sdk`; asks to run Cursor agents programmatically from a script, CI/CD pipeline, GitHub Action, backend service, or other code outside the Cursor IDE; wants to pick between local and cloud runtime, configure MCP servers for an SDK agent, or handle streaming, cancellation, or errors; or is wiring Cursor into an automation, bot, or REST `/v1/agents` migration. Use eagerly rather than answering from memory; the SDK surface evolves and this skill is the source of truth for the external packages.

Quality

90%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

81%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A strong, highly actionable body: dual-language copy-paste code for all three invocation patterns, a genuine traps section with error-recovery feedback loops, and a production checklist. The main costs are token duplication between the Traps and Production Best Practices sections and the absence of any bundle files to offload the per-language example bulk.

Suggestions

Deduplicate guidance repeated between "Top Five Traps" and "Production Best Practices" (disposal, startup-vs-run failure distinction) — cover each once and cross-reference it from the checklist.

Consolidate the twice-stated note that inline MCP servers are not persisted across resume (Trap section and MCP Servers section) into a single location.

Trim the "Voice and Posture" section's avoid/prefer opener lists to a couple of illustrative examples, or move the full list to a references file.

DimensionReasoningScore

Conciseness

The body explains no background concepts Claude already knows, but carries real duplication: disposal is covered in Trap 3 and restated as Production Best Practice 1, the startup-vs-run-failure distinction is fully coded in Trap 2 and repeated as Best Practice 2, and the "inline MCP servers are not persisted across resume" note appears twice (lines 182 and 325). The ~20-line "Voice and Posture" opener-coaching list could also be tightened, making this more than the "minor instances" of anchor 4 but mostly efficient overall.

3 / 5

Actionability

Every invocation pattern ships complete, copy-paste-ready code in both TypeScript and Python (one-shot `Agent.prompt`, `Agent.create` + `agent.send` with streaming loops, `Agent.resume`, full error handling with exit codes, `Cursor.models.list()`, `Agent.get`/`getRun` inspection), with specific option names like `skipReviewerRequest: true` and `autoCreatePR: true` covering the common cases. No pseudocode or gaps.

5 / 5

Workflow Clarity

"Pick the language" is an explicitly ordered 1-2-3 decision procedure with an ask-and-wait checkpoint, error handling includes feedback loops (honor `isRetryable` / `retry_after` before exponential backoff), and "Production Best Practices" is an explicit 8-item checklist — matching the top anchor's sequence, recovery loops, and checklists. `supports(...)` guards and exit-code conventions close the checkpoint gaps that would justify anchor 4.

5 / 5

Progressive Disclosure

Section structure is clean and the skill correctly defers full reference to the canonical docs, but no bundle files exist and all per-language code examples are inlined in a ~380-line body; some example bulk could live in `references/` files with clearly signaled links. Good structure with minor organization gaps fits anchor 4 rather than anchor 5, which requires well-signaled one-level-deep references.

4 / 5

Total

17

/

20

Passed

Description

95%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

An excellent description: explicit what-and-when structure, exhaustive natural trigger terms including package-name synonyms and exact API symbols, and a clearly distinct niche. The only weakness is that the leading capability statement ("Guide users building...") is slightly more generic than the rest of the enumeration.

DimensionReasoningScore

Specificity

The description lists several concrete capability areas ("building apps, scripts, CI pipelines, or automations", "pick between local and cloud runtime, configure MCP servers", "handle streaming, cancellation, or errors") plus both package variants, but the umbrella verb "Guide users building" is more generic than the fully atomic action enumeration of the top anchor.

4 / 5

Completeness

It explicitly answers both questions: the "what" ("Guide users building apps, scripts, CI pipelines, or automations on top of the Cursor SDK - TypeScript or Python") and an extended, concrete "when" built from multiple "Use when the user mentions... / asks to... / wants to... / or is wiring..." clauses with specific trigger phrases, all in third-person voice.

5 / 5

Trigger Term Quality

Trigger coverage is comprehensive: all package-name synonyms (`@cursor/sdk`, `cursor-sdk`, `cursor_sdk`), exact API identifiers users would paste (`Agent.create`, `Agent.prompt`, `Agent.resume`, `agent.send`, `run.stream`, `CursorAgentError`), and natural scenario phrases like "CI/CD pipeline, GitHub Action, backend service". No common variant is missing, so the anchor-4 "a few natural terms missing" fit is ruled out.

5 / 5

Distinctiveness Conflict Risk

Triggers are product-specific ("Cursor SDK", `@cursor/sdk`, `Agent.create`, `/v1/agents`), carving out a clear niche with essentially no overlap risk against other skills; even minor conflict risk is hard to identify.

5 / 5

Total

19

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

saski/arnesto

Path

.cursor/skills-cursor/sdk/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.