Agent skill

acp-fulfillment

Implement ACP fulfillment options — shipping, digital delivery, in-store pickup, and local delivery. Use when building fulfillment selection, rate calculation, delivery window management, or tracking integration.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/acp-fulfillment

SKILL.md

ACP Fulfillment

Before writing code

Fetch live docs:

  1. Fetch https://developers.openai.com/commerce/specs/checkout/ — fulfillment options are part of the checkout spec
  2. Web-search site:github.com agentic-commerce-protocol spec json-schema FulfillmentOption for the schema
  3. Web-search site:github.com agentic-commerce-protocol rfcs orders fulfillment for fulfillment in orders

Conceptual Architecture

Four Fulfillment Types

Type Use Case Key Fields
shipping Physical delivery to address Carrier, tracking number/URL, delivery windows
digital Downloads, licenses, access Access URL, license key, expiration date
pickup In-store or locker collection Location, ready-by window, pickup-by deadline
local_delivery Same-day/local service delivery Service area, delivery window

How Fulfillment Works in Checkout

  1. Create session — Merchant returns available fulfillment_options[] based on items and address
  2. Agent selects — Agent (or buyer) picks a fulfillment_option_id
  3. Update session — Agent sends the chosen fulfillment_option_id in an update
  4. Merchant recalculates — Totals update to include fulfillment cost
  5. Post-purchase — Merchant emits order updates with tracking and delivery details

FulfillmentOption Object

Each option includes:

  • id — Unique identifier for this option
  • type — One of the four types above
  • title — Display name (e.g., "Standard Shipping")
  • subtitle — Additional info (e.g., "5-7 business days")
  • carrier — Carrier name for shipping
  • Delivery window (estimated dates/times)
  • Pricing — Cost of this fulfillment option

Delivery Windows

Time-based constraints:

  • Estimated delivery — Date range for when buyer can expect delivery
  • Ready-by (pickup) — When the order will be ready for collection
  • Pickup-by (pickup) — Deadline to collect before order is returned
  • Delivery window (local delivery) — Time slot for delivery

Fulfillment in Orders

After checkout completion, fulfillment details appear in order webhook events:

  • Tracking number and tracking URL
  • Carrier name
  • Shipment status updates
  • Delivery confirmation

Best Practices

  • Return all available fulfillment options on session create (not just the cheapest)
  • Compute fulfillment costs based on actual address (not estimates)
  • Include realistic delivery windows — agents present these to buyers
  • Update tracking information in real-time via order webhooks
  • Support multiple fulfillment groups for split shipments
  • Handle address validation before computing fulfillment options

Fetch the checkout spec and JSON schema for exact FulfillmentOption field names, types, and required fields before implementing.

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results