
Ucp
Wire your coding agent to search merchant catalogs, build carts, and complete or hand off UCP checkouts via the Shopify UCP CLI.
Overview
ucp is an agent skill for the Build phase that runs the UCP CLI to find, compare, buy, and track products across UCP merchants.
Install
npx skills add https://github.com/shopify/shopify-ai-toolkit --skill ucpWhat is this skill?
- Decision table routes find, compare, buy, and track intents to concrete UCP CLI flows
- Global catalog search plus named-merchant carts, checkout, and order follow-up
- Profile setup with `ucp profile init` and health checks via `ucp doctor`
- Graceful merchant-hosted handoff when in-protocol checkout is unavailable
- Requires `ucp` binary—documented in skill compatibility metadata
- Requires UCP CLI (`requires_bin: ucp`)
- Skill metadata version 1.9.0
Adoption & trust: 1.3k installs on skills.sh; 373 GitHub stars; 1/3 security scanners passed (skills.sh audits).
What problem does it solve?
Your agent can chat about shopping but has no reliable, merchant-scoped path to search catalogs, manage carts, or finish checkout from the terminal.
Who is it for?
Solo builders adding real purchase and order-tracking behavior to Claude Code, Cursor, or Codex agents that already target ecommerce use cases.
Skip if: Teams building static marketing sites, custom checkout without UCP, or agents blocked from installing CLI tools and calling merchant networks.
When should I use this skill?
User wants UCP CLI to find, compare, buy, or track products; set up or troubleshoot local UCP profile; carts, checkout, orders, or UCP setup/help.
What do I get? / Deliverables
Buyer utterances resolve to documented `ucp` subcommands, working profiles, and checkout or handoff flows instead of ad-hoc API guesses.
- Routed UCP CLI command sequences per buyer intent
- Profile init/doctor steps or merchant handoff when direct checkout is unavailable
Recommended Skills
Journey fit
Commercial buyer flows are implemented as agent–merchant integrations during product build, not as a one-off launch or ops task. The skill maps buyer intent to `ucp` commands (profile, search, carts, checkout, orders)—classic third-party CLI integration work.
How it compares
Use this procedural UCP command map instead of prompting the model to invent REST or GraphQL checkout steps merchant by merchant.
Common Questions / FAQ
Who is ucp for?
Indie developers and small teams shipping AI agents that need catalog search, carts, checkout, and order status against Shopify’s UCP CLI—not generic web scraping scripts.
When should I use ucp?
During Build integrations when users say things like find a product under a price cap, buy from a named site, track an order, or when you need to initialize or doctor a local UCP profile before those flows work.
Is ucp safe to install?
It drives a commerce CLI with network access to merchants; review the Security Audits panel on this Prism page and treat carts, payments, and profile secrets as production-sensitive before enabling in unattended agents.
SKILL.md
READMESKILL.md - Ucp
# ucp When a buyer expresses commercial intent — wanting to find, buy, or track products — this is your toolkit. You can search across thousands of merchants via a bundled global catalog, build carts and complete checkouts against any UCP-supporting merchant, and follow up on orders. For merchants that don't support direct transactions, hand off gracefully to the merchant's own flow. ## How to decide what to do | Buyer says... | Do this | | ----------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | "Find me X", "I need X for Y", "what's a good X under $Z" — no merchant named | `ucp catalog search` against the global catalog. Each result names its merchant via `seller.domain`. | | "Buy this from \<merchant>" — buyer names a specific merchant | `ucp discover --business <url>` first; if it succeeds, transact via `--business <url>`. If it fails, the merchant doesn't speak UCP — tell the buyer and offer alternatives. | | "Track my order" | `ucp order get <order_id> --business <url>` | **Rule of thumb:** broad product discovery → global catalog (no `--business` needed). Business-scoped operations — cart, checkout, order, or catalog scoped to a specific merchant — → pass `--business <url>`. Reach for one or the other based on the buyer's intent. ## Required local setup Before any merchant-scoped flow — `discover`, cart, checkout, order, or catalog requests with `--business` — ensure a local profile exists. **If you return a merchant-scoped command to the user, include a profile-init step first unless the user explicitly told you a local profile already exists and is healthy. The profile name is just a local label — `agent` is a fine default, not a required magic value.** ```sh ucp profile init --name <local-profile-name> ``` `ucp profile init` is idempotent, so prefer doing this before merchant flows instead of waiting for `PROFILE_NOT_FOUND`. When the user explicitly asks to set up or troubleshoot UCP, or when profile state seems broken, return and run this sequence even if the local profile already looks healthy: ```sh ucp doctor ucp profile init --name <local-profile-name> ucp doctor ``` Do not collapse a setup request into only “you’re already set up” — surface the diagnostic commands in the final response so the user can rerun them later. Global catalog discovery (`ucp catalog search`) can work without this local setup, so don't block broad search on it unless the user asked for setup. ## Journey heuristics - **Broad shopping request** → search immediately with useful context. Don't ask clarifying questions first unless the request is impossible or unsafe. - **Refinement** ("cheaper", "different br