ucp
Audited by Runlayer on Feb 21, 2026
Malicious tool definition detected
Provides comprehensive tooling for adding UCP support to Next.js ecommerce codebases — from initial consultation through full implementation, testing, and validation.
Tool: SKILL.md [2/9] Description: full consultation (recommended) /ucp plan — Skip to implementation planning /ucp gaps — Analyze existing code first ``` --- ## Sub-command: consult ### Trigger User runs `/ucp consult` ### Purpose Walk through all 12 qualifying questions, update config, produce implementation roadmap.
Tool: SKILL.md [3/9] Description: AST - Trace data flow for checkout objects - Identify existing patterns **Analyze against UCP requirements:** | Requirement | Status | Finding | |-------------|--------|---------| | Discovery profile at /.well-known/ucp | MISSING | No route found | | Checkout session creation | PARTIAL | Found /api/checkout but missing UCP fields | | Status lifecycle | MISSING | No status state machine | | Capability negotiation | MISSING | No UCP-Agent header handling | | Payme
Description: config_schema: string; } export function generateProfile(): UCPProfile { const baseUrl = `https://${config.domain}`; const profile: UCPProfile = { ucp: { version: config.ucp_version, services: { 'dev.ucp.shopping': { version: config.ucp_version, spec: 'https://ucp.dev/spec/services/shopping', ...(config.transports.includes('rest') && { rest: { schema: 'https://ucp.dev/spec/services/shopping/rest.openapi.json', endpoint: `${baseUrl}/api/ucp`, }, }), ...(config.transports.includes('mc
Tool: SKILL.md [5/9] Description: 'requires_buyer_input')) { return 'requires_escalation'; } return 'ready_for_complete'; } function generateMessages(checkout: CheckoutSession): CheckoutSession['messages'] { const messages: CheckoutSession['messages'] = []; if (!checkout.buyer?.email) { messages.push({ code: 'missing_email', severity: 'recoverable', message: 'Buyer email is required', field: 'buyer.email', }); } return messages; } function recalculateTotals(checkout: CheckoutSession): void { con
Tool: SKILL.md [6/9] Description: checkout_id }) => { const checkout = await getCheckout(checkout_id); if (!checkout) { return { content: [ { type: 'text', text: JSON.stringify({ error: { code: 'checkout_not_found', message: `Checkout session ${checkout_id} not found`, }, }), }, ], isError: true, }; } return { content: [ { type: 'text', text: JSON.stringify(checkout, null, 2), }, ], }; } ); server.registerTool( 'ucp_update_checkout', { title: 'Update Checkout Session', description: 'Update an ex
Tool: SKILL.md [7/9] Description: fulfillment: 'Fulfillment selection (optional)', discount_codes: 'Discount codes to apply (optional)', }, }, ucp_complete_checkout: { description: 'Complete checkout with payment', input: { checkout_id: 'Checkout session ID (required)', payment_data: 'Payment handler data (required)', }, }, ucp_get_fulfillment_options: { description: 'Get shipping options (fulfillment extension)', input: { checkout_id: 'Checkout session ID (required)', destination: 'Shipping add
Tool: SKILL.md [8/9] Description: Report ``` UCP Validation Report ===================== Discovery Profile: PASS ✓ Schema valid ✓ Required fields present ✓ Service definitions valid ✓ Capability specs accessible Checkout Endpoints: POST /api/ucp/checkout ✓ Response schema valid ✓ UCP metadata present ✓ Status enum valid GET /api/ucp/checkout/[id] ✓ Response schema valid ✓ Idempotent PATCH /api/ucp/checkout/[id] ✓ Response schema valid ✓ Partial update works POST /api/ucp/checkout/[id] (complete)
Tool: SKILL.md [9/9] Description: fetch failed:** "Could not clone UCP spec.