adcontextprotocol/adcp/adcp-governance

Claude Code and agent skill by adcontextprotocol/adcp

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Execute AdCP Governance Protocol operations with governance agents - manage property lists, collection lists, content standards, and campaign governance (plans, checks, outcomes, audit trail). Use when users want to create include/exclude lists, set up brand safety rules, validate content delivery, register campaign plans, validate actions against policy, or produce internal/shareable audit trails.

Install

npx vskill@latest install adcontextprotocol/adcp/adcp-governance

SKILL.md

AdCP Governance Protocol

This skill enables you to execute the AdCP Governance Protocol with governance agents. Covers four areas: property lists (site-level targeting), collection lists (program-level targeting), content standards (brand safety rules), and campaign governance (plans, checks, outcomes, audit trail).

Buyer-side basics — idempotency replay, oneOf variants, async status:'submitted' polling, error recovery from adcp_error.issues[] — live in skills/call-adcp-agent/SKILL.md. This skill covers per-task semantics only.

Overview

The Governance Protocol provides 21 standardized tasks across four areas:

Property Lists
TaskPurposeResponse Time
create_property_listCreate include/exclude list~1s
update_property_listModify list filters/properties~1s
get_property_listRetrieve list with optional resolution~1-5s
list_property_listsList all accessible lists~1s
delete_property_listDelete a list~1s
Collection Lists
TaskPurposeResponse Time
create_collection_listCreate program-level list~1s
update_collection_listModify list~1s
get_collection_listRetrieve with optional resolution~1-5s
list_collection_listsList all accessible lists~1s
delete_collection_listDelete a list~1s
Content Standards
TaskPurposeResponse Time
create_content_standardsCreate brand safety rules~1s
get_content_standardsRetrieve standards by ID~1s
update_content_standardsModify rules~1s
list_content_standardsList all accessible standards~1s
calibrate_contentTest content against standards~5-30s
get_media_buy_artifactsGet creatives for compliance review~5s
validate_content_deliveryAudit delivery compliance~10-60s
Campaign Governance
TaskPurposeResponse Time
sync_plansPush or update a campaign plan with budget authority and policies~1s
check_governanceValidate an action (intent or execution) against the plan~1-5s
report_plan_outcomeReport a completed action so plan budget state advances~1s
get_plan_audit_logsRetrieve governance state, budget tracking, and audit trail~1-5s
Experimental in 3.0. Campaign governance may change between 3.x releases with at least 6 weeks' notice. Sellers MUST declare governance.campaign in experimental_features to participate. See experimental status.

Typical Workflow

Property Lists (site-level)
  1. Create list: create_property_list with base properties and filters
  2. Resolve: get_property_list with resolve: true to see matched properties
  3. Refine: update_property_list to adjust filters
  4. Apply: Reference list_id in create_media_buy targeting
Collection Lists (program-level, CTV)
  1. Create list: create_collection_list with distribution IDs or genre filters
  2. Resolve: get_collection_list with resolve: true to see matched programs
  3. Apply: Reference in campaign targeting for CTV brand safety
Content Standards
  1. Create standards: create_content_standards with rules
  2. Calibrate: calibrate_content with test samples to validate configuration
  3. Monitor: get_media_buy_artifacts + validate_content_delivery for ongoing compliance
Campaign Governance
  1. Sync governance agents to seller accounts via sync_governance (lives in the Accounts protocol)
  2. Register the plan: sync_plans with budget authority, channel allocation, and resolved policy IDs
  3. Validate actions: check_governance on intent (pre-discovery) and execution (pre-buy). Returns an opaque governance_context token the seller echoes on subsequent checks.
  4. Report outcomes: report_plan_outcome so committed/remaining budget advances
  5. Audit and produce shareable views: get_plan_audit_logs filtered by governance_contexts for the requesting party. See audit trail: internal vs shareable views.

Task Reference

create_property_list

Create a property list for brand safety and inventory targeting.

Request:

json
{
"name": "Premium News Properties",
"description": "Tier 1 news publishers for brand campaigns",
"base_properties": [
{
"selection_type": "publisher_tags",
"publisher_domain": "publisher.com",
"tags": ["premium", "news"]
}
],
"filters": {
"countries_all": ["US", "GB"],
"channels_any": ["display", "video"]
},
"brand": {
"domain": "acmecorp.com"
}
}

Key fields:

  • name (string, required): Human-readable name
  • description (string, optional): Purpose of the list
  • base_properties (array, optional): Property sources — publisher_tags, publisher_ids, or identifiers
  • filters (object, optional): Resolution filters — countries_all, channels_any, property_types, feature_requirements, exclude_identifiers
  • brand (object, optional): Brand reference for automatic rule inference

update_property_list

Modify an existing property list.

Request:

json
{
"list_id": "pl_abc123",
"filters": {
"countries_all": ["US", "GB", "DE"],
"channels_any": ["display", "video", "ctv"]
}
}

Key fields:

  • list_id (string, required): Property list identifier
  • name, description (string, optional): Update metadata
  • base_properties (array, optional): Replace property sources
  • filters (object, optional): Replace filter configuration

get_property_list

Retrieve a property list with optional resolution.

Request:

json
{
"list_id": "pl_abc123",
"resolve": true,
"max_results": 50
}

