BLOG / publish-your-first-sku-md.mdx
Publish your first SKU.md: an exact, platform-neutral tutorial
Prepare, generate, publish, and verify a root /sku.md with direct HTTP 200, text/markdown, canonical identity, and online checks.
A first SKU.md publication is complete only when the accepted document is served directly from the declared HTTPS URL and passes online delivery checks. A locally valid file is still only a local file.
SKU.md is merchant-hosted product discovery and stable product knowledge: agents can find products, understand sourced facts, and know where to recheck live commerce. It is not a new checkout protocol.
1. Prepare the smallest honest source set
Collect the storefront origin, public catalog entry points, default language and market, stable merchant identity, and the public sources that a reviewer is willing to stand behind. Start with manifest-basic. Do not invent an MCP endpoint, live lookup, identifier, or product Fact merely to fill a field.
| Input | Accept | Reject or defer |
|---|---|---|
| Merchant identity | Stable public name and origin | Guessed legal identity |
| Catalog entry | Existing same-origin URL | Private admin endpoint |
| Knowledge | Reviewed statement plus source | Marketing copy promoted automatically |
| Offer | Time-stamped observation or declared lookup | Timeless price promise |
2. Generate and validate offline
Use the Basic generator or another implementation that emits sku.md/0.10-draft. Confirm canonical, content language, market, and document type. Run offline_document checks for safe YAML, Schema validity, semantic consistency, and body parity.
Offline success proves that the bytes form an acceptable document. It does not prove DNS, routing, status, media type, cache behavior, parent links, or public availability.
3. Publish at the exact root URL
The publisher guide requires the root manifest at exact HTTPS /sku.md. The response contract is deliberately strict:
- Request
https://merchant.example/sku.mdwithout following redirects. - Require exact HTTP 200, not a 301, 302, 206, or generic success page.
- Require
Content-Type: text/markdownwith optional valid parameters. - Confirm the frontmatter
canonicalequals the requested URL. - Compare the response body with the reviewed accepted bytes.
A hosted HTML view, CDN asset URL, theme alternate, or redirect can be useful compatibility presentation. It is not strict root publication.
4. Run online and document-graph checks
Run published_resource against each public document, then document_graph from the root. Verify canonical and parent links, content language, linked resource status, media type, parseability, depth limits, and failure behavior. An unknown document path should not return a soft HTML fallback with 200.
| Scope | Proves | Does not prove |
|---|---|---|
offline_document |
Local structure and semantics | Public delivery |
published_resource |
One exact online resource | Complete graph |
document_graph |
Reachable parent-child contract | External adoption or ranking |
5. Add discovery and an operating loop
Link /sku.md from an appropriate public page or documented discovery surface. Keep Sitemap, Product JSON-LD, llms.txt, and agents.md in their own roles. Monitor accepted-byte hashes and rerun online checks after route, theme, CDN, or domain changes.
When adding Product Documents, preserve stable identity and source review. Return to live Catalog or Checkout for current price, inventory, shipping, tax, payment, and orders.
Further reading
Use Schema-valid but not publication-ready to diagnose delivery failures and stable knowledge vs live data to classify fields.