Skylit for AI Agents
Your AI can buy a Skylit star map.
The first personalised star map studio to ship native Agentic Commerce Protocol support. Any AI assistant can design, preview, and order on a customer's behalf without leaving the chat.
Buy a Skylit star map without leaving your AI chat
If you use ChatGPT, Claude, Cursor, or any other AI assistant that supports tools, you can ask it to design and order a personalised Skylit star map on your behalf — pick the date, place and message, see the live preview, get a payment link. No app to install, no separate account.
Try it right now
If you have Claude Desktop, Cursor, or any MCP-aware AI assistant set up (see the setup section below), paste this in:
Order me a Skylit star map as an anniversary gift — 14 September 2024, Forest of Dean, framed A4 black, message "Where it all began" from Sarah & Tom. Ship to [your address].
Your assistant will design the print, show you a preview, and hand you a Stripe payment link. No app to install on Skylit's end — the MCP server is hosted by us at https://agent.skylitstudio.co.uk/mcp.
Three steps
Ask your AI assistant
Mention the moment (date + place), the occasion, and who it's for. The more context, the better the design. The assistant fills in sensible defaults for anything you skip.
Review the preview
The assistant shows you the rendered design inline. Want a different theme, shape, or font? Just say so. The preview updates without starting over.
Tap the payment link
The assistant hands you a Stripe checkout URL. You pay. We print and ship. Same-day dispatch if you order before 3PM.
Where it works today
LLMs UnderneathSkylit is model-agnostic. Any tool-using LLM works — Claude (Anthropic), GPT-5 / GPT-4o (OpenAI), Gemini (Google), Hermes 3 / Hermes 4 (Nous Research), Llama, Mistral, Qwen. If the model can emit a tool call in JSON, it can drive a Skylit order.
ExamplesTry these prompts
Copy & paste into Claude Desktop (with the Skylit connector installed — see setup below). Replace the details with your own:
- "Order a star map for my parents' 30th wedding anniversary — 12 June 1995, Brighton, framed 30x40 black, recipient names Mum & Dad."
- "My friend just had a baby on 8 March 2026 in Bristol. Order a small framed star map as a birth gift, message 'The night you arrived'."
- "I'm proposing on New Year's Eve in Paris. Order a star map for that moment so I can give it to her after — A4 print is fine."
- "My grandmother passed away on 17 April 2024 in Tewkesbury. I want a memorial star map of that night — keep it classic and simple."
Technical Reference
For the curious (and for agents)
The rest of this page is the technical reference. If you're an AI agent reading this on a customer's behalf, this is where you'll find everything you need. If you're a human, feel free to skip to the bottom for setup instructions — but the technical surface is worth a skim if you want to understand what your assistant is doing under the hood.
Quick links
- ACP discovery:
/.well-known/acp.json - API base:
https://agent.skylitstudio.co.uk/acp/v1 - OpenAPI spec:
/acp/v1/openapi.json - API catalog (RFC 9727):
/.well-known/api-catalog - MCP server:
https://agent.skylitstudio.co.uk/mcp - MCP server card:
/.well-known/mcp/server-card.json - A2A agent card:
/.well-known/agent-card.json - Health:
/acp/v1/health
One-paste install
Pick your AI assistant, copy the prompt, paste it in. It'll set everything up for you in under a minute.
Raw API (curl, no SDK)
1. List variants
curl https://agent.skylitstudio.co.uk/acp/v1/products
2. Create a checkout session
curl -X POST https://agent.skylitstudio.co.uk/acp/v1/checkout_sessions \
-H "Content-Type: application/json" \
-d '{
"product_id": "star_map",
"variant_id": "a4_framed_black",
"quantity": 1,
"intent": {
"date": "2024-09-14",
"location": "Forest of Dean",
"occasion": "anniversary",
"recipient_name": "Sarah & Tom",
"message": "Where it all began"
},
"customer": {
"email": "[email protected]",
"name": "Alex Hammond",
"shipping_address": {
"line1": "12 Foresters Rd",
"city": "Tewkesbury",
"postal_code": "GL20 5TQ",
"country": "GB"
}
}
}'
Returns a session_id, Stripe checkout_url for the customer to pay, and a preview_url for the design.
3. Iterate the design
curl -X PATCH https://agent.skylitstudio.co.uk/acp/v1/checkout_sessions/<session_id> \
-H "Content-Type: application/json" \
-d '{"patch": {"theme": "aurora", "shape": "heart"}}'
Patchable keys: theme, composition, shape, show_milkyway, message_font, details_font, title, message. Hard-coded (need a new session): date, location, occasion, variant_id, customer.
4. Fetch the preview JPEG
curl https://agent.skylitstudio.co.uk/acp/v1/checkout_sessions/<session_id>/preview -o preview.jpg
1200×1600 JPEG (retina-quality, ~310 KB), R2-cached by state hash. Repeat fetches of the same design hit cache.
5. Customer pays
Hand the customer the payment.checkout_url from step 2. On payment success the order flows to fulfilment automatically — the agent doesn't need to do anything further.
Pricing
Five sizes: A4, 30×40 cm, 40×50 cm, 50×70 cm, 60×80 cm. Three formats: unframed print, framed (black / white / natural), canvas. Prices range from £21.99 (A4 unframed print) to £119.98 (60×80 framed). Free UK shipping on every order, same-day dispatch if placed before 3PM.
Agents: full live catalogue (variant IDs, prices in pence, stock) at /acp/v1/products.
Intent → smart defaults
The intent.occasion field drives an opinionated design starting point so agents don't need to know every Skylit theme by name. Pick from wedding, anniversary, birthday, birth, engagement, memorial, christmas, other. Each maps to sensible defaults for theme, composition, font, and Milky Way visibility. Override any of them with style_preference (classic, modern, playful, dark, pastel) or with explicit PATCH calls after creation.
Error format
Stripe-shaped envelope:
{
"error": {
"type": "validation_error" | "invalid_intent" | "address_unsupported" | "payment_failed" | "session_locked" | "rate_limited" | "internal_error",
"code": "geocode_failed" | "country_not_shipped" | "invalid_theme" | ...,
"message": "Human-readable summary",
"param": "intent.location",
"doc_url": "https://agent.skylitstudio.co.uk/acp/v1/errors/<code>"
}
}
Every code resolves to a markdown doc at /acp/v1/errors/<code>.
Discovery surfaces (RFCs & standards)
| Surface | Standard | URL |
|---|---|---|
| ACP discovery | Agentic Commerce Protocol 0.1 | /.well-known/acp.json |
| API catalog | RFC 9727 / RFC 9264 linkset | /.well-known/api-catalog |
| OAuth protected resource | RFC 9728 | /.well-known/oauth-protected-resource |
| MCP server card | SEP-2127 draft | /.well-known/mcp/server-card.json |
| A2A agent card | a2a-protocol.org spec | /.well-known/agent-card.json |
| Agent skills | Cloudflare RFC v0.2.0 | /.well-known/agent-skills/index.json |
| HTTP message signatures | RFC 9421 JWKS | /.well-known/http-message-signatures-directory |
| MPP discovery | OpenAPI + x-payment-info | /openapi.json |
Payment rails
- Stripe (primary) — hosted Checkout, supports cards / Apple Pay / Google Pay / Klarna. AP2-compatible payment mandates.
- x402 (demo) — HTTP 402 micropayments on Base Sepolia USDC for API access. Routes through the public x402.org facilitator.
Health & status
GET /acp/v1/health returns reachability status for D1, R2, and Stripe as {ok: boolean, services: {...}}.
During incidents or planned maintenance, /acp/v1/* routes return HTTP 503 with the standard error envelope (type: "internal_error", code: "service_unavailable"). Back off and retry. Agents should treat 503 as transient and respect any Retry-After header.
Contact
Issues, weird edge cases, or you want to integrate Skylit into your agent platform: [email protected].