/product-enrich — Product Enrichment
Takes a product list with basic info (name + brand) and fills in missing metadata — category, subcategory, primary color, material, and style tags — using AI. Works on CSV files, Google Sheets, or pasted data.
When to Use
- After a bulk import where products are missing categories or tags
- When a designer clips products quickly without filling in details
- To standardize metadata across products from different sources
- Before generating an FF&E schedule (enriched data makes better schedules)
Step 1: Accept Input
Accept product data in any format:
Google Sheet ID:
/product-enrich 1FMScYW9guezOWc_m4ClTQxxFIpS6TNRr373R-MJGzgE
CSV file:
/product-enrich ~/Documents/project/products.csv
Pasted data:
/product-enrich
Eames Lounge Chair, Herman Miller
Saarinen Tulip Table, Knoll
PH 5 Pendant, Louis Poulsen
Togo Sofa, Ligne Roset
Step 2: Analyze Each Product
For each product, infer the following fields:
Category
Map to the canonical vocabulary (22 terms) defined in ../../schema/product-schema.md.
Subcategory
More specific classification within the category:
- Chair → Task Chair, Lounge Chair, Dining Chair, Side Chair, Stool, Bench
- Table → Dining Table, Coffee Table, Side Table, Console Table, Conference Table
- Light → Pendant, Floor Lamp, Table Lamp, Wall Sconce, Ceiling, Task Light, Chandelier
- Sofa → Sofa, Sectional, Loveseat, Daybed, Settee
- Storage → Credenza, Bookcase, Filing Cabinet, Wardrobe, Sideboard, Dresser
- Desk → Writing Desk, Executive Desk, Standing Desk, Workstation
Primary Color
The dominant color of the product as typically sold:
- Use standard color names: Black, White, Gray, Brown, Beige, Navy, Blue, Green, Red, Orange, Yellow, Pink, Purple, Natural, Walnut, Oak, Teak, Chrome, Brass, Copper, Multi
Material
Primary materials, comma-separated:
- Wood (specify type if known: Walnut, Oak, Maple, Teak, Birch, Ash, Beech)
- Metal (specify: Steel, Aluminum, Brass, Chrome, Iron, Copper)
- Upholstery (specify: Leather, Fabric, Velvet, Bouclé, Mohair, Linen, Wool)
- Other: Glass, Marble, Concrete, Ceramic, Plastic, Fiberglass, Rattan, Cane, Acrylic
Style Tags
2-4 descriptive tags from:
- Period/movement: Mid-Century Modern, Art Deco, Bauhaus, Scandinavian, Japanese, Industrial, Contemporary, Traditional, Minimalist, Postmodern, Memphis
- Character: Organic, Geometric, Sculptural, Modular, Stackable, Compact, Statement, Classic, Iconic
- Context: Residential, Contract, Hospitality, Healthcare, Education, Outdoor
Image Analysis
If the product data includes an image URL (column AC in the master schema), use Claude vision to verify and refine the enrichment. The image may reveal:
- Actual color (not just what the name suggests)
- Material details not in the product name
- Style characteristics
Step 3: Present Preview
Show a preview of the enrichment before applying:
## Product Enrichment Preview
| Product | Brand | Category | Subcategory | Color | Material | Style Tags |
|---------|-------|----------|-------------|-------|----------|------------|
| Eames Lounge Chair | Herman Miller | Chair | Lounge Chair | Walnut/Black | Molded plywood, Leather | Mid-Century Modern, Iconic, Residential |
| Saarinen Tulip Table | Knoll | Table | Dining Table | White | Marble, Aluminum | Mid-Century Modern, Sculptural, Organic |
| PH 5 Pendant | Louis Poulsen | Light | Pendant | White | Aluminum | Scandinavian, Classic, Iconic |
| Togo Sofa | Ligne Roset | Sofa | Sofa | Brown | Fabric | Contemporary, Organic, Sculptural |
4 products enriched. Apply? (y/n)
Flag any products where enrichment is uncertain:
⚠ "Custom Reception Desk" — unknown product, category set to Desk but verify
Step 4: Apply
To Google Sheet
Write enriched fields to the master 33-column schema:
- Column A (Category) — enriched category
- Column R (Materials) — enriched materials
- Column S (Colors/Finishes) — enriched color
- Column AD (Tags) — enriched style tags, appended to existing tags
Do NOT overwrite existing values unless the field is empty or the user explicitly asks to overwrite.
To CSV
Add new columns if they don't exist: Category, Subcategory, Primary Color, Material, Style Tags. Save as {original-name}-enriched.csv.
To conversation
Output the enriched table in markdown.
Step 5: Summary
✓ Enriched 4 products
Categories: 4 assigned (0 already had values)
Colors: 4 assigned
Materials: 4 assigned
Style tags: 14 total tags across 4 products
Uncertain: 1 (flagged for review)
Pairs With
/product-spec-bulk-fetch — fetch specs first, then enrich the results
/product-data-cleanup — cleanup normalizes formatting, enrich adds metadata
/product-data-import — enriched products make better formatted schedules
/product-match — enriched tags help find better matches
1---2name: product-enrich3description: Auto-tag FF&E products with categories, colors, materials, and style tags using AI.4---5
6# /product-enrich — Product Enrichment
7
8Takes a product list with basic info (name + brand) and fills in missing metadata — category, subcategory, primary color, material, and style tags — using AI. Works on CSV files, Google Sheets, or pasted data.
9
10## When to Use
11
12- After a bulk import where products are missing categories or tags
13- When a designer clips products quickly without filling in details
14- To standardize metadata across products from different sources
15- Before generating an FF&E schedule (enriched data makes better schedules)
16
17## Step 1: Accept Input
18
19Accept product data in any format:
20
21**Google Sheet ID:**
22```
23/product-enrich 1FMScYW9guezOWc_m4ClTQxxFIpS6TNRr373R-MJGzgE
24```
25
26**CSV file:**
27```
28/product-enrich ~/Documents/project/products.csv
29```
30
31**Pasted data:**
32```
33/product-enrich
34Eames Lounge Chair, Herman Miller
35Saarinen Tulip Table, Knoll
36PH 5 Pendant, Louis Poulsen
37Togo Sofa, Ligne Roset
38```
39
40## Step 2: Analyze Each Product
41
42For each product, infer the following fields:
43
44### Category
45Map to the canonical vocabulary (22 terms) defined in `../../schema/product-schema.md`.
46
47### Subcategory
48More specific classification within the category:
49- Chair → Task Chair, Lounge Chair, Dining Chair, Side Chair, Stool, Bench
50- Table → Dining Table, Coffee Table, Side Table, Console Table, Conference Table
51- Light → Pendant, Floor Lamp, Table Lamp, Wall Sconce, Ceiling, Task Light, Chandelier
52- Sofa → Sofa, Sectional, Loveseat, Daybed, Settee
53- Storage → Credenza, Bookcase, Filing Cabinet, Wardrobe, Sideboard, Dresser
54- Desk → Writing Desk, Executive Desk, Standing Desk, Workstation
55
56### Primary Color
57The dominant color of the product as typically sold:
58- Use standard color names: Black, White, Gray, Brown, Beige, Navy, Blue, Green, Red, Orange, Yellow, Pink, Purple, Natural, Walnut, Oak, Teak, Chrome, Brass, Copper, Multi
59
60### Material
61Primary materials, comma-separated:
62- Wood (specify type if known: Walnut, Oak, Maple, Teak, Birch, Ash, Beech)
63- Metal (specify: Steel, Aluminum, Brass, Chrome, Iron, Copper)
64- Upholstery (specify: Leather, Fabric, Velvet, Bouclé, Mohair, Linen, Wool)
65- Other: Glass, Marble, Concrete, Ceramic, Plastic, Fiberglass, Rattan, Cane, Acrylic
66
67### Style Tags
682-4 descriptive tags from:
69- Period/movement: Mid-Century Modern, Art Deco, Bauhaus, Scandinavian, Japanese, Industrial, Contemporary, Traditional, Minimalist, Postmodern, Memphis
70- Character: Organic, Geometric, Sculptural, Modular, Stackable, Compact, Statement, Classic, Iconic
71- Context: Residential, Contract, Hospitality, Healthcare, Education, Outdoor
72
73### Image Analysis
74If the product data includes an image URL (column AC in the master schema), use Claude vision to verify and refine the enrichment. The image may reveal:
75- Actual color (not just what the name suggests)
76- Material details not in the product name
77- Style characteristics
78
79## Step 3: Present Preview
80
81Show a preview of the enrichment before applying:
82
83```
84## Product Enrichment Preview
85
86| Product | Brand | Category | Subcategory | Color | Material | Style Tags |
87|---------|-------|----------|-------------|-------|----------|------------|
88| Eames Lounge Chair | Herman Miller | Chair | Lounge Chair | Walnut/Black | Molded plywood, Leather | Mid-Century Modern, Iconic, Residential |
89| Saarinen Tulip Table | Knoll | Table | Dining Table | White | Marble, Aluminum | Mid-Century Modern, Sculptural, Organic |
90| PH 5 Pendant | Louis Poulsen | Light | Pendant | White | Aluminum | Scandinavian, Classic, Iconic |
91| Togo Sofa | Ligne Roset | Sofa | Sofa | Brown | Fabric | Contemporary, Organic, Sculptural |
92
934 products enriched. Apply? (y/n)
94```
95
96Flag any products where enrichment is uncertain:
97```
98⚠ "Custom Reception Desk" — unknown product, category set to Desk but verify
99```
100
101## Step 4: Apply
102
103### To Google Sheet
104Write enriched fields to the master 33-column schema:
105- Column A (Category) — enriched category
106- Column R (Materials) — enriched materials
107- Column S (Colors/Finishes) — enriched color
108- Column AD (Tags) — enriched style tags, appended to existing tags
109
110Do NOT overwrite existing values unless the field is empty or the user explicitly asks to overwrite.
111
112### To CSV
113Add new columns if they don't exist: Category, Subcategory, Primary Color, Material, Style Tags. Save as `{original-name}-enriched.csv`.
114
115### To conversation
116Output the enriched table in markdown.
117
118## Step 5: Summary
119
120```
121✓ Enriched 4 products
122 Categories: 4 assigned (0 already had values)
123 Colors: 4 assigned
124 Materials: 4 assigned
125 Style tags: 14 total tags across 4 products
126 Uncertain: 1 (flagged for review)
127```
128
129## Pairs With
130
131- `/product-spec-bulk-fetch` — fetch specs first, then enrich the results
132- `/product-data-cleanup` — cleanup normalizes formatting, enrich adds metadata
133- `/product-data-import` — enriched products make better formatted schedules
134- `/product-match` — enriched tags help find better matches