This skill should be used when the user asks to "create a UCP schema", "design a new capability", "add a schema type", "define request/response schemas", "work with UCP annotations", or mentions JSON Schema for UCP. Provides guidance on UCP schema patterns, annotations, and validation rules.
Designs UCP schemas with JSON Schema Draft 2020-12 and custom annotations.
npx claudepluginhub ibraschwan/ucp-pluginThis skill inherits all available tools. When active, it can use any tool Claude has access to.
examples/capability-template.jsonreferences/annotation-guide.mdreferences/type-catalog.mdThis skill provides guidance for designing schemas in the Universal Commerce Protocol (UCP). UCP uses JSON Schema (Draft 2020-12) with custom annotations to define capability request/response structures.
All source schemas reside in:
source/schemas/shopping/
├── checkout.json
├── order.json
├── payment.json
├── product.json
├── cart.json
├── customer.json
├── fulfillment.json
└── types/ # 35+ reusable type definitions
UCP extends JSON Schema with these annotations:
| Annotation | Purpose | Example |
|---|---|---|
ucp_request | Marks request schema for a method | "ucp_request": "shopping.cart.create" |
ucp_response | Marks response schema for a method | "ucp_response": "shopping.cart.create" |
ucp_shared_request | Shared request schema for multiple methods | "ucp_shared_request": ["method1", "method2"] |
ucp_core | Core protocol field (not capability-specific) | "ucp_core": true |
Follow this pattern for capability schemas:
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://ucp.dev/schemas/shopping/capability-name.json",
"title": "Capability Name Schemas",
"description": "Request and response schemas for capability operations",
"$defs": {
"MethodNameRequest": {
"type": "object",
"ucp_request": "shopping.capability.method",
"properties": {
"required_field": { "type": "string" },
"optional_field": { "$ref": "types/common-type.json" }
},
"required": ["required_field"]
},
"MethodNameResponse": {
"type": "object",
"ucp_response": "shopping.capability.method",
"properties": {
"result": { "$ref": "types/result-type.json" }
},
"required": ["result"]
}
}
}
Reference reusable types from types/ directory:
{ "$ref": "types/money.json" }
{ "$ref": "types/address.json" }
{ "$ref": "types/product-variant.json" }
Available types include: money.json, address.json, product-variant.json, line-item.json, discount.json, shipping-rate.json, and 30+ more.
$iducp_request or ucp_response$ref must resolve to existing filesTo create a new capability schema:
source/schemas/shopping/$schema and $id headersucp_request annotationucp_response annotationtypes/ directorypython scripts/validate_specs.pypython scripts/generate_schemas.py{
"items": { "type": "array", "items": { "$ref": "types/item.json" } },
"pagination": { "$ref": "types/pagination.json" }
}
{
"error": { "$ref": "types/error.json" },
"details": { "type": "object" }
}
{
"id": { "type": "string", "format": "uuid" }
}
For detailed patterns and type documentation:
references/type-catalog.md - Complete catalog of reusable typesreferences/annotation-guide.md - UCP annotation usage guideexamples/capability-template.json - Template for new capabilitiesexamples/cart-schema.json - Real cart capability exampleActivates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use for discovering, retrieving, and improving prompts.
Search, retrieve, and install Agent Skills from the prompts.chat registry using MCP tools. Use when the user asks to find skills, browse skill catalogs, install a skill for Claude, or extend Claude's capabilities with reusable AI agent components.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.