Detect whether a company has a public product catalog and produce a concrete extraction blueprint for the scraper-generator. Produces a catalog assessment with verified selectors, API endpoints, category tree, and platform-specific extraction recipe. Use this skill when the user wants to check catalog availability or scrapability for a company that already has a company report from /product-classifier — "check if X has a catalog", "detect pricelist for X", "what scraping strategy for X", "can we scrape X", "does X have a public product listing". Requires a company report from /product-classifier to exist first. If the user wants the full pipeline, use /product-discovery instead.
Produce a concrete extraction blueprint that the scraper-generator can translate directly into code, leveraging platform-specific knowledge to minimize downstream investigation.
$ARGUMENTS is the company slug (e.g., festool).
| Resource | Path |
|---|---|
| Company report | docs/product-classifier/{slug}.md |
| Catalog assessment (output) | docs/catalog-detector/{slug}/assessment.md |
| Platform knowledgebase (read+write) | docs/platform-knowledgebase/{platform-slug}.md |
The platform knowledgebase is both read and written by this skill. For known platforms, it is loaded as the primary extraction recipe. After every successful run, the knowledgebase is updated with site-specific findings. For newly identified platforms on the deep investigation path, a new knowledgebase file is created.
Read and follow references/workflow.md.
docs/catalog-detector/{slug}/ exists. If it does, archive it: mv docs/catalog-detector/{slug} docs/catalog-detector/{slug}-archived-$(date -u +%Y%m%dT%H%M%S). Then create the fresh directory: mkdir -p docs/catalog-detector/{slug}. Every invocation generates from scratch — never read from or make decisions based on archived directories ({slug}-archived-*).uv run .claude/skills/catalog-detector/scripts/catalog_probe.py --url {site_url} --slug {slug} --knowledgebase-dir docs/platform-knowledgebase --output-dir docs/catalog-detector/{slug}
Parse stdout as JSON. Individual probe results are saved as JSON files in the output directory. Read docs/catalog-detector/{slug}/probe.log for diagnostics if needed.
uv run .claude/skills/catalog-detector/scripts/validate_assessment.py docs/catalog-detector/{slug}/assessment.md --knowledgebase-dir docs/platform-knowledgebase --output-json docs/catalog-detector/{slug}/validate.json 2>docs/catalog-detector/{slug}/validate.log
Fix any failing gates. DO NOT modify the validation script.Owns the platform knowledgebase — reads on every run, writes on every successful run.
no_public_catalog, auth_required, anti_bot_severe, js_only, or attributes_not_extractable), it writes a minimal catalog assessment and stops. If the fast-path recipe verification fails (platform_recipe_failed), the workflow autonomously switches to the deep investigation path. Report the outcome to the user.