feat(sync): pull canonical agent skills from the protocol tarball#965
Merged
Conversation
scripts/sync-schemas.ts now extracts protocol-managed skills (call-adcp-agent
plus the six per-protocol skills: adcp-{brand,creative,governance,media-buy,
si,signals}) from /protocol/<version>.tgz alongside schemas and compliance.
Manifest-driven and per-name: only directories enumerated in
manifest.contents.skills are overwritten. SDK-local skills (build-seller-agent,
build-creative-agent, the legacy adcp CLI skill, etc.) stay untouched.
Filters out nested schemas/ subdirs from each per-protocol skill — the spec
repo bundles them for self-contained agent consumption, but @adcp/client
already has the canonical schemas in schemas/cache/<version>/, so re-copying
would duplicate ~1.4MB per protocol with no functional gain.
Adds an ADCP_BASE_URL env override (defaults to https://adcontextprotocol.org)
so CI / local dev can point sync at a fake CDN for testing.
The buyer-side call-adcp-agent skill is now sourced from the spec repo
(adcontextprotocol/adcp#3097) rather than maintained as a local copy —
version-pinned to ADCP_VERSION, Sigstore-verified via the same cosign path
as schemas, no manual sync.
Tested end-to-end against a local CDN serving a release-built tarball: all
seven protocol-managed skills extracted; SDK-local skills (adcp/, build-*)
untouched; nested schemas/ subdirs filtered (1 file per skill, ~80K total
vs. 1.4MB+ per protocol unfiltered).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This was referenced Apr 25, 2026
Closed
This was referenced Apr 25, 2026
Closed
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Companion PR to adcontextprotocol/adcp#3097 (merged). Wires
scripts/sync-schemas.tsto extract protocol-managed agent skills from/protocol/<version>.tgzalongside schemas and compliance.manifest.contents.skills) and per-name. Only the seven protocol-managed skills (call-adcp-agent, plusadcp-{brand,creative,governance,media-buy,si,signals}) are overwritten on each sync. SDK-local skills (build-seller-agent,build-creative-agent, the legacyadcpCLI skill, etc.) stay untouched.schemas/subdirs inside each per-protocol skill are filtered out — the spec repo bundles them for self-contained agent consumption, but@adcp/clientalready has the canonical schemas inschemas/cache/<version>/, so re-copying would inflate the package by ~1.4MB per protocol with no functional gain. Filtered: ~80KB total across all seven skills.ADCP_BASE_URLenv override added (defaults tohttps://adcontextprotocol.org) so CI / local dev can point sync at a fake CDN for testing.call-adcp-agentskill is now sourced from the spec repo rather than maintained as a local copy — version-pinned toADCP_VERSION, Sigstore-verified via the same cosign path as schemas, no manual sync.What changes for end users of @adcp/client
npm run sync-schemas,node_modules/@adcp/client/skills/contains the buyer + per-protocol skills version-aligned with the bundled schemas.call-adcp-agentand what the spec actually says.Test plan
npx tsc --noEmitcleanSYNCED=7)adcp/,build-*) untouched (verified by pre-populating a marker file)call-adcp-agent/SKILL.mdreplaced with canonical (frontmatteradcp_version: "3.x",type: cross-cutting)schemas/subdirs filtered: 1 file per skill, ~80K total vs. 1.4MB+ per protocol unfilteredhttps://adcontextprotocol.org/protocol/latest.tgzdeploy completes (in flight from adcp@49420b101),npm run sync-schemasagainst production picks up skillsFollow-ups (separate issues, separate SDKs)
skills/(issue to be filed)skills[].sha256to the manifest so SDK consumers can detect skill-only changes between versions without diffing files (DX-expert recommendation from the upstream review).🤖 Generated with Claude Code