Ecommerce Catalog Stinger
Forge status: stages 1-6 complete (Topic, Research, Distillation, References, Guides, Component authorship). Stage 7 (Register: pair registration in beekeeper-suit, deploy, sync references) has not run yet. Every claim below traces to references/research/raw/ or to this repo's own plan/PRD documents, cited inline; the platform-coverage and sampling-allocation gaps named in references/research/distilled-ecommerce-catalog.md section 7 carry through and are flagged wherever they matter rather than silently papered over.
Purpose
Equips ecommerce-catalog-worker-bee to run a bonus, conditional audit of up to 25 products, sampled across distinct categories, on a target commerce site. Splits findings into a quantified metadata-completeness axis (schema.org Product field presence by Google surface, on-page technical checks) and a [subjective] on-page copy and conversion-potential axis, kept strictly separate per this pair's conduct rules. Full scope and acceptance criteria: prd-019-ecommerce-catalog.
Every factual claim traces to a downloaded primary source in references/research/raw/: five sources covering a Shopify-specific UX/conversion checklist, a platform-agnostic technical/structured-data checklist, schema.org's own canonical Product vocabulary, an independent Google-surface required/recommended breakdown, and a whole-page conversion-copy architecture. Two named gaps carry through every guide and template that touches them: non-Shopify platforms are not directly sourced for the UX/copy checklist items, and no source specifies how to allocate the 25-product sample, this Stinger states its own sampling method explicitly for exactly that reason.
When to use
- Wave W6b, and ONLY when a commerce platform (Shopify, Magento, or headless-commerce) was detected during crawl or fingerprinting, corroborated via
_shared/target-profile.json and/or site-data/ structured-data signals. This is a conditional-activation Stinger: if no commerce platform is detected, this Bee's checkpoints resolve to 0/N/A and are excluded from the score, per PRD-019 AC-1.
- Any request specifically about product-page metadata completeness, structured-data eligibility, or product-copy conversion quality on a target commerce site.
When not to use
- The site has no commerce platform detected. Confirm this first per guides/01-detection-and-sampling.md Phase 0, then stop.
- Live Core Web Vitals measurement, that's
performance-cwv-stinger's scope, this Stinger only names the CWV thresholds as context and cross-references that Bee's output.
- General on-page technical SEO unrelated to product schema (robots.txt, sitemap, canonical strategy site-wide), that's
technical-seo-stinger's scope.
- Blog or content-marketing analysis, that's
blog-content-stinger's scope, this Stinger's sibling in wave W6.
- Placing an order, adding to cart, or any state-creating interaction with the target, that requires an explicit per-run opt-in that defaults OFF and is out of this Stinger's default read-only scope.
Procedure
- Confirm commerce is detected and state the platform-specific coverage caveat up front (Shopify-strong research versus platform-agnostic technical layer only). If not detected, write the honest N/A branch and stop. See guides/01-detection-and-sampling.md Phase 0-1.
- Sample up to 25 products across distinct categories using this Stinger's own stated allocation method, and record the actual allocation used. See guides/01-detection-and-sampling.md Phase 2.
- Run
references/scripts/product-schema-checklist.py against each sampled product's crawled page for the quantified structured-data completeness score by Google surface, then apply the manual truthfulness/scoping/on-page technical checks the script cannot perform. See guides/02-metadata-completeness-scoring.md.
- For each sampled product, write the
[subjective] copy and conversion-potential read: title/description quality, the DTCskills whole-page architecture check, variant/stock UX, kept separate from the quantified findings. See guides/03-copy-and-conversion-subjective-analysis.md.
- Assemble the run's
12-ecommerce/ output using references/templates/12-ecommerce-summary-template.md and references/templates/product-finding-template.md, including the verification log and evidence index. See guides/04-report-and-workspace-output.md.
- Hand off. This Bee does not score or assemble the final customer/auditor report,
audit-scoring-worker-bee and audit-reporting-worker-bee consume 12-ecommerce/ downstream.
References map
references/research/distilled-ecommerce-catalog.md, load when verifying any metadata-completeness or copy-quality claim fast, or resolving where a required/recommended field split came from.
references/research/raw/, load when tracing a distilled claim back to its primary source (five files: craftshift's Shopify checklist, Anglera's technical/agent-readability checklist, schema.org's own Product page, patrickstox.com's Google-surface breakdown, DTCskills' conversion-copy architecture).
references/templates/product-finding-template.md, load when writing any single product's finding, the exact required shape for the quantified table and the [subjective] section.
references/templates/12-ecommerce-summary-template.md, load when assembling the run-level 12-ecommerce/ output.
references/scripts/product-schema-checklist.py, run once per sampled product's page against site-data/, see references/scripts/README.md.
guides/01-detection-and-sampling.md through guides/04-report-and-workspace-output.md, load in order for a first pass, or individually once familiar with the procedure.
Related bees and stingers
- blog-content-stinger - sibling bonus/conditional Stinger, runs in parallel in wave W6a when a blog is detected; no data dependency between the two.
- performance-cwv-stinger - live Core Web Vitals measurement in wave W5; consult for the actual LCP/INP/CLS numbers this Stinger's research only names as a threshold, not measures.
- technical-seo-stinger - site-wide technical SEO in wave W5; consult for canonical/robots/sitemap findings outside the product-page structured-data scope this Stinger owns.
- blog-content-worker-bee - this Stinger's sibling Bee; the orchestrator dispatches both in parallel when their respective content types are detected.
Critical Directive
- You must read all files and context contained within your skill.
- In the event your core knowledge does not provide sufficient guidance you must make every attempt to search the internet, related knowledge base documentation files, and other available resources to supplement your knowledge prior to proceeding with your task.
- Additional related skills can be found here:
Ship Gate decision
Ship Gate removed: research-only Stinger. This Bee never commits, edits, or pushes code, it reads an already-crawled site-data/ corpus (and _shared/target-profile.json) and writes audit findings to the run's own external workspace folder (12-ecommerce/), never to this repository's tracked source. security-stinger, quality-stinger, and github-repo-health-stinger gate work that touches this repository's own codebase; this Stinger produces no such diff, and by conduct rule never places an order or creates cart/checkout state on the target without an explicit per-run opt-in that defaults OFF, so the Ship Gate does not apply.
1---2name: ecommerce-catalog-stinger3description: Bonus, conditional ecommerce audit: up to 25 products, schema.org Product metadata completeness (quantified) plus subjective copy/conversion quality, kept separate. Wave W6b.4license: AGPL-3.0-only5---67# Ecommerce Catalog Stinger89> **Forge status:** stages 1-6 complete (Topic, Research, Distillation, References, Guides, Component authorship). Stage 7 (Register: pair registration in `beekeeper-suit`, deploy, sync references) has not run yet. Every claim below traces to `references/research/raw/` or to this repo's own plan/PRD documents, cited inline; the platform-coverage and sampling-allocation gaps named in `references/research/distilled-ecommerce-catalog.md` section 7 carry through and are flagged wherever they matter rather than silently papered over.1011## Purpose1213Equips **ecommerce-catalog-worker-bee** to run a bonus, conditional audit of up to 25 products, sampled across distinct categories, on a target commerce site. Splits findings into a quantified metadata-completeness axis (schema.org `Product` field presence by Google surface, on-page technical checks) and a `[subjective]` on-page copy and conversion-potential axis, kept strictly separate per this pair's conduct rules. Full scope and acceptance criteria: [prd-019-ecommerce-catalog](../../library/requirements/backlog/prd-019-ecommerce-catalog/prd-019-ecommerce-catalog-index.md).1415Every factual claim traces to a downloaded primary source in `references/research/raw/`: five sources covering a Shopify-specific UX/conversion checklist, a platform-agnostic technical/structured-data checklist, schema.org's own canonical `Product` vocabulary, an independent Google-surface required/recommended breakdown, and a whole-page conversion-copy architecture. Two named gaps carry through every guide and template that touches them: non-Shopify platforms are not directly sourced for the UX/copy checklist items, and no source specifies how to allocate the 25-product sample, this Stinger states its own sampling method explicitly for exactly that reason.1617## When to use1819- Wave W6b, and ONLY when a commerce platform (Shopify, Magento, or headless-commerce) was detected during crawl or fingerprinting, corroborated via `_shared/target-profile.json` and/or `site-data/` structured-data signals. This is a conditional-activation Stinger: if no commerce platform is detected, this Bee's checkpoints resolve to 0/N/A and are excluded from the score, per PRD-019 AC-1.20- Any request specifically about product-page metadata completeness, structured-data eligibility, or product-copy conversion quality on a target commerce site.2122## When not to use2324- The site has no commerce platform detected. Confirm this first per [guides/01-detection-and-sampling.md](guides/01-detection-and-sampling.md) Phase 0, then stop.25- Live Core Web Vitals measurement, that's `performance-cwv-stinger`'s scope, this Stinger only names the CWV thresholds as context and cross-references that Bee's output.26- General on-page technical SEO unrelated to product schema (robots.txt, sitemap, canonical strategy site-wide), that's `technical-seo-stinger`'s scope.27- Blog or content-marketing analysis, that's `blog-content-stinger`'s scope, this Stinger's sibling in wave W6.28- Placing an order, adding to cart, or any state-creating interaction with the target, that requires an explicit per-run opt-in that defaults OFF and is out of this Stinger's default read-only scope.2930## Procedure31321. Confirm commerce is detected and state the platform-specific coverage caveat up front (Shopify-strong research versus platform-agnostic technical layer only). If not detected, write the honest N/A branch and stop. See [guides/01-detection-and-sampling.md](guides/01-detection-and-sampling.md) Phase 0-1.332. Sample up to 25 products across distinct categories using this Stinger's own stated allocation method, and record the actual allocation used. See [guides/01-detection-and-sampling.md](guides/01-detection-and-sampling.md) Phase 2.343. Run `references/scripts/product-schema-checklist.py` against each sampled product's crawled page for the quantified structured-data completeness score by Google surface, then apply the manual truthfulness/scoping/on-page technical checks the script cannot perform. See [guides/02-metadata-completeness-scoring.md](guides/02-metadata-completeness-scoring.md).354. For each sampled product, write the `[subjective]` copy and conversion-potential read: title/description quality, the DTCskills whole-page architecture check, variant/stock UX, kept separate from the quantified findings. See [guides/03-copy-and-conversion-subjective-analysis.md](guides/03-copy-and-conversion-subjective-analysis.md).365. Assemble the run's `12-ecommerce/` output using `references/templates/12-ecommerce-summary-template.md` and `references/templates/product-finding-template.md`, including the verification log and evidence index. See [guides/04-report-and-workspace-output.md](guides/04-report-and-workspace-output.md).376. Hand off. This Bee does not score or assemble the final customer/auditor report, `audit-scoring-worker-bee` and `audit-reporting-worker-bee` consume `12-ecommerce/` downstream.3839## References map4041- `references/research/distilled-ecommerce-catalog.md`, load when verifying any metadata-completeness or copy-quality claim fast, or resolving where a required/recommended field split came from.42- `references/research/raw/`, load when tracing a distilled claim back to its primary source (five files: craftshift's Shopify checklist, Anglera's technical/agent-readability checklist, schema.org's own `Product` page, patrickstox.com's Google-surface breakdown, DTCskills' conversion-copy architecture).43- `references/templates/product-finding-template.md`, load when writing any single product's finding, the exact required shape for the quantified table and the `[subjective]` section.44- `references/templates/12-ecommerce-summary-template.md`, load when assembling the run-level `12-ecommerce/` output.45- `references/scripts/product-schema-checklist.py`, run once per sampled product's page against `site-data/`, see `references/scripts/README.md`.46- `guides/01-detection-and-sampling.md` through `guides/04-report-and-workspace-output.md`, load in order for a first pass, or individually once familiar with the procedure.4748## Related bees and stingers4950- [blog-content-stinger](../blog-content-stinger) - sibling bonus/conditional Stinger, runs in parallel in wave W6a when a blog is detected; no data dependency between the two.51- [performance-cwv-stinger](../performance-cwv-stinger) - live Core Web Vitals measurement in wave W5; consult for the actual LCP/INP/CLS numbers this Stinger's research only names as a threshold, not measures.52- [technical-seo-stinger](../technical-seo-stinger) - site-wide technical SEO in wave W5; consult for canonical/robots/sitemap findings outside the product-page structured-data scope this Stinger owns.53- [blog-content-worker-bee](../../agents/blog-content-worker-bee.md) - this Stinger's sibling Bee; the orchestrator dispatches both in parallel when their respective content types are detected.5455## Critical Directive5657- You must read all files and context contained within your skill.58- In the event your core knowledge does not provide sufficient guidance you must make every attempt to search the internet, related knowledge base documentation files, and other available resources to supplement your knowledge prior to proceeding with your task.59- Additional related skills can be found here:60 - [blog-content-stinger](../blog-content-stinger) - sibling bonus/conditional Stinger, wave W6a.6162## Ship Gate decision6364Ship Gate removed: research-only Stinger. This Bee never commits, edits, or pushes code, it reads an already-crawled `site-data/` corpus (and `_shared/target-profile.json`) and writes audit findings to the run's own external workspace folder (`12-ecommerce/`), never to this repository's tracked source. `security-stinger`, `quality-stinger`, and `github-repo-health-stinger` gate work that touches this repository's own codebase; this Stinger produces no such diff, and by conduct rule never places an order or creates cart/checkout state on the target without an explicit per-run opt-in that defaults OFF, so the Ship Gate does not apply.