From planhaus
Enrich the catalog database with style metadata (and fix color/material) by classifying exported products and importing the results
How this skill is triggered — by the user, by Claude, or both
Slash command
/planhaus:enrich-catalog [category][category]This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
The catalog's `style` field is empty until enriched — the build-time normalizers can map
The catalog's style field is empty until enriched — the build-time normalizers can map
category/color/material from structured data, but style is a judgment call. This skill
drives the enrich CLI: export products missing style, classify them yourself, import the
results. No re-embedding happens — only metadata is updated in place.
Run where the catalog DB lives (the directory containing catalog_vector_db/), with
chromadb installed. In Cowork the host-side MCP server owns the DB; run this skill in
local Claude Code on that host machine instead.
Export products missing style:
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/catalog/catalog_vectordb.py" enrich export --missing style --out pending.jsonl
Each line: id, name, category, description excerpt.
Classify in batches of ~30 lines. Read a batch, judge each product's style from
the controlled vocab:
scandinavian, midcentury, modern, industrial, rustic, traditional, coastal, japandi, mediterranean, bohemian, eclectic
Judge from name/category/description signals — leg style (tapered light wood → scandinavian/midcentury; hairpin/black metal → industrial; turned/carved → traditional), line language (low-slung straight → midcentury; curved minimal → modern/japandi; ornate → traditional), materials (rattan/jute → coastal/bohemian; raw pine/reclaimed wood → rustic; terracotta/wrought iron → mediterranean).
When truly ambiguous, leave style empty rather than guessing — wrong metadata
silently corrupts every later filtered search; missing metadata just falls back to
judgment at selection time.
Optionally fix color_family / primary_material in the same pass when the
build-time mapping is clearly wrong for a product you're already looking at.
Write enriched.jsonl — one JSON object per line:
{"id": "...", "style": "japandi"}
{"id": "...", "style": "midcentury", "color_family": "natural_wood"}
{"id": "...", "style": "", "color_family": "beige"}
Optional override keys: color_family, primary_material. An empty style leaves the
style unset (deliberately unclassified) while still applying the other overrides; for
products with nothing to change, omit the line entirely.
Import:
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/catalog/catalog_vectordb.py" enrich import --in enriched.jsonl
Report counts: exported / classified / left empty, plus a per-style breakdown.
Spot-check with catalog_search using a style filter.
category field,
or pass a category as the argument and enrich just those), and import after each
category so progress persists if you stop.--missing style only exports products still unclassified, so
deliberately-empty styles will re-export — skip ids you already judged ambiguous.Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
npx claudepluginhub pepuscz/planhaus --plugin planhaus