Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"name": "ucp-onboard",
"owner": {
"name": "recomby-ai",
"url": "https://github.com/recomby-ai"
},
"plugins": [
{
"name": "ucp-onboard",
"source": ".",
"description": "Audit merchants and prepare UCP and OpenAI ACP commerce integrations (audit, profile, catalog, cart, checkout, validate, ACP feed)."
}
]
}
20 changes: 20 additions & 0 deletions .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"name": "ucp-onboard",
"version": "0.3.0",
"description": "Audit merchants and prepare agentic commerce integrations: UCP readiness audit, /.well-known/ucp profile, catalog mapping, sandbox FastAPI checkout server, end-to-end validation, and OpenAI ACP feed export.",
"author": {
"name": "recomby-ai",
"url": "https://github.com/recomby-ai"
},
"homepage": "https://github.com/recomby-ai/ucp-onboard",
"repository": "https://github.com/recomby-ai/ucp-onboard",
"license": "MIT",
"keywords": [
"commerce",
"ucp",
"agentic-commerce",
"openai-acp",
"shopify"
],
"skills": "./skills/"
}
6 changes: 3 additions & 3 deletions .codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "ucp-onboard",
"version": "0.2.0",
"description": "Agent skills for auditing merchants and preparing UCP and OpenAI ACP commerce integrations.",
"version": "0.3.0",
"description": "Agent skills for auditing merchants and preparing UCP (2026-04-08, incl. cart) and OpenAI ACP commerce integrations.",
"author": {
"name": "recomby-ai",
"url": "https://github.com/recomby-ai"
Expand All @@ -20,7 +20,7 @@
"interface": {
"displayName": "UCP Onboard",
"shortDescription": "Audit merchants and prepare agentic commerce feeds and profiles.",
"longDescription": "A commerce onboarding plugin for AI agents. It audits merchant sites, maps product catalogs, generates UCP profiles, exports OpenAI Agentic Commerce Protocol feeds, and validates deployed integrations.",
"longDescription": "A commerce onboarding plugin for AI agents. It audits merchant sites, maps product catalogs, generates UCP profiles (UCP 2026-04-08, including the cart capability), generates a sandbox checkout server, exports OpenAI Agentic Commerce Protocol feeds, and validates deployed integrations.",
"developerName": "recomby-ai",
"category": "Productivity",
"capabilities": [
Expand Down
19 changes: 19 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: CI

on:
push:
branches: ["**"]
pull_request:

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install dependencies
run: pip install -r requirements.txt
- name: Run unit tests
run: python -m unittest discover -s tests -v
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,7 @@ store/
dist/
build/
.DS_Store
refs/
# refs/ holds locally-cloned official tools (ignored), except the vendored
# schema bundle that ucp-validate needs at runtime.
refs/*
!refs/ucp-schema/
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ Client deliverables go to `store/clients/{client_name}/`:

- Amounts are always minor units. USD 29.99 becomes `2999`.
- Dates are RFC 3339.
- UCP version currently used by scripts: `2026-01-23`.
- UCP version currently used by scripts: `2026-04-08` (single source: `UCP_VERSION` in `skills/ucp-profile/scripts/generate_profile.py`).
- Never include API secret keys, payment tokens, or customer data in public profiles or feeds.
- Do not claim unsupported connectors are implemented.
- Do not claim ChatGPT Commerce partner approval unless the user provides it.
27 changes: 24 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

English | [中文](README_CN.md)

Codex plugin and AI-agent skill pack for onboarding merchants to agentic
commerce protocols.
Codex and Claude Code plugin, and AI-agent skill pack, for onboarding merchants
to agentic commerce protocols.

The current core supports [UCP (Universal Commerce Protocol)](https://github.com/Universal-Commerce-Protocol/ucp)
readiness, profile generation, catalog mapping, sandbox checkout server
Expand Down Expand Up @@ -48,7 +48,7 @@ data once, then protocol exporters prepare UCP or OpenAI ACP outputs.
## Quick Start

```bash
pip install requests beautifulsoup4 jsonschema
pip install requests beautifulsoup4

# UCP-oriented pipeline
python run_pipeline.py https://allbirds.com --name "Allbirds" --payment shopify
Expand Down Expand Up @@ -77,17 +77,35 @@ python skills/acp-feed/scripts/export_acp_feed.py \
python skills/ucp-validate/scripts/validate_ucp.py https://allbirds.com
```

## Install as a Claude Code plugin

The repo ships a Claude Code plugin manifest and a same-repo marketplace, so it
can be installed directly from git:

```bash
# Add this repo as a marketplace, then install the plugin
claude plugin marketplace add recomby-ai/ucp-onboard
claude plugin install ucp-onboard@ucp-onboard
```

The six skills (`ucp-audit`, `ucp-profile`, `ucp-catalog`, `acp-feed`,
`ucp-checkout`, `ucp-validate`, plus `ucp-services-vertical`) are auto-discovered
from `skills/` and exposed as `ucp-onboard:<skill>`. The same `skills/` directory
also backs the Codex plugin (`.codex-plugin/plugin.json`).

## Current Implementation Status

| Area | Status |
| --- | --- |
| Codex plugin manifest | Implemented |
| Claude Code plugin manifest + marketplace | Implemented |
| UCP audit | Implemented |
| UCP profile generation | Implemented, with placeholders that must be filled |
| Catalog mapping | Implemented for Shopify public products.json, CSV, and JSON |
| OpenAI ACP feed export | Implemented from normalized catalog JSON |
| UCP checkout server generation | Implemented for sandbox Python/FastAPI |
| Runtime validation gate | Implemented for profile, catalog, checkout create/retrieve/update/cancel |
| Offline official profile-schema validation | Implemented against vendored UCP `2026-04-08` schemas (jsonschema) |
| Full official UCP conformance testing | Still delegated to official tools |

## Tested Against Real Sites
Expand All @@ -108,6 +126,7 @@ for deeper conformance checks:
| Layer | Tool | Source |
| --- | --- | --- |
| Profile structure | `validate_ucp.py` | Required fields, capability basics, URL reachability |
| Offline profile schema | `validate_ucp.py` + `refs/ucp-schema/` | Vendored official UCP profile schema (`2026-04-08`) via jsonschema |
| Runtime catalog | `validate_ucp.py` | Search and lookup endpoint preflight |
| Runtime checkout | `validate_ucp.py` | Create, retrieve, update, cancel, totals rules |
| Full UCP schema validation | [`ucp-schema`](https://github.com/Universal-Commerce-Protocol/ucp-schema) | Official Rust CLI |
Expand All @@ -117,6 +136,8 @@ for deeper conformance checks:
## Project Structure

```text
├── .claude-plugin/plugin.json Claude Code plugin manifest
├── .claude-plugin/marketplace.json Claude Code marketplace entry (source ".")
├── .codex-plugin/plugin.json Codex plugin manifest
├── run_pipeline.py UCP-oriented pipeline
├── AGENTS.md Agent startup instructions
Expand Down
22 changes: 19 additions & 3 deletions README_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

[English](README.md) | 中文

一个面向 AI agent 的商家接入插件和 skills 包,用来准备 UCP 与 OpenAI
Agentic Commerce Protocol (ACP) 的电商接入材料。
一个面向 AI agent 的商家接入插件(Codex 与 Claude Code 双插件)和 skills 包,
用来准备 UCP 与 OpenAI Agentic Commerce Protocol (ACP) 的电商接入材料。

当前主线支持 [UCP(Universal Commerce Protocol)](https://github.com/Universal-Commerce-Protocol/ucp)
的 readiness audit、profile 生成、catalog 映射、sandbox checkout server 生成和
Expand Down Expand Up @@ -46,7 +46,7 @@ runtime validation。同时新增 OpenAI [Agentic Commerce Protocol](https://dev
## 快速开始

```bash
pip install requests beautifulsoup4 jsonschema
pip install requests beautifulsoup4

# UCP 方向的一键流程
python run_pipeline.py https://allbirds.com --name "Allbirds" --payment shopify
Expand Down Expand Up @@ -80,6 +80,7 @@ python skills/ucp-validate/scripts/validate_ucp.py https://allbirds.com
| 模块 | 状态 |
| --- | --- |
| Codex plugin manifest | 已实现 |
| Claude Code plugin manifest + marketplace | 已实现 |
| UCP audit | 已实现 |
| UCP profile 生成 | 已实现,但部分 payment 字段需要人工填充 |
| Catalog mapping | 已支持 Shopify public products.json、CSV、JSON |
Expand All @@ -88,9 +89,24 @@ python skills/ucp-validate/scripts/validate_ucp.py https://allbirds.com
| Runtime validation gate | 已支持 profile、catalog、checkout create/retrieve/update/cancel |
| 完整官方 UCP conformance | 仍交给官方工具 |

## 作为 Claude Code 插件安装

仓库内置 Claude Code 插件 manifest 和同仓库 marketplace,可直接从 git 安装:

```bash
# 把本仓库加为 marketplace,再安装插件
claude plugin marketplace add recomby-ai/ucp-onboard
claude plugin install ucp-onboard@ucp-onboard
```

`skills/` 下的各 skill 会被自动发现,以 `ucp-onboard:<skill>` 暴露;同一份
`skills/` 目录也同时支撑 Codex 插件(`.codex-plugin/plugin.json`)。

## 项目结构

```text
├── .claude-plugin/plugin.json Claude Code 插件 manifest
├── .claude-plugin/marketplace.json Claude Code marketplace 条目(source ".")
├── .codex-plugin/plugin.json Codex 插件 manifest
├── run_pipeline.py UCP 方向 pipeline
├── AGENTS.md agent 启动指南
Expand Down
Loading
Loading