Key fields:

  • list_id (string, required): Property list identifier
  • resolve (boolean, optional): Resolve filters and return property identifiers (default: false)
  • max_results (number, optional): Max properties when resolved

list_property_lists

List all property lists accessible to the authenticated principal.

Request:

json
{
"name_contains": "premium"
}

Key fields:

  • name_contains (string, optional): Filter by name substring
  • max_results (number, optional): Max results

delete_property_list

Delete a property list.

Request:

json
{
"list_id": "pl_abc123"
}

Key fields:

  • list_id (string, required): Property list identifier to delete

create_collection_list

Create a collection list for program-level brand safety (CTV, podcast, streaming).

Request:

json
{
"name": "Family-Safe CTV Programs",
"description": "Programs suitable for family brand campaigns",
"base_collections": [
{
"selection_type": "publisher_genres",
"publisher_domain": "ctv-publisher.com",
"genres": ["family", "comedy"],
"genre_taxonomy": "iab_content_taxonomy_3.0"
}
],
"filters": {
"content_ratings_exclude": [
{ "system": "us_tv", "rating": "TV-MA" }
],
"kinds": ["series"]
},
"brand": {
"domain": "familybrand.com"
}
}

Key fields:

  • name (string, required): Human-readable name
  • base_collections (array, optional): Collection sources — distribution_ids, publisher_collections, or publisher_genres
  • filters (object, optional): content_ratings_exclude, content_ratings_include, genres_exclude, genres_include, kinds, production_quality
  • brand (object, optional): Brand reference

Distribution identifier types: imdb_id, gracenote_id, eidr_id


update_collection_list

Modify an existing collection list.

Request:

json
{
"list_id": "cl_abc123",
"filters": {
"content_ratings_exclude": [
{ "system": "us_tv", "rating": "TV-MA" },
{ "system": "us_tv", "rating": "TV-14" }
]
}
}

Key fields:

  • list_id (string, required): Collection list identifier
  • base_collections, filters (optional): Replace configuration

get_collection_list

Retrieve a collection list with optional resolution.

Request:

json
{
"list_id": "cl_abc123",
"resolve": true
}

Key fields:

  • list_id (string, required): Collection list identifier
  • resolve (boolean, optional): Resolve and return collection entries
  • max_results (number, optional): Max collections when resolved

list_collection_lists

List all collection lists accessible to the authenticated principal.

Request:

json
{
"name_contains": "family"
}

delete_collection_list

Delete a collection list.

Request:

json
{
"list_id": "cl_abc123"
}

create_content_standards

Create content standards (brand safety rules) for campaign compliance.

Request:

json
{
"name": "Automotive Brand Safety",
"description": "Content rules for automotive brand campaigns",
"rules": [
{ "rule_type": "category", "action": "block", "value": "violence", "severity": "critical" },
{ "rule_type": "category", "action": "block", "value": "adult", "severity": "critical" },
{ "rule_type": "keyword", "action": "flag", "value": "accident", "severity": "medium" }
],
"brand": {
"domain": "automaker.com"
}
}

Key fields:

  • name (string, required): Human-readable name
  • rules (array, optional): Content rules — rule_type, action (allow/block/flag), value, severity
  • brand (object, optional): Brand reference for automatic rule inference

get_content_standards

Retrieve content standards by ID.

Request:

json
{
"standards_id": "cs_abc123"
}

update_content_standards

Modify existing content standards.

Request:

json
{
"standards_id": "cs_abc123",
"rules": [
{ "rule_type": "category", "action": "block", "value": "violence", "severity": "critical" }
]
}

list_content_standards

List all content standards accessible to the authenticated principal.

Request:

json
{
"name_contains": "automotive"
}

calibrate_content

Test content samples against content standards to validate configuration.

Request:

json
{
"standards_id": "cs_abc123",
"samples": [
{ "url": "https://example.com/article1", "expected_result": "allow" },
{ "url": "https://example.com/article2", "expected_result": "block" },
{ "text": "Car crash injures three people", "expected_result": "block" }
]
}

Key fields:

  • standards_id (string, required): Content standards to calibrate against
  • samples (array, required): Content samples with url and/or text, and optional expected_result

get_media_buy_artifacts

Get creative artifacts from a media buy for compliance review.

Request:

json
{
"media_buy_id": "mb_abc123",
"sales_agent_url": "https://sales.publisher.com"
}

Key fields:

  • media_buy_id (string, required): Media buy identifier
  • sales_agent_url (string, required): Sales agent that owns the media buy

validate_content_delivery

Validate delivered content against content standards.

Request:

json
{
"standards_id": "cs_abc123",
"media_buy_id": "mb_abc123",
"sales_agent_url": "https://sales.publisher.com",
"date_range": {
"start": "2025-01-01",
"end": "2025-01-31"
}
}

Key fields:

  • standards_id (string, required): Content standards to validate against
  • media_buy_id (string, required): Media buy identifier
  • sales_agent_url (string, required): Sales agent URL
  • date_range (object, optional): Filter by delivery date range

sync_plans

Register or update a campaign plan that defines authorized parameters (budget, channels, policies) for an orchestrator's autonomous action.

This is the start of the file. Read the full SKILL.md on GitHub.

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/adcontextprotocol/adcp/adcp-governance/badge)](https://verified-skill.com/skills/adcontextprotocol/adcp/adcp-governance)

Something wrong with this skill or its page? Tell us.