@cursor/july 0.1.107 → 0.1.108
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -5
- package/dist/bin/agent-serve.js +30 -8
- package/dist/channels/github/github-channel.js +8 -5
- package/dist/channels/github/types.d.ts +5 -1
- package/dist/channels/github/types.d.ts.map +1 -1
- package/dist/channels/origin/origin-channel.d.ts.map +1 -1
- package/dist/channels/origin/origin-channel.js +27 -13
- package/dist/channels/origin/types.d.ts +5 -1
- package/dist/channels/origin/types.d.ts.map +1 -1
- package/dist/channels.d.ts +45 -0
- package/dist/channels.d.ts.map +1 -1
- package/dist/channels.js +106 -7
- package/dist/connections.d.ts +2 -1
- package/dist/connections.d.ts.map +1 -1
- package/dist/connections.js +2 -1
- package/dist/docs/404.html +2 -2
- package/dist/docs/ab.html +4 -4
- package/dist/docs/assets/{app.CtuckIiL.js → app.BASKM3M4.js} +1 -1
- package/dist/docs/assets/chunks/@localSearchIndexroot.BHZYsNVi.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.Bkkhnu8K.js → VPLocalSearchBox.BOKxlYGP.js} +1 -1
- package/dist/docs/assets/chunks/{theme.DhpIe0Pa.js → theme.DbDZW-zb.js} +2 -2
- package/dist/docs/assets/{deployment.md.MFPKqsqI.js → deployment.md.JenwuCCB.js} +4 -4
- package/dist/docs/assets/{deployment.md.MFPKqsqI.lean.js → deployment.md.JenwuCCB.lean.js} +1 -1
- package/dist/docs/assets/{evals.md.CbMoebP1.js → evals.md.C1ekS3k2.js} +1 -1
- package/dist/docs/assets/guides_cloud-agents.md.BsloyHdY.js +9 -0
- package/dist/docs/assets/{guides_cloud-agents.md.DS8RIjwx.lean.js → guides_cloud-agents.md.BsloyHdY.lean.js} +1 -1
- package/dist/docs/assets/{guides_github.md.c0gdGJ-D.js → guides_github.md.BH33UEBJ.js} +1 -1
- package/dist/docs/assets/{guides_grokbot-agents.md.DVqdhBKb.js → guides_grokbot-agents.md.DyV-WArv.js} +1 -1
- package/dist/docs/assets/guides_improve.md.BGVk32bK.js +14 -0
- package/dist/docs/assets/guides_improve.md.BGVk32bK.lean.js +1 -0
- package/dist/docs/assets/{guides_slack.md.9oHPye9o.js → guides_slack.md.D4RVMM4G.js} +3 -3
- package/dist/docs/assets/{guides_slack.md.9oHPye9o.lean.js → guides_slack.md.D4RVMM4G.lean.js} +1 -1
- package/dist/docs/assets/index.md.BjH1w2ZW.js +5 -0
- package/dist/docs/assets/{reference_agent-config.md.CHNpiyp4.js → reference_agent-config.md.CvoL6pof.js} +1 -1
- package/dist/docs/assets/{reference_cli.md.Dm67hd2D.js → reference_cli.md.Ca26u0Es.js} +6 -6
- package/dist/docs/assets/{reference_cli.md.Dm67hd2D.lean.js → reference_cli.md.Ca26u0Es.lean.js} +1 -1
- package/dist/docs/assets/{reference_connections.md.Di6jJAXF.js → reference_connections.md.BojkC6c5.js} +1 -1
- package/dist/docs/assets/{reference_extensions.md.CGmMLblt.js → reference_extensions.md.CPWt00ds.js} +1 -1
- package/dist/docs/assets/{scaffolding-agents.md.em43xlY1.js → scaffolding-agents.md.Kctn3OVb.js} +1 -1
- package/dist/docs/assets/{skills_create-agent.md.BVoWPcan.js → skills_create-agent.md.Q3h6Je-e.js} +1 -1
- package/dist/docs/assets/{skills_debug.md.CDbPhHfg.js → skills_debug.md.CVjCXMFF.js} +1 -1
- package/dist/docs/assets/{skills_debug.md.CDbPhHfg.lean.js → skills_debug.md.CVjCXMFF.lean.js} +1 -1
- package/dist/docs/assets/{skills_evals.md.723kpUmA.js → skills_evals.md.BhovOvrl.js} +1 -1
- package/dist/docs/assets/skills_framework-map.md.D-tFZhFS.js +1 -0
- package/dist/docs/assets/{skills_framework-map.md.haibFyoB.lean.js → skills_framework-map.md.D-tFZhFS.lean.js} +1 -1
- package/dist/docs/assets/{skills_github.md.D0JahM8c.js → skills_github.md.hgFX_oKY.js} +1 -1
- package/dist/docs/assets/troubleshooting.md.CYEAO9bM.js +1 -0
- package/dist/docs/building-with-agents.html +4 -4
- package/dist/docs/concepts.html +4 -4
- package/dist/docs/deployment.html +7 -7
- package/dist/docs/deployment.md +7 -2
- package/dist/docs/evals.html +6 -6
- package/dist/docs/evals.md +3 -2
- package/dist/docs/guides/agent-to-agent.html +4 -4
- package/dist/docs/guides/cloud-agents.html +6 -6
- package/dist/docs/guides/cloud-agents.md +4 -3
- package/dist/docs/guides/convert-automation.html +4 -4
- package/dist/docs/guides/github.html +5 -5
- package/dist/docs/guides/github.md +2 -1
- package/dist/docs/guides/grokbot-agents.html +6 -6
- package/dist/docs/guides/grokbot-agents.md +2 -2
- package/dist/docs/guides/human-in-the-loop.html +4 -4
- package/dist/docs/guides/improve.html +40 -0
- package/dist/docs/guides/improve.md +91 -0
- package/dist/docs/guides/mcp-oauth.html +4 -4
- package/dist/docs/guides/opentelemetry.html +5 -5
- package/dist/docs/guides/slack.html +6 -6
- package/dist/docs/guides/slack.md +2 -1
- package/dist/docs/guides/webhooks.html +4 -4
- package/dist/docs/hashmap.json +1 -1
- package/dist/docs/hillclimbing.html +4 -4
- package/dist/docs/index.html +6 -6
- package/dist/docs/index.md +4 -0
- package/dist/docs/llms-full.txt +158 -33
- package/dist/docs/llms.txt +1 -0
- package/dist/docs/quickstart.html +4 -4
- package/dist/docs/reference/agent-config.html +6 -6
- package/dist/docs/reference/agent-config.md +5 -2
- package/dist/docs/reference/artifacts.html +4 -4
- package/dist/docs/reference/channels.html +4 -4
- package/dist/docs/reference/cli.html +10 -10
- package/dist/docs/reference/cli.md +18 -11
- package/dist/docs/reference/connections.html +6 -6
- package/dist/docs/reference/connections.md +2 -1
- package/dist/docs/reference/extensions.html +6 -6
- package/dist/docs/reference/extensions.md +2 -0
- package/dist/docs/reference/hooks.html +4 -4
- package/dist/docs/reference/http-api.html +4 -4
- package/dist/docs/reference/instructions.html +4 -4
- package/dist/docs/reference/playground.html +4 -4
- package/dist/docs/reference/project-layout.html +4 -4
- package/dist/docs/reference/prompt.html +4 -4
- package/dist/docs/reference/result.html +4 -4
- package/dist/docs/reference/schedules.html +4 -4
- package/dist/docs/reference/sessions.html +4 -4
- package/dist/docs/reference/skills.html +4 -4
- package/dist/docs/reference/subagents.html +4 -4
- package/dist/docs/reference/tools.html +4 -4
- package/dist/docs/scaffolding-agents.html +5 -5
- package/dist/docs/scaffolding-agents.md +2 -1
- package/dist/docs/skills/ab.html +4 -4
- package/dist/docs/skills/create-agent.html +6 -6
- package/dist/docs/skills/create-agent.md +1 -1
- package/dist/docs/skills/debug.html +5 -5
- package/dist/docs/skills/debug.md +1 -1
- package/dist/docs/skills/evals.html +6 -6
- package/dist/docs/skills/evals.md +1 -1
- package/dist/docs/skills/framework-map.html +5 -5
- package/dist/docs/skills/framework-map.md +4 -2
- package/dist/docs/skills/github.html +6 -6
- package/dist/docs/skills/github.md +1 -1
- package/dist/docs/skills/hillclimb.html +4 -4
- package/dist/docs/skills/index.html +4 -4
- package/dist/docs/skills/mcp-auth.html +4 -4
- package/dist/docs/skills/otel.html +4 -4
- package/dist/docs/skills/setup-slack.html +4 -4
- package/dist/docs/storage.html +4 -4
- package/dist/docs/templates/agentic-owners.html +4 -4
- package/dist/docs/templates/agents-md.html +4 -4
- package/dist/docs/templates/code-wiki.html +4 -4
- package/dist/docs/templates/demo.html +4 -4
- package/dist/docs/templates/grokbot-agents.html +4 -4
- package/dist/docs/templates/pr-autofixer.html +4 -4
- package/dist/docs/templates/security-help.html +4 -4
- package/dist/docs/templates/security-reviewer.html +4 -4
- package/dist/docs/templates/triage.html +4 -4
- package/dist/docs/troubleshooting.html +5 -5
- package/dist/docs/troubleshooting.md +1 -1
- package/dist/extensions/improve/extension.d.ts +46 -0
- package/dist/extensions/improve/extension.d.ts.map +1 -0
- package/dist/extensions/improve/extension.js +41 -0
- package/dist/extensions/improve/skills/yourself.d.ts +4 -0
- package/dist/extensions/improve/skills/yourself.d.ts.map +1 -0
- package/dist/extensions/improve/skills/yourself.js +43 -0
- package/dist/internal/builtin-tools/artifacts.d.ts.map +1 -1
- package/dist/internal/builtin-tools/artifacts.js +2 -3
- package/dist/internal/channel-route-dispatch.d.ts +13 -0
- package/dist/internal/channel-route-dispatch.d.ts.map +1 -0
- package/dist/internal/channel-route-dispatch.js +62 -0
- package/dist/internal/channel-state.d.ts +17 -0
- package/dist/internal/channel-state.d.ts.map +1 -0
- package/dist/internal/channel-state.js +78 -0
- package/dist/internal/cli-ax.d.ts +7 -0
- package/dist/internal/cli-ax.d.ts.map +1 -1
- package/dist/internal/cli-ax.js +99 -1
- package/dist/internal/cli-cursor.d.ts.map +1 -1
- package/dist/internal/cli-cursor.js +2 -0
- package/dist/internal/cli-deploy.d.ts.map +1 -1
- package/dist/internal/cli-deploy.js +38 -14
- package/dist/internal/cli-mcp-oauth.d.ts.map +1 -1
- package/dist/internal/cli-mcp-oauth.js +15 -0
- package/dist/internal/cli-mcp.d.ts.map +1 -1
- package/dist/internal/cli-mcp.js +12 -0
- package/dist/internal/cli-slack.d.ts.map +1 -1
- package/dist/internal/cli-slack.js +8 -2
- package/dist/internal/cursor/credentials.d.ts +8 -2
- package/dist/internal/cursor/credentials.d.ts.map +1 -1
- package/dist/internal/cursor/credentials.js +27 -5
- package/dist/internal/deploy-client.d.ts +27 -0
- package/dist/internal/deploy-client.d.ts.map +1 -1
- package/dist/internal/deploy-client.js +32 -0
- package/dist/internal/deploy-manifest.d.ts +23 -0
- package/dist/internal/deploy-manifest.d.ts.map +1 -1
- package/dist/internal/deploy-manifest.js +84 -1
- package/dist/internal/describe-error.d.ts +1 -0
- package/dist/internal/describe-error.d.ts.map +1 -1
- package/dist/internal/describe-error.js +25 -0
- package/dist/internal/guest-network.d.ts +4 -10
- package/dist/internal/guest-network.d.ts.map +1 -1
- package/dist/internal/guest-network.js +42 -26
- package/dist/internal/hosted-admission-adapter.d.ts +2 -0
- package/dist/internal/hosted-admission-adapter.d.ts.map +1 -1
- package/dist/internal/hosted-catch-protocol.d.ts +51 -0
- package/dist/internal/hosted-catch-protocol.d.ts.map +1 -0
- package/dist/internal/hosted-catch-protocol.js +103 -0
- package/dist/internal/hosted-catch.d.ts +40 -0
- package/dist/internal/hosted-catch.d.ts.map +1 -0
- package/dist/internal/hosted-catch.js +149 -0
- package/dist/internal/hosted-delivery-protocol.d.ts +41 -0
- package/dist/internal/hosted-delivery-protocol.d.ts.map +1 -1
- package/dist/internal/hosted-delivery-protocol.js +249 -0
- package/dist/internal/hosted-delivery.d.ts +10 -1
- package/dist/internal/hosted-delivery.d.ts.map +1 -1
- package/dist/internal/hosted-delivery.js +100 -22
- package/dist/internal/hosted-execution-diag.d.ts +4 -1
- package/dist/internal/hosted-execution-diag.d.ts.map +1 -1
- package/dist/internal/hosted-execution-diag.js +13 -4
- package/dist/internal/hosted-execution-flush.d.ts +3 -0
- package/dist/internal/hosted-execution-flush.d.ts.map +1 -1
- package/dist/internal/hosted-execution-flush.js +2 -4
- package/dist/internal/http-control-plane-session.d.ts +30 -0
- package/dist/internal/http-control-plane-session.d.ts.map +1 -0
- package/dist/internal/http-control-plane-session.js +83 -0
- package/dist/internal/legacy-command-guard.d.ts +22 -0
- package/dist/internal/legacy-command-guard.d.ts.map +1 -0
- package/dist/internal/legacy-command-guard.js +51 -0
- package/dist/internal/platform-timers.d.ts +7 -0
- package/dist/internal/platform-timers.d.ts.map +1 -1
- package/dist/internal/platform-timers.js +139 -0
- package/dist/internal/reminder-control-plane-protocol.d.ts +2 -0
- package/dist/internal/reminder-control-plane-protocol.d.ts.map +1 -1
- package/dist/internal/reminder-control-plane-protocol.js +9 -2
- package/dist/internal/reminder-runner.d.ts +8 -0
- package/dist/internal/reminder-runner.d.ts.map +1 -1
- package/dist/internal/reminder-runner.js +36 -9
- package/dist/internal/resolve-prod-target.d.ts +2 -0
- package/dist/internal/resolve-prod-target.d.ts.map +1 -1
- package/dist/internal/resolve-prod-target.js +13 -0
- package/dist/internal/sdk-runner.d.ts.map +1 -1
- package/dist/internal/sdk-runner.js +4 -3
- package/dist/internal/server.d.ts.map +1 -1
- package/dist/internal/server.js +57 -56
- package/dist/internal/session-engine.d.ts +2 -6
- package/dist/internal/session-engine.d.ts.map +1 -1
- package/dist/internal/session-engine.js +95 -67
- package/dist/playground/assets/{index-Bq2HpEQB.js → index-BMDqAeXu.js} +28 -28
- package/dist/playground/assets/index-LUgJoWdL.css +1 -0
- package/dist/playground/index.html +2 -2
- package/dist/storage-backends/cursor-hosted.d.ts +6 -0
- package/dist/storage-backends/cursor-hosted.d.ts.map +1 -1
- package/dist/storage-backends/cursor-hosted.js +29 -1
- package/dist/types.d.ts +33 -5
- package/dist/types.d.ts.map +1 -1
- package/docs/README.md +4 -0
- package/docs/deployment.md +7 -2
- package/docs/evals.md +3 -2
- package/docs/guides/cloud-agents.md +4 -3
- package/docs/guides/github.md +2 -1
- package/docs/guides/grokbot-agents.md +2 -2
- package/docs/guides/improve.md +96 -0
- package/docs/guides/slack.md +2 -1
- package/docs/reference/agent-config.md +5 -2
- package/docs/reference/cli.md +18 -11
- package/docs/reference/connections.md +2 -1
- package/docs/reference/extensions.md +2 -0
- package/docs/scaffolding-agents.md +2 -1
- package/docs/troubleshooting.md +1 -1
- package/package.json +8 -1
- package/skills/create-agent/SKILL.md +1 -1
- package/skills/debug/SKILL.md +1 -1
- package/skills/evals/SKILL.md +1 -1
- package/skills/framework-map/SKILL.md +4 -2
- package/skills/github/SKILL.md +1 -1
- package/src/bin/agent-serve.ts +27 -2
- package/src/channels/github/github-channel.ts +8 -8
- package/src/channels/github/types.ts +5 -0
- package/src/channels/origin/origin-channel.ts +29 -13
- package/src/channels/origin/types.ts +5 -0
- package/src/channels.ts +157 -10
- package/src/connections.ts +2 -1
- package/src/extensions/improve/extension.ts +70 -0
- package/src/extensions/improve/skills/yourself.ts +50 -0
- package/src/internal/builtin-tools/artifacts.ts +2 -3
- package/src/internal/channel-route-dispatch.ts +66 -0
- package/src/internal/channel-state.ts +96 -0
- package/src/internal/cli-ax.ts +110 -1
- package/src/internal/cli-cursor.ts +4 -1
- package/src/internal/cli-deploy.ts +50 -10
- package/src/internal/cli-mcp-oauth.ts +18 -0
- package/src/internal/cli-mcp.ts +11 -0
- package/src/internal/cli-slack.ts +15 -2
- package/src/internal/cursor/credentials.ts +35 -7
- package/src/internal/deploy-client.ts +54 -0
- package/src/internal/deploy-manifest.ts +115 -1
- package/src/internal/describe-error.ts +28 -0
- package/src/internal/guest-network.ts +43 -29
- package/src/internal/hosted-admission-adapter.ts +2 -0
- package/src/internal/hosted-catch-protocol.ts +130 -0
- package/src/internal/hosted-catch.ts +192 -0
- package/src/internal/hosted-delivery-protocol.ts +387 -0
- package/src/internal/hosted-delivery.ts +155 -22
- package/src/internal/hosted-execution-diag.ts +21 -3
- package/src/internal/hosted-execution-flush.ts +6 -3
- package/src/internal/http-control-plane-session.ts +104 -0
- package/src/internal/legacy-command-guard.ts +59 -0
- package/src/internal/platform-timers.ts +191 -0
- package/src/internal/reminder-control-plane-protocol.ts +15 -2
- package/src/internal/reminder-runner.ts +60 -9
- package/src/internal/resolve-prod-target.ts +15 -0
- package/src/internal/sdk-runner.ts +2 -1
- package/src/internal/server.ts +89 -79
- package/src/internal/session-engine.ts +141 -83
- package/src/storage-backends/cursor-hosted.ts +40 -1
- package/src/types.ts +39 -6
- package/dist/docs/assets/chunks/@localSearchIndexroot.DXXZxiMv.js +0 -1
- package/dist/docs/assets/guides_cloud-agents.md.DS8RIjwx.js +0 -9
- package/dist/docs/assets/index.md.BW_6tOgR.js +0 -5
- package/dist/docs/assets/skills_framework-map.md.haibFyoB.js +0 -1
- package/dist/docs/assets/troubleshooting.md.Cus_YZga.js +0 -1
- package/dist/playground/assets/index-CZKKNlmb.css +0 -1
- /package/dist/docs/assets/{evals.md.CbMoebP1.lean.js → evals.md.C1ekS3k2.lean.js} +0 -0
- /package/dist/docs/assets/{guides_github.md.c0gdGJ-D.lean.js → guides_github.md.BH33UEBJ.lean.js} +0 -0
- /package/dist/docs/assets/{guides_grokbot-agents.md.DVqdhBKb.lean.js → guides_grokbot-agents.md.DyV-WArv.lean.js} +0 -0
- /package/dist/docs/assets/{index.md.BW_6tOgR.lean.js → index.md.BjH1w2ZW.lean.js} +0 -0
- /package/dist/docs/assets/{reference_agent-config.md.CHNpiyp4.lean.js → reference_agent-config.md.CvoL6pof.lean.js} +0 -0
- /package/dist/docs/assets/{reference_connections.md.Di6jJAXF.lean.js → reference_connections.md.BojkC6c5.lean.js} +0 -0
- /package/dist/docs/assets/{reference_extensions.md.CGmMLblt.lean.js → reference_extensions.md.CPWt00ds.lean.js} +0 -0
- /package/dist/docs/assets/{scaffolding-agents.md.em43xlY1.lean.js → scaffolding-agents.md.Kctn3OVb.lean.js} +0 -0
- /package/dist/docs/assets/{skills_create-agent.md.BVoWPcan.lean.js → skills_create-agent.md.Q3h6Je-e.lean.js} +0 -0
- /package/dist/docs/assets/{skills_evals.md.723kpUmA.lean.js → skills_evals.md.BhovOvrl.lean.js} +0 -0
- /package/dist/docs/assets/{skills_github.md.D0JahM8c.lean.js → skills_github.md.hgFX_oKY.lean.js} +0 -0
- /package/dist/docs/assets/{troubleshooting.md.Cus_YZga.lean.js → troubleshooting.md.CYEAO9bM.lean.js} +0 -0
|
@@ -9,19 +9,19 @@
|
|
|
9
9
|
<link rel="preload stylesheet" href="/docs/assets/style.DCD_zyg3.css" as="style">
|
|
10
10
|
<link rel="preload stylesheet" href="/docs/vp-icons.css" as="style">
|
|
11
11
|
|
|
12
|
-
<script type="module" src="/docs/assets/app.
|
|
12
|
+
<script type="module" src="/docs/assets/app.BASKM3M4.js"></script>
|
|
13
13
|
<link rel="preload" href="/docs/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
|
|
14
|
-
<link rel="modulepreload" href="/docs/assets/chunks/theme.
|
|
14
|
+
<link rel="modulepreload" href="/docs/assets/chunks/theme.DbDZW-zb.js">
|
|
15
15
|
<link rel="modulepreload" href="/docs/assets/chunks/framework.BCISBCiQ.js">
|
|
16
|
-
<link rel="modulepreload" href="/docs/assets/scaffolding-agents.md.
|
|
16
|
+
<link rel="modulepreload" href="/docs/assets/scaffolding-agents.md.Kctn3OVb.lean.js">
|
|
17
17
|
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
|
|
18
18
|
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
|
|
19
19
|
<link rel="alternate" type="text/plain" href="/docs/llms.txt">
|
|
20
20
|
<link rel="alternate" type="text/markdown" href="/docs/scaffolding-agents.md">
|
|
21
21
|
</head>
|
|
22
22
|
<body>
|
|
23
|
-
<div id="app"><div class="Layout" data-v-990b7706><!--[--><!--]--><!--[--><span tabindex="-1" data-v-0b74bec0></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-0b74bec0>Skip to content</a><!--]--><!----><header class="VPNav" data-v-990b7706 data-v-af996e33><div class="VPNavBar" data-v-af996e33 data-v-c7f322eb><div class="wrapper" data-v-c7f322eb><div class="container" data-v-c7f322eb><div class="title" data-v-c7f322eb><div class="VPNavBarTitle has-sidebar" data-v-c7f322eb data-v-d1664c59><a class="title" href="/docs/" data-v-d1664c59><!--[--><!--]--><!----><span data-v-d1664c59>Agent SDK</span><!--[--><!--[--><!--[--><!--[--><span class="agent-sdk-version" title="@cursor/july 0.1.107" data-v-c26a5f4f>0.1.107</span><!--]--><!--]--><!--]--><!--]--></a></div></div><div class="content" data-v-c7f322eb><div class="content-body" data-v-c7f322eb><!--[--><!--]--><div class="VPNavBarSearch search" data-v-c7f322eb><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-c7f322eb data-v-ab749b05><span id="main-nav-aria-label" class="visually-hidden" data-v-ab749b05> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/docs/quickstart.html" tabindex="0" data-v-ab749b05 data-v-ef8d136f><!--[--><span data-v-ef8d136f>Quickstart</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/docs/guides/webhooks.html" tabindex="0" data-v-ab749b05 data-v-ef8d136f><!--[--><span data-v-ef8d136f>Guides</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/docs/templates/demo.html" tabindex="0" data-v-ab749b05 data-v-ef8d136f><!--[--><span data-v-ef8d136f>Templates</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/docs/reference/project-layout.html" tabindex="0" data-v-ab749b05 data-v-ef8d136f><!--[--><span data-v-ef8d136f>Reference</span><!--]--></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-c7f322eb data-v-7c6c0ede><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-7c6c0ede data-v-87b8a6bb data-v-9f798512><span class="check" data-v-9f798512><span class="icon" data-v-9f798512><!--[--><span class="vpi-sun sun" data-v-87b8a6bb></span><span class="vpi-moon moon" data-v-87b8a6bb></span><!--]--></span></span></button></div><!----><div class="VPFlyout VPNavBarExtra extra" data-v-c7f322eb data-v-e53d4296 data-v-79fc383b><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-79fc383b><span class="vpi-more-horizontal icon" data-v-79fc383b></span></button><div class="menu" data-v-79fc383b><div class="VPMenu" data-v-79fc383b data-v-0d780c53><!----><!--[--><!--[--><!----><div class="group" data-v-e53d4296><div class="item appearance" data-v-e53d4296><p class="label" data-v-e53d4296>Appearance</p><div class="appearance-action" data-v-e53d4296><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-e53d4296 data-v-87b8a6bb data-v-9f798512><span class="check" data-v-9f798512><span class="icon" data-v-9f798512><!--[--><span class="vpi-sun sun" data-v-87b8a6bb></span><span class="vpi-moon moon" data-v-87b8a6bb></span><!--]--></span></span></button></div></div></div><!----><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-c7f322eb data-v-edf597df><span class="container" data-v-edf597df><span class="top" data-v-edf597df></span><span class="middle" data-v-edf597df></span><span class="bottom" data-v-edf597df></span></span></button></div></div></div></div><div class="divider" data-v-c7f322eb><div class="divider-line" data-v-c7f322eb></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-990b7706 data-v-054265d6><div class="container" data-v-054265d6><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-054265d6><span class="vpi-align-left menu-icon" data-v-054265d6></span><span class="menu-text" data-v-054265d6>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-054265d6 data-v-65e16bd4><button data-v-65e16bd4>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-990b7706 data-v-03069692><div class="curtain" data-v-03069692></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-03069692><span class="visually-hidden" id="sidebar-aria-label" data-v-03069692> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-53da167f><section class="VPSidebarItem level-0 has-active" data-v-53da167f data-v-9a4aac52><div class="item" role="button" tabindex="0" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><h2 class="text" data-v-9a4aac52>Getting started</h2><!----></div><div class="items" data-v-9a4aac52><!--[--><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Overview</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/quickstart.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Quickstart</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/scaffolding-agents.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Scaffold an agent with Cursor</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/guides/convert-automation.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Convert a Cursor Automation</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/concepts.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Concepts</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-53da167f><section class="VPSidebarItem level-0" data-v-53da167f data-v-9a4aac52><div class="item" role="button" tabindex="0" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><h2 class="text" data-v-9a4aac52>Templates</h2><!----></div><div class="items" data-v-9a4aac52><!--[--><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/templates/demo.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Demo agent</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/templates/grokbot-agents.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Grok Bot agents</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/templates/code-wiki.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Code wiki</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/templates/agents-md.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Living AGENTS.md</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/templates/security-reviewer.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Security reviewer</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/templates/security-help.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Security help</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/templates/agentic-owners.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Agentic Owners</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/templates/pr-autofixer.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>PR autofixer</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/templates/triage.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Triage agent</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-53da167f><section class="VPSidebarItem level-0" data-v-53da167f data-v-9a4aac52><div class="item" role="button" tabindex="0" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><h2 class="text" data-v-9a4aac52>Improving agents</h2><!----></div><div class="items" data-v-9a4aac52><!--[--><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/building-with-agents.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Building agents with agents</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/evals.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Evals</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/ab.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Live A/B metrics</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/storage.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Storage</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/hillclimbing.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Hillclimbing</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-53da167f><section class="VPSidebarItem level-0 collapsible collapsed" data-v-53da167f data-v-9a4aac52><div class="item" role="button" tabindex="0" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><h2 class="text" data-v-9a4aac52>Coding-agent skills</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-9a4aac52><span class="vpi-chevron-right caret-icon" data-v-9a4aac52></span></div></div><div class="items" data-v-9a4aac52><!--[--><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/skills/" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Overview</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/skills/ab.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>ab</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/skills/create-agent.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>create-agent</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/skills/debug.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>debug</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/skills/evals.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>evals</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/skills/framework-map.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>framework-map</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/skills/github.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>github</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/skills/hillclimb.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>hillclimb</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/skills/mcp-auth.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>mcp-auth</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/skills/otel.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>otel</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/skills/setup-slack.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>setup-slack</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-53da167f><section class="VPSidebarItem level-0" data-v-53da167f data-v-9a4aac52><div class="item" role="button" tabindex="0" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><h2 class="text" data-v-9a4aac52>Guides</h2><!----></div><div class="items" data-v-9a4aac52><!--[--><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/guides/webhooks.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Webhooks & custom channels</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/guides/github.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>GitHub</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/guides/slack.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Slack</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/guides/human-in-the-loop.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Human-in-the-loop approvals</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/guides/agent-to-agent.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Agent-to-agent</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/guides/mcp-oauth.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Host MCP OAuth</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/guides/cloud-agents.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Cursor cloud agents</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/guides/grokbot-agents.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Cursor Grok Bot agents</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/guides/opentelemetry.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>OpenTelemetry</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-53da167f><section class="VPSidebarItem level-0" data-v-53da167f data-v-9a4aac52><div class="item" role="button" tabindex="0" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><h2 class="text" data-v-9a4aac52>Operating</h2><!----></div><div class="items" data-v-9a4aac52><!--[--><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/deployment.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Deployment</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/troubleshooting.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Fix common problems</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-53da167f><section class="VPSidebarItem level-0 collapsible" data-v-53da167f data-v-9a4aac52><div class="item" role="button" tabindex="0" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><h2 class="text" data-v-9a4aac52>Reference</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-9a4aac52><span class="vpi-chevron-right caret-icon" data-v-9a4aac52></span></div></div><div class="items" data-v-9a4aac52><!--[--><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/project-layout.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Project layout</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/agent-config.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Agent config</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/instructions.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Instructions</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/tools.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Tools</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/prompt.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>prompt</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/skills.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Skills</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/connections.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>MCP Connections</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/subagents.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Subagents</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/extensions.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Extensions</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/channels.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Channels</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/schedules.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Schedules & reminders</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/hooks.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Hooks</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/artifacts.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Artifacts</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/result.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Turn result</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/sessions.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Sessions & streaming</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/playground.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Playground</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/cli.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>CLI</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/http-api.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>HTTP API</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-990b7706 data-v-7a16121a><div class="VPDoc has-sidebar has-aside" data-v-7a16121a data-v-38549ef7><!--[--><!--]--><div class="container" data-v-38549ef7><div class="aside" data-v-38549ef7><div class="aside-curtain" data-v-38549ef7></div><div class="aside-container" data-v-38549ef7><div class="aside-content" data-v-38549ef7><div class="VPDocAside" data-v-38549ef7 data-v-da90486d><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-da90486d data-v-0895f2d7><div class="content" data-v-0895f2d7><div class="outline-marker" data-v-0895f2d7></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-0895f2d7>On this page</div><ul class="VPDocOutlineItem root" data-v-0895f2d7 data-v-0cae2091><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-da90486d></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-38549ef7><div class="content-container" data-v-38549ef7><!--[--><!--]--><main class="main" data-v-38549ef7><div style="position:relative;" class="vp-doc _docs_scaffolding-agents" data-v-38549ef7><div><h1 id="scaffold-an-agent-with-cursor" tabindex="-1">Scaffold an agent with Cursor <a class="header-anchor" href="#scaffold-an-agent-with-cursor" aria-label="Permalink to "Scaffold an agent with Cursor""></a></h1><p>Turn an idea into a verified agent while Cursor guides you through each decision.</p><h2 id="what-does-the-create-agent-skill-do" tabindex="-1">What does the create-agent skill do? <a class="header-anchor" href="#what-does-the-create-agent-skill-do" aria-label="Permalink to "What does the create-agent skill do?""></a></h2><p>The bundled <a href="./skills/create-agent.html"><code>create-agent</code> skill</a> turns your goal into a small working project. Have Cursor read that file and follow it.</p><p>Where to find the file depends on how you got the package:</p><ul><li>Installing <code>@cursor/july</code> (<code>npm install</code>, <code>npx @cursor/july</code>, a version bump) copies every package skill into <code>~/.cursor/skills/agentsdk/</code> with <code>alwaysApply: true</code>, so Cursor injects the skill body into context instead of waiting for the model to pick it from the catalog. The <code>/</code> menu lists them as <code>/agentsdk-create-agent</code>, <code>/agentsdk-hillclimb</code>, and the rest. Re-installing overwrites those copies with the package version.</li><li>Installed <code>@cursor/july</code> as a dependency? The skill also ships inside the package at <code>node_modules/@cursor/july/skills/create-agent/SKILL.md</code>.</li><li>Working from this package's source? The skill is at <a href="./skills/create-agent.html"><code>skills/create-agent/SKILL.md</code></a>. Run <code>agent-sdk install-skills</code> if you want the same copies in <code>~/.cursor/skills/agentsdk/</code> (the package postinstall skips the source checkout).</li></ul><p>Cursor will:</p><ul><li>Ask only for choices missing from your prompt</li><li>Recommend defaults based on what you want to build</li><li>Show you the plan and file tree before writing files</li><li>Create the agent after you confirm the plan</li><li>Run structural checks, a real turn, and a smoke eval</li></ul><p>Use this skill for a new agent. Use <a href="./guides/convert-automation.html">convert-automation</a> when the starting point is a Cursor Automation in the dashboard. Use <a href="./hillclimbing.html"><code>hillclimb</code></a> (<code>skills/hillclimb/SKILL.md</code>) when an existing agent works but needs better results.</p><h2 id="how-do-i-start-a-guided-scaffold" tabindex="-1">How do I start a guided scaffold? <a class="header-anchor" href="#how-do-i-start-a-guided-scaffold" aria-label="Permalink to "How do I start a guided scaffold?""></a></h2><p>Describe the outcome and any constraints you already know:</p><blockquote><p>Build a local weather agent for the playground. Give it one tool for current conditions and add a smoke eval. Guide me through the remaining decisions.</p></blockquote><p>More detail means fewer questions. Include a channel, runtime, model, or required integration when those choices are fixed.</p><h2 id="which-choices-will-cursor-ask-me-to-make" tabindex="-1">Which choices will Cursor ask me to make? <a class="header-anchor" href="#which-choices-will-cursor-ask-me-to-make" aria-label="Permalink to "Which choices will Cursor ask me to make?""></a></h2><p>Cursor fills gaps in two short rounds:</p><ul><li><strong>Identity:</strong> purpose, project name, and location</li><li><strong>Runtime:</strong> local or cloud</li><li><strong>Model:</strong> the default model or another Cursor model</li><li><strong>Channels:</strong> playground and HTTP, Slack, GitHub, a webhook, or a schedule</li><li><strong>MCP connections:</strong> remote or local MCP servers</li><li><strong>Capabilities:</strong> tools, skills, subagents, hooks, seed files, approvals, and evals</li></ul><p>Questions adapt to your goal. A playground chat agent won't get cloud-repository questions. A local agent won't get cloud setup questions.</p><h2 id="what-happens-before-cursor-writes-files" tabindex="-1">What happens before Cursor writes files? <a class="header-anchor" href="#what-happens-before-cursor-writes-files" aria-label="Permalink to "What happens before Cursor writes files?""></a></h2><p>Cursor shows one plan with the choices it made and the folders it will create. Choose <strong>Scaffold it</strong> to continue or <strong>Adjust something</strong> to change the plan.</p><p>No files change before you approve this step.</p><h2 id="what-will-cursor-create" tabindex="-1">What will Cursor create? <a class="header-anchor" href="#what-will-cursor-create" aria-label="Permalink to "What will Cursor create?""></a></h2><p>A first version usually includes:</p><ul><li><code>AGENTS.md</code>, <code>.gitignore</code>, <code>package.json</code>, and <code>tsconfig.json</code></li><li><code>agent/agent.ts</code> for the model and runtime</li><li><code>agent/instructions.md</code> for the always-on prompt</li><li><code>agent/hooks/memory.ts</code> for memory guidance</li><li>One or two tools under <code>agent/tools/</code></li><li>Any channels or MCP connections you selected</li><li><code>evals/evals.config.ts</code> and one smoke eval</li></ul><p>Cursor keeps the first version small. Side-effecting server tools use <code>needsApproval</code>. Deterministic setup, such as fetching a pull request, stays in host code instead of model instructions.</p><p>See <a href="./reference/project-layout.html">Project layout</a> for every supported folder.</p><h2 id="how-does-cursor-verify-the-scaffold" tabindex="-1">How does Cursor verify the scaffold? <a class="header-anchor" href="#how-does-cursor-verify-the-scaffold" aria-label="Permalink to "How does Cursor verify the scaffold?""></a></h2><p>Cursor checks the project in this order:</p><ol><li>Run <code>agent-sdk validate</code> and fix every error</li><li>Inspect the discovered surface with <code>info --json</code></li><li>Call each server tool directly with validated sample input</li><li>Run one end-to-end model turn</li><li>Run the smoke eval</li><li>Run the project's TypeScript check</li></ol><p>Validation, discovery, direct server-tool calls, and server startup work without a Cursor credential. Model turns and evals need <code>CURSOR_API_KEY</code> or a saved <code>agent-sdk login</code>.</p><h2 id="what-happens-after-the-first-agent-works" tabindex="-1">What happens after the first agent works? <a class="header-anchor" href="#what-happens-after-the-first-agent-works" aria-label="Permalink to "What happens after the first agent works?""></a></h2><p>Choose one to three fixed inputs, define what should improve, and name what must stay unchanged. Then have Cursor follow <a href="./skills/hillclimb.html"><code>skills/hillclimb/SKILL.md</code></a>.</p><p>The hillclimb skill measures a baseline, changes one lever, runs the same inputs again, and adds an eval for each improvement you keep.</p><h2 id="related" tabindex="-1">Related <a class="header-anchor" href="#related" aria-label="Permalink to "Related""></a></h2><ul><li><a href="./quickstart.html">Build your first PR reviewer</a></li><li><a href="./guides/convert-automation.html">Convert a Cursor Automation</a></li><li><a href="./building-with-agents.html">Building agents with agents</a></li><li><a href="./evals.html">Evals</a></li><li><a href="./hillclimbing.html">Hillclimbing</a></li><li><a href="./reference/project-layout.html">Project layout</a></li></ul></div></div></main><footer class="VPDocFooter" data-v-38549ef7 data-v-215f93e6><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-215f93e6><span class="visually-hidden" id="doc-footer-aria-label" data-v-215f93e6>Pager</span><div class="pager" data-v-215f93e6><a class="VPLink link pager-link prev" href="/docs/quickstart.html" data-v-215f93e6><!--[--><span class="desc" data-v-215f93e6>Previous page</span><span class="title" data-v-215f93e6>Quickstart</span><!--]--></a></div><div class="pager" data-v-215f93e6><a class="VPLink link pager-link next" href="/docs/guides/convert-automation.html" data-v-215f93e6><!--[--><span class="desc" data-v-215f93e6>Next page</span><span class="title" data-v-215f93e6>Convert a Cursor Automation</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
|
|
24
|
-
<script>window.__VP_HASH_MAP__=JSON.parse("{\"ab.md\":\"mlVgqvSk\",\"building-with-agents.md\":\"CUSWxlP_\",\"concepts.md\":\"DgEcZOfT\",\"deployment.md\":\"
|
|
23
|
+
<div id="app"><div class="Layout" data-v-990b7706><!--[--><!--]--><!--[--><span tabindex="-1" data-v-0b74bec0></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-0b74bec0>Skip to content</a><!--]--><!----><header class="VPNav" data-v-990b7706 data-v-af996e33><div class="VPNavBar" data-v-af996e33 data-v-c7f322eb><div class="wrapper" data-v-c7f322eb><div class="container" data-v-c7f322eb><div class="title" data-v-c7f322eb><div class="VPNavBarTitle has-sidebar" data-v-c7f322eb data-v-d1664c59><a class="title" href="/docs/" data-v-d1664c59><!--[--><!--]--><!----><span data-v-d1664c59>Agent SDK</span><!--[--><!--[--><!--[--><!--[--><span class="agent-sdk-version" title="@cursor/july 0.1.108" data-v-c26a5f4f>0.1.108</span><!--]--><!--]--><!--]--><!--]--></a></div></div><div class="content" data-v-c7f322eb><div class="content-body" data-v-c7f322eb><!--[--><!--]--><div class="VPNavBarSearch search" data-v-c7f322eb><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-c7f322eb data-v-ab749b05><span id="main-nav-aria-label" class="visually-hidden" data-v-ab749b05> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/docs/quickstart.html" tabindex="0" data-v-ab749b05 data-v-ef8d136f><!--[--><span data-v-ef8d136f>Quickstart</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/docs/guides/webhooks.html" tabindex="0" data-v-ab749b05 data-v-ef8d136f><!--[--><span data-v-ef8d136f>Guides</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/docs/templates/demo.html" tabindex="0" data-v-ab749b05 data-v-ef8d136f><!--[--><span data-v-ef8d136f>Templates</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/docs/reference/project-layout.html" tabindex="0" data-v-ab749b05 data-v-ef8d136f><!--[--><span data-v-ef8d136f>Reference</span><!--]--></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-c7f322eb data-v-7c6c0ede><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-7c6c0ede data-v-87b8a6bb data-v-9f798512><span class="check" data-v-9f798512><span class="icon" data-v-9f798512><!--[--><span class="vpi-sun sun" data-v-87b8a6bb></span><span class="vpi-moon moon" data-v-87b8a6bb></span><!--]--></span></span></button></div><!----><div class="VPFlyout VPNavBarExtra extra" data-v-c7f322eb data-v-e53d4296 data-v-79fc383b><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-79fc383b><span class="vpi-more-horizontal icon" data-v-79fc383b></span></button><div class="menu" data-v-79fc383b><div class="VPMenu" data-v-79fc383b data-v-0d780c53><!----><!--[--><!--[--><!----><div class="group" data-v-e53d4296><div class="item appearance" data-v-e53d4296><p class="label" data-v-e53d4296>Appearance</p><div class="appearance-action" data-v-e53d4296><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-e53d4296 data-v-87b8a6bb data-v-9f798512><span class="check" data-v-9f798512><span class="icon" data-v-9f798512><!--[--><span class="vpi-sun sun" data-v-87b8a6bb></span><span class="vpi-moon moon" data-v-87b8a6bb></span><!--]--></span></span></button></div></div></div><!----><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-c7f322eb data-v-edf597df><span class="container" data-v-edf597df><span class="top" data-v-edf597df></span><span class="middle" data-v-edf597df></span><span class="bottom" data-v-edf597df></span></span></button></div></div></div></div><div class="divider" data-v-c7f322eb><div class="divider-line" data-v-c7f322eb></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-990b7706 data-v-054265d6><div class="container" data-v-054265d6><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-054265d6><span class="vpi-align-left menu-icon" data-v-054265d6></span><span class="menu-text" data-v-054265d6>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-054265d6 data-v-65e16bd4><button data-v-65e16bd4>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-990b7706 data-v-03069692><div class="curtain" data-v-03069692></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-03069692><span class="visually-hidden" id="sidebar-aria-label" data-v-03069692> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-53da167f><section class="VPSidebarItem level-0 has-active" data-v-53da167f data-v-9a4aac52><div class="item" role="button" tabindex="0" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><h2 class="text" data-v-9a4aac52>Getting started</h2><!----></div><div class="items" data-v-9a4aac52><!--[--><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Overview</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/quickstart.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Quickstart</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/scaffolding-agents.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Scaffold an agent with Cursor</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/guides/convert-automation.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Convert a Cursor Automation</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/concepts.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Concepts</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-53da167f><section class="VPSidebarItem level-0" data-v-53da167f data-v-9a4aac52><div class="item" role="button" tabindex="0" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><h2 class="text" data-v-9a4aac52>Templates</h2><!----></div><div class="items" data-v-9a4aac52><!--[--><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/templates/demo.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Demo agent</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/templates/grokbot-agents.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Grok Bot agents</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/templates/code-wiki.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Code wiki</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/templates/agents-md.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Living AGENTS.md</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/templates/security-reviewer.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Security reviewer</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/templates/security-help.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Security help</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/templates/agentic-owners.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Agentic Owners</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/templates/pr-autofixer.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>PR autofixer</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/templates/triage.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Triage agent</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-53da167f><section class="VPSidebarItem level-0" data-v-53da167f data-v-9a4aac52><div class="item" role="button" tabindex="0" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><h2 class="text" data-v-9a4aac52>Improving agents</h2><!----></div><div class="items" data-v-9a4aac52><!--[--><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/building-with-agents.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Building agents with agents</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/evals.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Evals</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/ab.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Live A/B metrics</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/storage.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Storage</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/hillclimbing.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Hillclimbing</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-53da167f><section class="VPSidebarItem level-0 collapsible collapsed" data-v-53da167f data-v-9a4aac52><div class="item" role="button" tabindex="0" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><h2 class="text" data-v-9a4aac52>Coding-agent skills</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-9a4aac52><span class="vpi-chevron-right caret-icon" data-v-9a4aac52></span></div></div><div class="items" data-v-9a4aac52><!--[--><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/skills/" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Overview</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/skills/ab.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>ab</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/skills/create-agent.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>create-agent</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/skills/debug.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>debug</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/skills/evals.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>evals</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/skills/framework-map.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>framework-map</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/skills/github.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>github</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/skills/hillclimb.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>hillclimb</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/skills/mcp-auth.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>mcp-auth</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/skills/otel.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>otel</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/skills/setup-slack.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>setup-slack</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-53da167f><section class="VPSidebarItem level-0" data-v-53da167f data-v-9a4aac52><div class="item" role="button" tabindex="0" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><h2 class="text" data-v-9a4aac52>Guides</h2><!----></div><div class="items" data-v-9a4aac52><!--[--><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/guides/webhooks.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Webhooks & custom channels</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/guides/github.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>GitHub</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/guides/slack.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Slack</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/guides/human-in-the-loop.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Human-in-the-loop approvals</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/guides/agent-to-agent.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Agent-to-agent</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/guides/mcp-oauth.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Host MCP OAuth</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/guides/cloud-agents.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Cursor cloud agents</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/guides/grokbot-agents.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Cursor Grok Bot agents</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/guides/improve.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Self-improvement</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/guides/opentelemetry.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>OpenTelemetry</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-53da167f><section class="VPSidebarItem level-0" data-v-53da167f data-v-9a4aac52><div class="item" role="button" tabindex="0" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><h2 class="text" data-v-9a4aac52>Operating</h2><!----></div><div class="items" data-v-9a4aac52><!--[--><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/deployment.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Deployment</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/troubleshooting.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Fix common problems</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-53da167f><section class="VPSidebarItem level-0 collapsible" data-v-53da167f data-v-9a4aac52><div class="item" role="button" tabindex="0" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><h2 class="text" data-v-9a4aac52>Reference</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-9a4aac52><span class="vpi-chevron-right caret-icon" data-v-9a4aac52></span></div></div><div class="items" data-v-9a4aac52><!--[--><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/project-layout.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Project layout</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/agent-config.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Agent config</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/instructions.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Instructions</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/tools.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Tools</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/prompt.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>prompt</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/skills.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Skills</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/connections.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>MCP Connections</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/subagents.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Subagents</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/extensions.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Extensions</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/channels.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Channels</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/schedules.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Schedules & reminders</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/hooks.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Hooks</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/artifacts.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Artifacts</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/result.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Turn result</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/sessions.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Sessions & streaming</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/playground.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>Playground</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/cli.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>CLI</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9a4aac52><div class="item" data-v-9a4aac52><div class="indicator" data-v-9a4aac52></div><a class="VPLink link link" href="/docs/reference/http-api.html" data-v-9a4aac52><!--[--><p class="text" data-v-9a4aac52>HTTP API</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-990b7706 data-v-7a16121a><div class="VPDoc has-sidebar has-aside" data-v-7a16121a data-v-38549ef7><!--[--><!--]--><div class="container" data-v-38549ef7><div class="aside" data-v-38549ef7><div class="aside-curtain" data-v-38549ef7></div><div class="aside-container" data-v-38549ef7><div class="aside-content" data-v-38549ef7><div class="VPDocAside" data-v-38549ef7 data-v-da90486d><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-da90486d data-v-0895f2d7><div class="content" data-v-0895f2d7><div class="outline-marker" data-v-0895f2d7></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-0895f2d7>On this page</div><ul class="VPDocOutlineItem root" data-v-0895f2d7 data-v-0cae2091><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-da90486d></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-38549ef7><div class="content-container" data-v-38549ef7><!--[--><!--]--><main class="main" data-v-38549ef7><div style="position:relative;" class="vp-doc _docs_scaffolding-agents" data-v-38549ef7><div><h1 id="scaffold-an-agent-with-cursor" tabindex="-1">Scaffold an agent with Cursor <a class="header-anchor" href="#scaffold-an-agent-with-cursor" aria-label="Permalink to "Scaffold an agent with Cursor""></a></h1><p>Turn an idea into a verified agent while Cursor guides you through each decision.</p><h2 id="what-does-the-create-agent-skill-do" tabindex="-1">What does the create-agent skill do? <a class="header-anchor" href="#what-does-the-create-agent-skill-do" aria-label="Permalink to "What does the create-agent skill do?""></a></h2><p>The bundled <a href="./skills/create-agent.html"><code>create-agent</code> skill</a> turns your goal into a small working project. Have Cursor read that file and follow it.</p><p>Where to find the file depends on how you got the package:</p><ul><li>Installing <code>@cursor/july</code> (<code>npm install</code>, <code>npx @cursor/july</code>, a version bump) copies every package skill into <code>~/.cursor/skills/agentsdk/</code> with <code>alwaysApply: true</code>, so Cursor injects the skill body into context instead of waiting for the model to pick it from the catalog. The <code>/</code> menu lists them as <code>/agentsdk-create-agent</code>, <code>/agentsdk-hillclimb</code>, and the rest. Re-installing overwrites those copies with the package version.</li><li>Installed <code>@cursor/july</code> as a dependency? The skill also ships inside the package at <code>node_modules/@cursor/july/skills/create-agent/SKILL.md</code>.</li><li>Working from this package's source? The skill is at <a href="./skills/create-agent.html"><code>skills/create-agent/SKILL.md</code></a>. Run <code>agent-sdk install-skills</code> if you want the same copies in <code>~/.cursor/skills/agentsdk/</code> (the package postinstall skips the source checkout).</li></ul><p>Cursor will:</p><ul><li>Ask only for choices missing from your prompt</li><li>Recommend defaults based on what you want to build</li><li>Show you the plan and file tree before writing files</li><li>Create the agent after you confirm the plan</li><li>Run structural checks, a real turn, and a smoke eval</li></ul><p>Use this skill for a new agent. Use <a href="./guides/convert-automation.html">convert-automation</a> when the starting point is a Cursor Automation in the dashboard. Use <a href="./hillclimbing.html"><code>hillclimb</code></a> (<code>skills/hillclimb/SKILL.md</code>) when an existing agent works but needs better results.</p><h2 id="how-do-i-start-a-guided-scaffold" tabindex="-1">How do I start a guided scaffold? <a class="header-anchor" href="#how-do-i-start-a-guided-scaffold" aria-label="Permalink to "How do I start a guided scaffold?""></a></h2><p>Describe the outcome and any constraints you already know:</p><blockquote><p>Build a local weather agent for the playground. Give it one tool for current conditions and add a smoke eval. Guide me through the remaining decisions.</p></blockquote><p>More detail means fewer questions. Include a channel, runtime, model, or required integration when those choices are fixed.</p><h2 id="which-choices-will-cursor-ask-me-to-make" tabindex="-1">Which choices will Cursor ask me to make? <a class="header-anchor" href="#which-choices-will-cursor-ask-me-to-make" aria-label="Permalink to "Which choices will Cursor ask me to make?""></a></h2><p>Cursor fills gaps in two short rounds:</p><ul><li><strong>Identity:</strong> purpose, project name, and location</li><li><strong>Runtime:</strong> local or cloud</li><li><strong>Model:</strong> the default model or another Cursor model</li><li><strong>Channels:</strong> playground and HTTP, Slack, GitHub, a webhook, or a schedule</li><li><strong>MCP connections:</strong> remote or local MCP servers</li><li><strong>Capabilities:</strong> tools, skills, subagents, hooks, seed files, approvals, and evals</li></ul><p>Questions adapt to your goal. A playground chat agent won't get cloud-repository questions. A local agent won't get cloud setup questions.</p><h2 id="what-happens-before-cursor-writes-files" tabindex="-1">What happens before Cursor writes files? <a class="header-anchor" href="#what-happens-before-cursor-writes-files" aria-label="Permalink to "What happens before Cursor writes files?""></a></h2><p>Cursor shows one plan with the choices it made and the folders it will create. Choose <strong>Scaffold it</strong> to continue or <strong>Adjust something</strong> to change the plan.</p><p>No files change before you approve this step.</p><h2 id="what-will-cursor-create" tabindex="-1">What will Cursor create? <a class="header-anchor" href="#what-will-cursor-create" aria-label="Permalink to "What will Cursor create?""></a></h2><p>A first version usually includes:</p><ul><li><code>AGENTS.md</code>, <code>.gitignore</code>, <code>package.json</code>, and <code>tsconfig.json</code></li><li><code>agent/agent.ts</code> for the model and runtime</li><li><code>agent/instructions.md</code> for the always-on prompt</li><li><code>agent/hooks/memory.ts</code> for memory guidance</li><li>One or two tools under <code>agent/tools/</code></li><li>Any channels or MCP connections you selected</li><li><code>evals/evals.config.ts</code> and one smoke eval</li></ul><p>Cursor keeps the first version small. Side-effecting server tools use <code>needsApproval</code>. Deterministic setup, such as fetching a pull request, stays in host code instead of model instructions.</p><p>See <a href="./reference/project-layout.html">Project layout</a> for every supported folder.</p><h2 id="how-does-cursor-verify-the-scaffold" tabindex="-1">How does Cursor verify the scaffold? <a class="header-anchor" href="#how-does-cursor-verify-the-scaffold" aria-label="Permalink to "How does Cursor verify the scaffold?""></a></h2><p>Cursor checks the project in this order:</p><ol><li>Run <code>agent-sdk validate</code> and fix every error</li><li>Inspect the discovered surface with <code>info --json</code></li><li>Call each server tool directly with validated sample input</li><li>Run one end-to-end model turn</li><li>Run the smoke eval</li><li>Run the project's TypeScript check</li></ol><p>Validation, discovery, direct server-tool calls, and server startup work without a Cursor credential. Model turns and evals need <code>CURSOR_API_KEY</code>, then <code>CURSOR_API_KEY_FILE</code> (hosted default <code>/run/cursor/secrets/CURSOR_API_KEY</code>), then <code>CURSOR_SERVICE_ACCOUNT_KEY</code>, then a saved <code>agent-sdk login</code>.</p><h2 id="what-happens-after-the-first-agent-works" tabindex="-1">What happens after the first agent works? <a class="header-anchor" href="#what-happens-after-the-first-agent-works" aria-label="Permalink to "What happens after the first agent works?""></a></h2><p>Choose one to three fixed inputs, define what should improve, and name what must stay unchanged. Then have Cursor follow <a href="./skills/hillclimb.html"><code>skills/hillclimb/SKILL.md</code></a>.</p><p>The hillclimb skill measures a baseline, changes one lever, runs the same inputs again, and adds an eval for each improvement you keep.</p><h2 id="related" tabindex="-1">Related <a class="header-anchor" href="#related" aria-label="Permalink to "Related""></a></h2><ul><li><a href="./quickstart.html">Build your first PR reviewer</a></li><li><a href="./guides/convert-automation.html">Convert a Cursor Automation</a></li><li><a href="./building-with-agents.html">Building agents with agents</a></li><li><a href="./evals.html">Evals</a></li><li><a href="./hillclimbing.html">Hillclimbing</a></li><li><a href="./reference/project-layout.html">Project layout</a></li></ul></div></div></main><footer class="VPDocFooter" data-v-38549ef7 data-v-215f93e6><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-215f93e6><span class="visually-hidden" id="doc-footer-aria-label" data-v-215f93e6>Pager</span><div class="pager" data-v-215f93e6><a class="VPLink link pager-link prev" href="/docs/quickstart.html" data-v-215f93e6><!--[--><span class="desc" data-v-215f93e6>Previous page</span><span class="title" data-v-215f93e6>Quickstart</span><!--]--></a></div><div class="pager" data-v-215f93e6><a class="VPLink link pager-link next" href="/docs/guides/convert-automation.html" data-v-215f93e6><!--[--><span class="desc" data-v-215f93e6>Next page</span><span class="title" data-v-215f93e6>Convert a Cursor Automation</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
|
|
24
|
+
<script>window.__VP_HASH_MAP__=JSON.parse("{\"ab.md\":\"mlVgqvSk\",\"building-with-agents.md\":\"CUSWxlP_\",\"concepts.md\":\"DgEcZOfT\",\"deployment.md\":\"JenwuCCB\",\"evals.md\":\"C1ekS3k2\",\"guides_agent-to-agent.md\":\"BDb0t1QV\",\"guides_cloud-agents.md\":\"BsloyHdY\",\"guides_convert-automation.md\":\"B4sjlodG\",\"guides_github.md\":\"BH33UEBJ\",\"guides_grokbot-agents.md\":\"DyV-WArv\",\"guides_human-in-the-loop.md\":\"By1G2T3_\",\"guides_improve.md\":\"BGVk32bK\",\"guides_mcp-oauth.md\":\"Dp6cDP7f\",\"guides_opentelemetry.md\":\"SCRMskno\",\"guides_slack.md\":\"D4RVMM4G\",\"guides_webhooks.md\":\"DKdA43Qm\",\"hillclimbing.md\":\"CpTGTCle\",\"index.md\":\"BjH1w2ZW\",\"quickstart.md\":\"DdQOF7Y8\",\"reference_agent-config.md\":\"CvoL6pof\",\"reference_artifacts.md\":\"Dior32Qw\",\"reference_channels.md\":\"D-qTqwcq\",\"reference_cli.md\":\"Ca26u0Es\",\"reference_connections.md\":\"BojkC6c5\",\"reference_extensions.md\":\"CPWt00ds\",\"reference_hooks.md\":\"Ddt5DdgJ\",\"reference_http-api.md\":\"oySXBO8o\",\"reference_instructions.md\":\"CR7XSsGk\",\"reference_playground.md\":\"4myJPxrf\",\"reference_project-layout.md\":\"DuBu9a96\",\"reference_prompt.md\":\"DnaD5dNK\",\"reference_result.md\":\"BK5SxDrf\",\"reference_schedules.md\":\"DI_JrHgq\",\"reference_sessions.md\":\"CueyOHSL\",\"reference_skills.md\":\"l2ezAcaN\",\"reference_subagents.md\":\"CfsIloPm\",\"reference_tools.md\":\"aGrn99hP\",\"scaffolding-agents.md\":\"Kctn3OVb\",\"skills_ab.md\":\"CsFNatVx\",\"skills_create-agent.md\":\"Q3h6Je-e\",\"skills_debug.md\":\"CVjCXMFF\",\"skills_evals.md\":\"BhovOvrl\",\"skills_framework-map.md\":\"D-tFZhFS\",\"skills_github.md\":\"hgFX_oKY\",\"skills_hillclimb.md\":\"B_zJerxA\",\"skills_index.md\":\"DKwIxzGg\",\"skills_mcp-auth.md\":\"DGvFP3HE\",\"skills_otel.md\":\"B5Ddv1xH\",\"skills_setup-slack.md\":\"BBgx8lUz\",\"storage.md\":\"BOHeqk2M\",\"templates_agentic-owners.md\":\"BZSH4N9z\",\"templates_agents-md.md\":\"CXSMZljE\",\"templates_code-wiki.md\":\"CDYZIBFN\",\"templates_demo.md\":\"BeQX9V3H\",\"templates_grokbot-agents.md\":\"c1s6Flp9\",\"templates_pr-autofixer.md\":\"Bds_XWcV\",\"templates_security-help.md\":\"C3Ny_Qr2\",\"templates_security-reviewer.md\":\"lshxbCLK\",\"templates_triage.md\":\"Co4UNzkZ\",\"troubleshooting.md\":\"CYEAO9bM\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Agent SDK\",\"description\":\"Filesystem-first framework for building and serving Cursor agents.\",\"base\":\"/docs/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"sdkVersion\":\"0.1.108\",\"nav\":[{\"text\":\"Quickstart\",\"link\":\"/quickstart\"},{\"text\":\"Guides\",\"link\":\"/guides/webhooks\"},{\"text\":\"Templates\",\"link\":\"/templates/demo\"},{\"text\":\"Reference\",\"link\":\"/reference/project-layout\"}],\"search\":{\"provider\":\"local\"},\"outline\":{\"level\":[2,3]},\"sidebar\":[{\"text\":\"Getting started\",\"items\":[{\"text\":\"Overview\",\"link\":\"/\"},{\"text\":\"Quickstart\",\"link\":\"/quickstart\"},{\"text\":\"Scaffold an agent with Cursor\",\"link\":\"/scaffolding-agents\"},{\"text\":\"Convert a Cursor Automation\",\"link\":\"/guides/convert-automation\"},{\"text\":\"Concepts\",\"link\":\"/concepts\"}]},{\"text\":\"Templates\",\"items\":[{\"text\":\"Demo agent\",\"link\":\"/templates/demo\"},{\"text\":\"Grok Bot agents\",\"link\":\"/templates/grokbot-agents\"},{\"text\":\"Code wiki\",\"link\":\"/templates/code-wiki\"},{\"text\":\"Living AGENTS.md\",\"link\":\"/templates/agents-md\"},{\"text\":\"Security reviewer\",\"link\":\"/templates/security-reviewer\"},{\"text\":\"Security help\",\"link\":\"/templates/security-help\"},{\"text\":\"Agentic Owners\",\"link\":\"/templates/agentic-owners\"},{\"text\":\"PR autofixer\",\"link\":\"/templates/pr-autofixer\"},{\"text\":\"Triage agent\",\"link\":\"/templates/triage\"}]},{\"text\":\"Improving agents\",\"items\":[{\"text\":\"Building agents with agents\",\"link\":\"/building-with-agents\"},{\"text\":\"Evals\",\"link\":\"/evals\"},{\"text\":\"Live A/B metrics\",\"link\":\"/ab\"},{\"text\":\"Storage\",\"link\":\"/storage\"},{\"text\":\"Hillclimbing\",\"link\":\"/hillclimbing\"}]},{\"text\":\"Coding-agent skills\",\"collapsed\":true,\"items\":[{\"text\":\"Overview\",\"link\":\"/skills/\"},{\"text\":\"ab\",\"link\":\"/skills/ab\"},{\"text\":\"create-agent\",\"link\":\"/skills/create-agent\"},{\"text\":\"debug\",\"link\":\"/skills/debug\"},{\"text\":\"evals\",\"link\":\"/skills/evals\"},{\"text\":\"framework-map\",\"link\":\"/skills/framework-map\"},{\"text\":\"github\",\"link\":\"/skills/github\"},{\"text\":\"hillclimb\",\"link\":\"/skills/hillclimb\"},{\"text\":\"mcp-auth\",\"link\":\"/skills/mcp-auth\"},{\"text\":\"otel\",\"link\":\"/skills/otel\"},{\"text\":\"setup-slack\",\"link\":\"/skills/setup-slack\"}]},{\"text\":\"Guides\",\"items\":[{\"text\":\"Webhooks & custom channels\",\"link\":\"/guides/webhooks\"},{\"text\":\"GitHub\",\"link\":\"/guides/github\"},{\"text\":\"Slack\",\"link\":\"/guides/slack\"},{\"text\":\"Human-in-the-loop approvals\",\"link\":\"/guides/human-in-the-loop\"},{\"text\":\"Agent-to-agent\",\"link\":\"/guides/agent-to-agent\"},{\"text\":\"Host MCP OAuth\",\"link\":\"/guides/mcp-oauth\"},{\"text\":\"Cursor cloud agents\",\"link\":\"/guides/cloud-agents\"},{\"text\":\"Cursor Grok Bot agents\",\"link\":\"/guides/grokbot-agents\"},{\"text\":\"Self-improvement\",\"link\":\"/guides/improve\"},{\"text\":\"OpenTelemetry\",\"link\":\"/guides/opentelemetry\"}]},{\"text\":\"Operating\",\"items\":[{\"text\":\"Deployment\",\"link\":\"/deployment\"},{\"text\":\"Fix common problems\",\"link\":\"/troubleshooting\"}]},{\"text\":\"Reference\",\"collapsed\":false,\"items\":[{\"text\":\"Project layout\",\"link\":\"/reference/project-layout\"},{\"text\":\"Agent config\",\"link\":\"/reference/agent-config\"},{\"text\":\"Instructions\",\"link\":\"/reference/instructions\"},{\"text\":\"Tools\",\"link\":\"/reference/tools\"},{\"text\":\"prompt\",\"link\":\"/reference/prompt\"},{\"text\":\"Skills\",\"link\":\"/reference/skills\"},{\"text\":\"MCP Connections\",\"link\":\"/reference/connections\"},{\"text\":\"Subagents\",\"link\":\"/reference/subagents\"},{\"text\":\"Extensions\",\"link\":\"/reference/extensions\"},{\"text\":\"Channels\",\"link\":\"/reference/channels\"},{\"text\":\"Schedules & reminders\",\"link\":\"/reference/schedules\"},{\"text\":\"Hooks\",\"link\":\"/reference/hooks\"},{\"text\":\"Artifacts\",\"link\":\"/reference/artifacts\"},{\"text\":\"Turn result\",\"link\":\"/reference/result\"},{\"text\":\"Sessions & streaming\",\"link\":\"/reference/sessions\"},{\"text\":\"Playground\",\"link\":\"/reference/playground\"},{\"text\":\"CLI\",\"link\":\"/reference/cli\"},{\"text\":\"HTTP API\",\"link\":\"/reference/http-api\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
|
25
25
|
|
|
26
26
|
</body>
|
|
27
27
|
</html>
|
|
@@ -108,7 +108,8 @@ Cursor checks the project in this order:
|
|
|
108
108
|
|
|
109
109
|
Validation, discovery, direct server-tool calls, and server startup work
|
|
110
110
|
without a Cursor credential. Model turns and evals need
|
|
111
|
-
`CURSOR_API_KEY`
|
|
111
|
+
`CURSOR_API_KEY`, then `CURSOR_API_KEY_FILE` (hosted default `/run/cursor/secrets/CURSOR_API_KEY`), then `CURSOR_SERVICE_ACCOUNT_KEY`, then a saved
|
|
112
|
+
`agent-sdk login`.
|
|
112
113
|
|
|
113
114
|
## What happens after the first agent works?
|
|
114
115
|
|