Help us improve
Share bugs, ideas, or general feedback.
From ucp-agentic-commerce
Implements UCP patterns: capability negotiation with caching, idempotency keys via Redis/DB, error resolution loops for checkouts, multi-binding REST/MCP/A2A servers. For UCP internal architecture.
npx claudepluginhub orcaqubits/agentic-commerce-skills-plugins --plugin ucp-agentic-commerceHow this skill is triggered — by the user, by Claude, or both
Slash command
/ucp-agentic-commerce:ucp-dev-patternsThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Fetch live reference**: Web-search `site:ucp.dev specification reference` for the latest data model definitions and enum values. Also check https://ucp.dev/2026-01-23/documentation/core-concepts/ for architectural guidance.
Scaffolds UCP projects for merchant servers or platform clients, including SDK installs (Python/JS), discovery profile, and structure. Use when starting UCP implementations.
Applies AP2 development patterns for multi-agent payment architecture, UCP integration, x402 crypto payments, mock provider testing, and production deployment in agentic payment systems.
Provides ACP patterns for idempotency, error handling, 3D Secure flows, request signing, rate limiting, monitoring, and security best practices. Use when designing architecture or addressing production issues.
Share bugs, ideas, or general feedback.
Fetch live reference: Web-search site:ucp.dev specification reference for the latest data model definitions and enum values. Also check https://ucp.dev/2026-01-23/documentation/core-concepts/ for architectural guidance.
Every request/response pair involves negotiation:
UCP-Agent header with its profile URIucp objectCaching: Cache the platform profile with a TTL (e.g., 5 minutes). Don't re-fetch on every request.
Version compatibility: If platform version > business version, return version_unsupported. If platform version <= business version, process using the platform's version semantics.
Every mutating operation uses Idempotency-Key (UUID):
Storage: Use Redis, database table, or in-memory store depending on scale. Key = idempotency_key, Value = serialized response + status code.
Race condition: If two identical requests arrive simultaneously, use locking (database row lock, Redis SETNX) to ensure only one processes.
The core Platform pattern for driving checkout to completion:
1. Create checkout
2. LOOP:
a. Inspect status
b. If "incomplete": read messages, resolve recoverable errors, update checkout, goto 2
c. If "requires_escalation": surface continue_url to user, wait, goto 2
d. If "ready_for_complete": acquire payment credential, call complete
e. If "complete_in_progress": payment is being processed, poll/wait, goto 2
f. If "completed": done — extract order
g. If "canceled": done — report to user
3. Timeout after N iterations or session expiry
Error resolution heuristics:
missing_shipping_address → prompt user for address, update checkoutmissing_email → prompt user for email, update checkoutinvalid_cart_items → item unavailable, suggest alternatives or removediscount_code_invalid → inform user, remove codeA single Business server can support REST + MCP + A2A simultaneously:
app/
├── core/
│ ├── checkout_service.py # Shared business logic (binding-agnostic)
│ ├── negotiation.py # Capability negotiation
│ └── models.py # UCP data models (from SDK)
├── bindings/
│ ├── rest/
│ │ └── routes.py # REST endpoints
│ ├── mcp/
│ │ └── tools.py # MCP tool handlers
│ └── a2a/
│ └── agent.py # A2A agent message handler
└── discovery.py # /.well-known/ucp serving all bindings
The key: all bindings share the same core business logic. The binding layer only handles transport-specific concerns (HTTP headers vs JSON-RPC envelope vs A2A message parts).
2999.items_discount, subtotal, discount, fulfillment, tax, fee, total.Business (sender):
Platform (receiver):
event_idRequest-Signature before processingcreated_time to determine freshness)Always check these for the latest developments before major implementation decisions: