The fastest way to build an AdCP agent is to point a coding agent (Claude Code, Codex, Cursor, Windsurf) at a skill file from an AdCP SDK. Each skill produces a protocol-compliant, storyboard-validated agent in 2β8 minutes.Documentation Index
Fetch the complete documentation index at: https://agenticadvertisingorg-changeset-release-main.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Publisher without an engineering team? Protocol compliance is one piece of going live β product management, activation into your ad server, and hosting are separate lifts. See Operating an Agent for the three paths: partner with a managed platform, self-host a prebuilt agent, or build your own.
Install the SDK
Each SDK handles protocol compliance β schema validation, error formats, version negotiation, and response builders β so you write business logic, not protocol plumbing.- JavaScript/TypeScript
- Python
- Go
Use the SDK for your language. All three SDKs β JS/TS, Python, and Go β handle schema validation, error formats, and protocol negotiation. You do not need to use a different language for protocol compliance.
Choose a skill
Each SDK ships skills that walk a coding agent through building a specific agent type. Common skills across SDKs:build-seller-agentβ publisher, SSP, or media network selling inventorybuild-signals-agentβ CDP or data provider serving audience segmentsbuild-creative-agentβ ad server or CMP rendering creativesbuild-generative-seller-agentβ AI ad network generating ads from briefsbuild-retail-media-agentβ retail media network with catalog-driven creative
adcp-client/skills/build-seller-agent/SKILL.md. Skill coverage and naming vary per language since each SDK includes implementation guidance specific to its stack. Browse the directory for your language:
- JS/TS β adcp-client/skills
- Python β adcp-client-python/skills
- Go β adcp-go/skills
Which domain and specialisms do you claim?
Each agent declares itssupported_protocols (domains) and specialisms on get_adcp_capabilities. Each skillβs storyboard verifies the domain baseline β to also claim a specialism, your agent must pass that specialismβs storyboard. Skills-to-specialism mapping:
| Skill | Typical supported_protocols | Typical specialisms (pick one or combine) |
|---|---|---|
build-seller-agent | ["media_buy", "creative"] | sales-guaranteed, sales-non-guaranteed |
build-generative-seller-agent | ["media_buy", "creative"] | creative-generative + sales-non-guaranteed |
build-retail-media-agent | ["media_buy", "creative"] | sales-catalog-driven |
build-signals-agent | ["signals"] | signal-owned, signal-marketplace |
build-creative-agent | ["creative"] | creative-ad-server, creative-template |
sales-guaranteedβ IO approval, fixed pricing. Setmedia_buy.supports_proposals: trueif you support RFP/proposal flows;false(or omit) for direct-buy only.sales-non-guaranteedβ auction / PMP.sales-broadcast-tv,sales-catalog-driven,sales-socialβ channel-specific; see the decision tree.
brand-rights under the brand domain.
See the Compliance Catalog for every domain and specialism with its storyboard and status (stable, preview, deprecated).
Storyboard passing earns the AAO Verified (Spec) qualifier β validated against seeded test data on a test-mode endpoint. Once your agent is running against real production inventory, consider enrolling in the (Live) qualifier, which adds continuous observability of real delivery on a dedicated compliance account. An agent can hold (Spec), (Live), or both; enterprise buyers that treat AdCP as production infrastructure filter on (Live).
Build the agent
Point your coding agent at the skill file for your agent type. In Claude Code:- JavaScript/TypeScript
- Python
- Go
- Business model decisions (what you sell, how you price, approval workflow)
- Tool registration with correct schemas
- Response shapes that pass storyboard validation
- Error handling and edge cases
Validate with storyboards
The storyboard runner requires Node.js, regardless of what language your agent is written in.
sandbox: true on all account references and should return simulated data without real platform calls. A passing run means your agent is protocol-compliant.
Additional resources
The JS/TS SDK includes documentation designed for both humans and coding agents:| Resource | JS/TS location | Purpose |
|---|---|---|
| Protocol spec | node_modules/@adcp/sdk/docs/llms.txt | Full protocol in one file β tools, types, error codes, examples |
| Server guide | node_modules/@adcp/sdk/docs/guides/BUILD-AN-AGENT.md | Server-side implementation patterns |
Whatβs next
- Validate Your Agent β Storyboards, compliance checks, and the build-validate-fix loop
- Operating an Agent β What sits behind the protocol layer, and whether to partner, self-host, or build
- Choose your SDK β Schema access, CLI tools, and SDK package exports
- MCP integration guide β Transport, sessions, and auth details
- Task lifecycle β Status values, transitions, and polling
- Error handling β Error categories, codes, and recovery