Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when auditing e-commerce product pages or implementing structured data for a shop. Applies to any page selling or describing a specific product.
.claude/skills/thedaviddias-product/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -10% | 0% |
| case-02 | ✓→✓ | = Same ✓ | -20% | 0% |
| case-03 | ✓→✓ | = Same ✓ | -3% | 0% |
| case-04 | ✓→✓ | = Same ✓ | -8% | 0% |
| case-05 | ✓→✓ | = Same ✓ | -8% | 0% |
Product schema enables Google to show price, availability, ratings, and review count directly in search results—rich results have significantly higher click-through rates than standard blue links.
Check each product page for a JSON-LD script block with @type 'Product'. Verify it includes: name, image, description, and an offers property with price, priceCurrency, and availability. Check that prices in schema match the visible page prices. Validate with Google's Rich Results Test.
Add a Product JSON-LD block to each product page. Required: name, image (array of URLs), description, offers.price, offers.priceCurrency, offers.availability. Recommended: aggregateRating (ratingValue, reviewCount), brand, sku, gtin13/gtin8/mpn.
Product structured data enables Google Shopping-style rich results in organic search, showing price, star ratings, and stock status directly in the SERP. These rich results have higher visual prominence and click-through rates. Without schema, Google can only show a plain blue link for your product pages.
Find JSON-LD blocks with @type 'Product'. Verify required fields: name, image (must be absolute URL array), description, offers.price (numeric), offers.priceCurrency (ISO 4217 code), offers.availability (schema.org URL). Check that offers.price matches the visible price on the page. Validate that aggregateRating.reviewCount > 0 if rating is present. Run through Google's Rich Results Test.
For full implementation details, code examples, and framework-specific guidance, see references/rule.md.
Rule page: https://frontendchecklist.io/en/rules/seo/product
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 11,566 | 6,897 | -40% | 1 | 1 | 0% | 2,104 | 1,903 | -10% | 0 | 0 | — |
case-02 | pass→pass | 10,303 | 5,988 | -42% | 1 | 1 | 0% | 2,087 | 1,671 | -20% | 0 | 0 | — |
case-03 | pass→pass | 7,363 | 4,498 | -39% | 1 | 1 | 0% | 1,500 | 1,451 | -3% | 0 | 0 | — |
case-04 | pass→pass | 8,945 | 5,915 | -34% | 1 | 1 | 0% | 1,747 | 1,614 | -8% | 0 | 0 | — |
case-05 | pass→pass | 7,662 | 4,597 | -40% | 1 | 1 | 0% | 1,457 | 1,346 | -8% | 0 | 0 | — |
case-06 | pass→pass | 9,077 | 6,072 | -33% | 1 | 1 | 0% | 1,605 | 1,575 | -2% | 0 | 0 | — |
case-07 | pass→pass | 5,678 | 3,528 | -38% | 1 | 1 | 0% | 1,119 | 1,194 | +7% | 0 | 0 | — |
case-08 | pass→pass | 8,469 | 5,552 | -34% | 1 | 1 | 0% | 1,647 | 1,562 | -5% | 0 | 0 | — |
case-09 | pass→pass | 9,531 | 4,833 | -49% | 1 | 1 | 0% | 1,720 | 1,459 | -15% | 0 | 0 | — |
case-10 | pass→pass | 13,805 | 6,972 | -49% | 1 | 1 | 0% | 2,413 | 1,794 | -26% | 0 | 0 | — |
case-11 | pass→pass | 5,145 | 3,060 | -41% | 1 | 1 | 0% | 909 | 953 | +5% | 0 | 0 | — |
case-12 | pass→pass | 8,748 | 4,152 | -53% | 1 | 1 | 0% | 1,755 | 1,209 | -31% | 0 | 0 | — |
case-13 | pass→pass | 5,244 | 2,141 | -59% | 1 | 1 | 0% | 923 | 815 | -12% | 0 | 0 | — |
case-14 | pass→pass | 8,913 | 5,845 | -34% | 1 | 1 | 0% | 1,743 | 1,688 | -3% | 0 | 0 | — |
case-15 | pass→pass | 6,891 | 3,892 | -44% | 1 | 1 | 0% | 1,245 | 1,196 | -4% | 0 | 0 | — |
case-16 | pass→pass | 11,605 | 10,082 | -13% | 1 | 1 | 0% | 2,738 | 2,576 | -6% | 0 | 0 | — |
case-17 | pass→pass | 5,341 | 4,592 | -14% | 1 | 1 | 0% | 1,122 | 1,402 | +25% | 0 | 0 | — |
case-18 | pass→pass | 5,721 | 3,252 | -43% | 1 | 1 | 0% | 989 | 1,042 | +5% | 0 | 0 | — |
case-19 | pass→pass | 8,269 | 5,981 | -28% | 1 | 1 | 0% | 1,653 | 1,701 | +3% | 0 | 0 | — |
case-20 | pass→pass | 14,876 | 8,430 | -43% | 1 | 1 | 0% | 3,135 | 2,199 | -30% | 0 | 0 | — |
case-21 | pass→pass | 7,108 | 4,416 | -38% | 1 | 1 | 0% | 1,533 | 1,343 | -12% | 0 | 0 | — |
case-22 | pass→pass | 5,692 | 3,617 | -36% | 1 | 1 | 0% | 1,175 | 1,170 | -0% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +5 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.