Get product pages ready for Google Universal Cart, with your agent
Fixes the Product data in a shop's own product templates so it states what the page shows, and checks each live page with clickd before and after.
Add it, from the top of the site’s repositorynpx skills add subinternal/clickd --skill clickd
Then ask your agentFix the product schema in our Shopify theme so every product page passes Google’s merchant listing fields.
For a shop’s developer, in the theme or storefront repositoryCheck one page now
One product page, before and after
It checks one live page for each template, fixes the template, and checks the same page once you deploy, against the fields Google lists for merchant listings and product variants2,3, as clickd reads them before any script runs.
shop.example/products/linen-shirt
Shopify themetemplates/product.jsona shirt in four sizes
Sample
2 to 6 of 6required fields present
2 to 9 of 10recommended fields present
Field
Before
After
Required
name
Present
Present
image
Present
Present
offers
InvalidAn AggregateOffer, a range across sellers
PresentOne Offer for each size
price
Invalid"$68.00", written as text
Present68.00
priceCurrency
Missing
PresentUSD
hasVariant
Missing
PresentFour sizes, each a Product
Recommended
brand
Present
Present
gtin, mpn or sku
Missing
Presentsku, since the shop keeps no barcodes
description
Present
Present
availability
Missing
PresentFrom each size’s real stock
itemCondition
Missing
Present
shippingDetails
Missing
MissingSet in Merchant Center, so it stays with you
hasMerchantReturnPolicy
Missing
PresentOnce, on the shop’s Organization in the shared layout
productGroupID
Missing
Present
variesBy
Missing
Present
variant id
Missing
Present
It finds the template first
From the repository’s own files, before it reads any template. Then it fixes the cause there, never one page.
Shopify themelayout/theme.liquid
Shopify Hydrogenapp/routes/products.$handle.tsx
Next.js commerceapp/product/[handle]/page.tsx
WooCommercewoocommerce_structured_data_product
BigCommerce (Stencil)templates/pages/product.html
Magento or Adobe Commerceapp/etc/env.php
Seven steps
Nothing is filled in that the page does not show. A field the shop cannot fill honestly stays missing, and is reported.
1Find the platform
2List the product templates
3Check one live page per templatemttr_product_check
4Fix the template
5Make the data match the page
6Ship the change as you allowmttr_propose
7Check again and reportmttr_rescan
What stays with you
clickd reads what the pages publish. Merchant Center and Google decide whether a product shows in merchant listings, Universal Cart or anywhere else.2,9
Merchant CenterThe feed, shipping and returns, and what Google made of the datamerchants.google.com
Checkout on GoogleThe Universal Commerce Protocol’s waitlist and checklistdevelopers.google.com
Search ConsoleURL Inspection and the Merchant listings report, for the site’s ownerYours to open
When to reach for it
Reach for it when
A shop’s product pages need Product data Google can read for merchant listings.
Price, currency, stock, shipping, returns, brand, GTIN or variants are missing or wrong in the structured data.
You are getting a shop ready for Google Shopping or Universal Cart.
Leave it when
The work is in Merchant Center or the product feed. Those stay with you.
The pages are not product pages: the page system skill covers the rest of a site.
Install it by hand
The line at the top adds it for any agent. Or fetch its 5 files where your agent looks. Your agent also needs clickd connected over MCP: connecting an agent shows how.
Loads skills from .claude/skills/ in the repository, for everyone who works in it, or ~/.claude/skills/ for every project on your machine. Claude uses it when a request matches its description, or type /clickd.
Loads skills from .agents/skills/ in the repository and its parent folders, or ~/.agents/skills/ for every project. Codex uses it when a task matches its description, or mention it as $clickd; /skills lists them.
Loads skills from .cursor/skills/ or .agents/skills/ in the repository, or ~/.cursor/skills/ for every project. It also reads .claude/skills/, so one copy there serves both. The agent uses it when it is relevant, or type / in Agent chat and pick it.
An agent that does not load skills can still follow the file. Save the folder in the repository and point its standing instructions at it, with a line in AGENTS.md, which many agents read. The agent reads AGENTS.md when it starts, and follows the file when the task matches.
SKILL.md stays short and sends your agent to a reference when a step needs it.
references/shop-ready.mdThe seven steps from finding the platform to checking again, the four ways a change ships, the fields to fix in order, and the report.153 lines
references/shop-ready/platforms.mdWhere Shopify themes, Hydrogen, Next.js commerce, WooCommerce, BigCommerce and Magento write their product data, which field each value comes from, and a worked replacement for each.242 lines
references/shop-ready/markup.mdBefore and after JSON-LD for a plain product, a product with variants, a sale price, and the shop’s shipping and returns, with the rules for each field and which source wins.230 lines
references/shop-ready/merchant-center.mdThe Merchant Center feed’s fields beside the page’s, why they must agree, prices and tax by country, and the feed apps on Shopify and WooCommerce.56 lines
references/shop-ready/verify.mdA command that prints the JSON-LD the server sends, what the check’s answer means, Google’s own tools, and a table of symptom, cause and fix.76 lines
Each is in a ## Sources list in the file that cites it, by the page’s own title.
Google Search Central
1Rich Results Test, Google Search Console.Google's own read of one page.
2Merchant listing (Product, Offer) structured data, Google Search Central.The required and recommended Product and Offer fields, their values and rules, the Merchant listings report, and that no feature is guaranteed.
10Product data specification, Google Merchant Center Help.Each feed attribute's format: price, sale price, availability, GTIN, MPN, brand, identifier_exists, item_group_id and condition.
11Price [price], Google Merchant Center Help.The price must match the landing page and checkout, and how tax is counted by country.
14Liquid filters: structured_data, Shopify developer docs.What Shopify's filter writes for a product and a product with variants.
15Liquid objects: product, Shopify developer docs.The selected or first available variant, the default-variant test, the 250 variant cap and the product's options.
16Liquid objects: variant, Shopify developer docs.Prices in the currency's subunit, availability, barcode, SKU and the selling policy when out of stock.
17getSeoMeta, Shopify developer docs.The Hydrogen utility and the version that stops supporting it.
18ProductVariant, Shopify developer docs.The Storefront API's variant fields, SKU, barcode, availability and the backorder flag.
19Hydrogen, Shopify, on GitHub.The example product routes in Shopify's own repository.