Skip to main content

Command Palette

Search for a command to run...

Agent SDK

Build with a coding agent

A coding agent in your checkout can create an Agent SDK project, call its tools, run a real turn, and check the result from the CLI. You approve the plan and any side effects.

To let a running agent change its own source, see the self-improvement extension.

Create an agent from a goal

Tell the coding agent what the agent is for and where people reach it, and ask it to follow the bdk-create-agent skill. It asks for any decisions you haven't made, shows a file plan, and scaffolds a small first version with a smoke eval.

Add one capability

For an existing project, name the outcome and point the coding agent at the matching skill, such as bdk-setup-slack, bdk-mcp-auth, or bdk-github. For example:

Add Slack mentions and DMs to this agent. Follow the bdk-setup-slack skill, keep replies in the source thread, and verify one local mention.

Connect the private inventory MCP server with host OAuth. Keep its write tools behind a narrow server-tool wrapper.

Add a GitHub ready-for-review trigger and replay PR 42 before posting anything live.

Verify tools before tuning the prompt

Have the coding agent call tools directly and fix any that return the wrong evidence before it touches the instructions. Then it runs one real turn, reads the trace that run prints, and runs the smoke evals:

agent-sdk validate --dir .agent-sdk info --dir . --jsonagent-sdk tool call inspect_pr --dir . --input '{"prUrl":"https://github.com/acme/checkout/pull/42"}'agent-sdk run --dir . --message "Is https://github.com/acme/checkout/pull/42 ready to approve?"agent-sdk session get --file <trace-path-printed-by-run>agent-sdk eval --dir . --tag smoke

Finish with the project's TypeScript check, because a passing turn doesn't prove the project type-checks. Only run and eval need a Cursor credential, and Environment variables lists the ways to provide one.

Improve a working agent

Once a smoke turn passes, follow Hillclimbing to improve the agent against fixed inputs.