Maintenance in progress: we are indexing a large batch of new skills. Some pages may load slowly or briefly show no results. Nothing is lost, and everything is back to normal within the hour.
You generate a complete, conversion-optimized PDP. The 2026 benchmark is clear: average sites convert at 1.5-3%, top performers at 4-8% — a 2-3× gap explained by measurable elements, not magic. Your job is to ship those elements.
The single biggest gap-closer: image quality + social proof + page speed. Walmart found each 1-second-faster page delivered +2% conversion. Page loading in 2.4s converts at 1.9%; 5.7s converts at 0.6%.
Image assets. Minimum: 1 hero + 3 alt angles + 1 lifestyle. Ideal: + product video (autoplay muted on desktop, click-to-play mobile).
Reviews data. Yotpo, Judge.me, Loox, Stamped, Trustpilot, or first-party. Without reviews, social proof block falls back to "trust badges" only — significantly weaker.
If image assets are weak (single product shot only), output the PDP with a "MISSING:" placeholder per slot and add a TODO to capture alt angles, lifestyle, and video — flag the conversion impact clearly.
If platform is unknown, default to Next.js + Tailwind + headless commerce-agnostic structure that maps to any backend.
Eye-tracking shows users scan PDPs in F-pattern. The viewport-above-fold zones (in priority order):
Top-left: Hero image (largest, sharpest, fills 50%+ of mobile width).
Top-right: Title + price + reviews snippet (X stars, N reviews).
Second row left: Variant selectors (size, color) + add-to-cart CTA.
Below fold: Detailed description, full reviews, related products, FAQ.
Generate the layout as semantic HTML with proper landmarks (<main>, <section>, <aside>). Mobile-first CSS (default styles for ≤768px, media queries for tablet/desktop). Touch targets ≥44px.
VALIDATION: Lighthouse mobile Best Practices ≥ 90. CLS < 0.1 (every image has explicit width/height). LCP image preloaded.
Clean: No inline styles, no hardcoded colors outside tokens, no console.log?
Conversion-credible: Would a CRO consultant recognize this as 2026-current? F-pattern hierarchy + social proof above fold + schema + perf budget all present?
Most common gap: forgetting LCP image preload → hero takes 4s on Slow 4G → conversion craters. Verify the <link rel="preload"> is in the head, not just <img loading="eager">.
Never skip image preload. LCP > 2.5s tanks conversion regardless of other quality.
Never fabricate review counts. AggregateRating must be real or absent.
Never use fake urgency ("only 2 left" when there are 50). FTC enforces this and shoppers detect it.
Never block the CTA with a full-screen popup. Exit intent OK, blocking on load not.
Mobile-first or fail. 73% of traffic, 58% of purchases.
1---2name: pdp-builder3description: Generate a production-grade Product Detail Page (PDP) optimized for the 2026 conversion benchmarks — 4-8% target vs 1.5-3% average. Triggers: "product page", "PDP", "product detail page", "Shopify product page", "ecommerce conversion".4---56# Product Detail Page (PDP) Generator78You generate a complete, conversion-optimized PDP. The 2026 benchmark is clear: average sites convert at 1.5-3%, top performers at 4-8% — a 2-3× gap explained by measurable elements, not magic. Your job is to ship those elements.910The single biggest gap-closer: image quality + social proof + page speed. Walmart found each 1-second-faster page delivered +2% conversion. Page loading in 2.4s converts at 1.9%; 5.7s converts at 0.6%.1112============================================================13=== PRE-FLIGHT ===14============================================================1516Verify before building:1718- [ ] **Platform identified.** Shopify (Liquid / Hydrogen), Next.js Commerce, BigCommerce Catalyst, WooCommerce, custom React/Vue/Svelte.19- [ ] **Product data source.** Shopify Admin API, Stripe Products, BigCommerce Storefront API, CSV import, headless CMS (Contentful/Sanity/Strapi).20- [ ] **Image assets.** Minimum: 1 hero + 3 alt angles + 1 lifestyle. Ideal: + product video (autoplay muted on desktop, click-to-play mobile).21- [ ] **Reviews data.** Yotpo, Judge.me, Loox, Stamped, Trustpilot, or first-party. Without reviews, social proof block falls back to "trust badges" only — significantly weaker.22- [ ] **Brand tokens.** Colors, fonts, button radius. Without these, generated CSS uses neutral defaults.2324Recovery:2526- If image assets are weak (single product shot only), output the PDP with a "MISSING:" placeholder per slot and add a TODO to capture alt angles, lifestyle, and video — flag the conversion impact clearly.27- If platform is unknown, default to Next.js + Tailwind + headless commerce-agnostic structure that maps to any backend.2829============================================================30=== PHASE 1: VISUAL HIERARCHY (F-PATTERN) ===31============================================================3233Eye-tracking shows users scan PDPs in F-pattern. The viewport-above-fold zones (in priority order):34351. **Top-left**: Hero image (largest, sharpest, fills 50%+ of mobile width).362. **Top-right**: Title + price + reviews snippet (X stars, N reviews).373. **Second row left**: Variant selectors (size, color) + add-to-cart CTA.384. **Below fold**: Detailed description, full reviews, related products, FAQ.3940Generate the layout as semantic HTML with proper landmarks (`<main>`, `<section>`, `<aside>`). Mobile-first CSS (default styles for ≤768px, media queries for tablet/desktop). Touch targets ≥44px.4142VALIDATION: Lighthouse mobile Best Practices ≥ 90. CLS < 0.1 (every image has explicit width/height). LCP image preloaded.4344============================================================45=== PHASE 2: IMAGE PIPELINE ===46============================================================474893% of consumers cite visual appearance as the top purchase factor. The image system MUST:4950- **Multiple angles**: hero + 3-4 alternate angles + lifestyle context.51- **AVIF first, WebP fallback, JPG legacy** with `<picture><source type="image/avif">...`.52- **Responsive `srcset`** at 320w/640w/1024w/1600w/2560w.53- **Explicit width/height** to reserve space (CLS prevention).54- **Hero image preloaded** in `<head>`: `<link rel="preload" as="image" href="..." imagesrcset="..." imagesizes="...">`.55- **Zoom on hover/tap** (lightbox or in-place pan).56- **Video** as `<video autoplay muted loop playsinline poster>` on desktop, click-to-play on mobile (battery).57- **CDN with image transformation** (Cloudinary, imgix, Shopify CDN, Vercel Image Optimization).5859VALIDATION: Hero image LCP < 2.5s on Slow 4G. Image markup passes Lighthouse Image best practices.6061============================================================62=== PHASE 3: SOCIAL PROOF BLOCK ===63============================================================6465Products with 5+ reviews convert 270% better. Build the proof block as:66671. **Aggregate rating** (X.X stars, Y reviews) — top-right of hero, schema.org AggregateRating.682. **Review excerpts** — 3 verified reviews above the fold (rotate top-rated).693. **Photo reviews** — UGC from buyers; massively trust-boosting.704. **Trust signals** — returns policy, shipping speed, security badges, payment methods, "X people bought today" (only if true — fake urgency erodes trust).715. **Press / endorsements** — if applicable, "As seen in" logo strip with `nofollow` outbound links.726. **Q&A section** — buyer questions + answers (or store-curated FAQ).7374VALIDATION: Above-fold area on mobile shows at least one social proof element. AggregateRating schema validates.7576============================================================77=== PHASE 4: CTA & VARIANT SELECTOR ===78============================================================7980Critical CTAs:8182- **Primary**: "Add to cart" — high contrast, ≥48px tall, full-width on mobile, sticky on scroll (mobile bottom bar).83- **Secondary**: "Buy now" → checkout (Shop Pay / Apple Pay / Google Pay express).84- **Tertiary**: Save / Wishlist (heart icon).8586Variant selectors:8788- Color: swatches with `aria-label`, current-state styling, "out of stock" greyed not hidden.89- Size: pills with size guide modal link.90- Quantity: stepper (- / number / +), default 1.9192Inventory urgency (only if accurate):9394- "Only N left" message at quantities ≤ 5.95- "Selling fast" pill if velocity > X/day.9697VALIDATION: CTA is keyboard-focusable, has visible focus ring, `aria-disabled` when out-of-stock.9899============================================================100=== PHASE 5: SCHEMA.ORG MARKUP ===101============================================================102103Generate JSON-LD for the product:104105```json106{107 "@context": "https://schema.org",108 "@type": "Product",109 "name": "...",110 "image": ["..."],111 "description": "...",112 "sku": "...",113 "brand": { "@type": "Brand", "name": "..." },114 "offers": {115 "@type": "Offer",116 "url": "...",117 "priceCurrency": "USD",118 "price": 49.99,119 "availability": "https://schema.org/InStock",120 "itemCondition": "https://schema.org/NewCondition",121 "shippingDetails": { "@type": "OfferShippingDetails", ... },122 "hasMerchantReturnPolicy": { "@type": "MerchantReturnPolicy", ... }123 },124 "aggregateRating": { "@type": "AggregateRating", "ratingValue": 4.7, "reviewCount": 128 },125 "review": [ ... top 3 reviews ... ]126}127```128129Include `shippingDetails` and `hasMerchantReturnPolicy` — these unlock Google Shopping rich results in 2026.130131VALIDATION: Passes Google Rich Results Test for Product. AggregateRating has a real value (not 0/0).132133============================================================134=== PHASE 6: CRO EXPERIMENTATION HARNESS ===135============================================================136137Top performers run disciplined experiments and read the data honestly. Generate:138139- **Variant config file** (`pdp.experiments.json`) compatible with Optimizely, VWO, Statsig, GrowthBook, or LaunchDarkly.140- **At minimum, three experiments scaffolded**:141 1. Hero image: lifestyle vs studio142 2. CTA copy: "Add to cart" vs "Add to bag" vs "Buy now"143 3. Social proof position: above-fold vs below-fold144- **Sample size calculator** stub: takes baseline CR + MDE + α=0.05 + power=0.8, returns required N per variant. Refuse to call experiments early.145- **Event tracking spec**: `pdp_view`, `pdp_image_zoom`, `pdp_variant_select`, `pdp_add_to_cart`, `pdp_buy_now`, `pdp_exit`.146147VALIDATION: Sample-size calculator does the math (not just emits a TODO). Experiment config maps to user's chosen platform.148149============================================================150=== PHASE 7: OUTPUT PACKAGE ===151============================================================152153```154pdp/155├── README.md # Where to drop files in each platform156├── components/157│ ├── ProductHero.{tsx|liquid|vue}158│ ├── ProductGallery.{tsx|liquid|vue}159│ ├── ProductVariants.{tsx|liquid|vue}160│ ├── ProductSocialProof.{tsx|liquid|vue}161│ ├── ProductSchema.{tsx|liquid|vue}162│ └── ProductCTA.{tsx|liquid|vue}163├── styles/164│ └── pdp.css # Mobile-first responsive165├── schema/166│ └── product-jsonld.example.json167├── experiments/168│ └── pdp.experiments.json169├── tracking/170│ └── events.spec.md171└── perf/172 └── lighthouse-budget.json # CI gate: LCP<2.5s, INP<200ms, CLS<0.1173```174175============================================================176=== SELF-REVIEW ===177============================================================178179Score 1–5:180181- **Complete**: All 7 phases delivered? Schema validates? Mobile-first?182- **Robust**: Handles missing images / reviews gracefully? Sticky CTA on mobile?183- **Clean**: No inline styles, no hardcoded colors outside tokens, no console.log?184- **Conversion-credible**: Would a CRO consultant recognize this as 2026-current? F-pattern hierarchy + social proof above fold + schema + perf budget all present?185186Most common gap: forgetting LCP image preload → hero takes 4s on Slow 4G → conversion craters. Verify the `<link rel="preload">` is in the head, not just `<img loading="eager">`.187188============================================================189=== LEARNINGS CAPTURE ===190============================================================191192Append to `~/.claude/skills/pdp-builder/LEARNINGS.md`:193194## <YYYY-MM-DD> — <platform, vertical>195196- **What worked:** <pattern that produced clean output>197- **What was awkward:** <retry/manual fix needed>198- **Suggested patch:** <concrete improvement>199- **Verdict:** [Smooth / Minor friction / Major friction]200201============================================================202=== STRICT RULES ===203============================================================204205- Never skip image preload. LCP > 2.5s tanks conversion regardless of other quality.206- Never fabricate review counts. AggregateRating must be real or absent.207- Never use fake urgency ("only 2 left" when there are 50). FTC enforces this and shoppers detect it.208- Never block the CTA with a full-screen popup. Exit intent OK, blocking on load not.209- Mobile-first or fail. 73% of traffic, 58% of purchases.
Run npx skillmds add tinh2/pdp-builder in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Generate a production-grade Product Detail Page (PDP) optimized for the 2026 conversion benchmarks — 4-8% target vs 1.5-3% average. Triggers: "product page", "PDP", "product detail page", "Shopify product page", "ecommerce conversion". It is listed under Coding & Dev Tools on SkillMD.
This skill has not completed SkillMD's automated safety review yet. Capability flags: makes network calls. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
tinh2 (@tinh2) published this skill. Their other Agent Skills are listed on their SkillMD profile.