/as:product-pair — Product Pairing
Harness note: use /as:<skill> on Claude Code and $<skill> on Codex. Resolve <skill-root> as the directory containing this loaded SKILL.md and <plugin-root> as the plugin root that contains skills/, and use equivalent native tools when host tool names differ.
"What goes with this?" Takes a product and suggests complementary items across different categories — a side table for a sofa, a floor lamp for a reading chair, a rug for a dining table. Returns 5-8 pairings with reasoning rooted in design principles.
When to Use
- Building out a room or vignette from a hero piece
- Designer has a key product and needs to complete the palette
- Presenting a coordinated product package to a client
- Filling gaps in an FF&E schedule by category
Step 1: Accept Input
By name:
/as:product-pair Blu Dot Diplomat Sofa
By name + context:
/as:product-pair Blu Dot Diplomat Sofa for a tech office lounge
By product details:
/as:product-pair
Name: Diplomat Sofa
Brand: Blu Dot
Materials: Steel frame, fabric upholstery
Color: Edwards Navy
Style: Contemporary, minimal
Price: $2,499
Context: Corporate lounge, 6-person seating area
Step 2: Analyze the Source Product
Identify the product's design DNA:
- Style language: Mid-century, Scandinavian, industrial, contemporary, etc.
- Material palette: Wood type, metal finish, upholstery type
- Color family: Warm neutrals, cool tones, bold accent, monochrome
- Scale: Compact/apartment, standard, generous/commercial
- Price tier: Budget (<$500), mid-range ($500-$2,000), premium ($2,000-$5,000), luxury ($5,000+)
- Market: Residential, contract, hospitality
Step 3: Determine Pairing Categories
Based on the source product's category, identify what typically pairs with it:
| Source Category |
Pair With |
| Sofa |
Coffee table, side table, floor lamp, throw pillow, rug, ottoman |
| Lounge Chair |
Side table, floor lamp, ottoman, throw |
| Dining Table |
Dining chairs, pendant light, sideboard, rug |
| Desk |
Task chair, desk lamp, monitor arm, desk organizer |
| Bed |
Nightstands, table lamps, bench, rug, dresser |
| Conference Table |
Conference chairs, credenza, pendant/linear light |
| Task Chair |
Desk, monitor arm, task light |
If the designer provided context (e.g., "tech office lounge"), factor that into category selection.
Step 4: Search for Pairings
For each pairing category, search for products that match the source's:
- Style: Same design language or intentional contrast
- Material harmony: Complementary materials (e.g., walnut sofa → brass lamp, not chrome)
- Color coordination: Same palette, complementary, or intentional accent
- Scale proportion: Appropriately sized relative to the source
- Price alignment: Similar tier (don't pair a $5,000 sofa with a $30 lamp)
Run 2-3 searches per pairing category. Target 5-8 total pairings across different categories.
Step 5: Present Pairings
## Pairings for: Diplomat Sofa — Blu Dot
Source: Contemporary minimal, steel/navy fabric, $2,499
### Coffee Table
**Minimalista Coffee Table — Blu Dot** · $799
48"W × 24"D × 16"H · Steel, glass
Same brand, same design language. Steel frame echoes the sofa's base.
### Side Table
**Swole Small Side Table — Blu Dot** · $349
15" dia × 18"H · Steel, solid walnut top
Adds warmth with walnut. Low profile sits well next to the sofa arm height.
### Floor Lamp
**IC F1 — Flos** · $695
14" dia × 53"H · Brass, opal glass
Sculptural counterpoint to the sofa's linearity. Brass warms the cool navy.
### Throw Pillow
**Dot Dash Pillow — Loom Decor** · $89
20" × 20" · Linen blend
Texture contrast against the sofa fabric. Available in coordinating colorways.
### Rug
**Sathi Rug — Armadillo** · $1,450
8' × 10' · Wool, undyed
Neutral base grounds the navy. Contract-grade durability.
---
## Pairing Summary
| Category | Product | Brand | Price | Why |
|----------|---------|-------|-------|-----|
| Coffee Table | Minimalista | Blu Dot | $799 | Same language, steel continuity |
| Side Table | Swole Small | Blu Dot | $349 | Walnut warmth, right height |
| Floor Lamp | IC F1 | Flos | $695 | Brass accent, sculptural form |
| Pillow | Dot Dash | Loom Decor | $89 | Texture contrast |
| Rug | Sathi | Armadillo | $1,450 | Neutral ground, contract-grade |
**Total pairing package: $3,382**
Presentation rules
- Explain the design reasoning for each pairing — material harmony, color logic, scale, style
- Mix brands — don't just suggest the same brand for everything (unless the designer asks)
- Include at least one accent — a piece that creates intentional contrast (different material, color pop, different era)
- Stay in the price tier — pairings should feel proportionate to the source
- Note contract availability if the source is contract-grade
Step 6: Save
If the designer picks pairings, prepare complete rows for the nearest project-root product-library.csv. Read ../../schema/product-schema.md and ../../schema/csv-conventions.md. Preview all chosen pairings and the target path, then use the single confirmation gate. After approval, serialize the complete batch as one JSON array and invoke python3 "<plugin-root>/skills/master-schedule/scripts/csv-library.py" append product --project <project-root> --row-json <batch.json> exactly once so validation and replacement are atomic; never loop per row.
Tags: append pair:{source-product-name} for traceability
Notes: Paired with {source product}. {Design reasoning}
Status: saved
Source: product-pair
Pairs With
/as:product-match — match finds alternatives to the source, pair finds complements
/as:product-research — research finds products from a brief, pair builds around an anchor piece
/as:product-enrich — enrich paired products with full metadata
/as:product-data-import — import the source + pairings into the master schedule
1---2name: product-pair3description: Suggest complementary products that pair well with a given item — side tables for sofas, task lights for desks, etc. Use when the user asks "what goes with" a product, wants coordinating pieces, or asks to complete a furniture grouping.4allowed-tools:5 - Read6 - Write7 - Edit8 - Bash9 - Glob10 - Grep11 - WebFetch12 - WebSearch13 - AskUserQuestion14---1516# /as:product-pair — Product Pairing1718<!-- architecture-studio:harness-compatibility -->19> Harness note: use `/as:<skill>` on Claude Code and `$<skill>` on Codex. Resolve `<skill-root>` as the directory containing this loaded `SKILL.md` and `<plugin-root>` as the plugin root that contains `skills/`, and use equivalent native tools when host tool names differ.2021"What goes with this?" Takes a product and suggests complementary items across different categories — a side table for a sofa, a floor lamp for a reading chair, a rug for a dining table. Returns 5-8 pairings with reasoning rooted in design principles.2223## When to Use2425- Building out a room or vignette from a hero piece26- Designer has a key product and needs to complete the palette27- Presenting a coordinated product package to a client28- Filling gaps in an FF&E schedule by category2930## Step 1: Accept Input3132**By name:**33```34/as:product-pair Blu Dot Diplomat Sofa35```3637**By name + context:**38```39/as:product-pair Blu Dot Diplomat Sofa for a tech office lounge40```4142**By product details:**43```44/as:product-pair45Name: Diplomat Sofa46Brand: Blu Dot47Materials: Steel frame, fabric upholstery48Color: Edwards Navy49Style: Contemporary, minimal50Price: $2,49951Context: Corporate lounge, 6-person seating area52```5354## Step 2: Analyze the Source Product5556Identify the product's design DNA:57- **Style language**: Mid-century, Scandinavian, industrial, contemporary, etc.58- **Material palette**: Wood type, metal finish, upholstery type59- **Color family**: Warm neutrals, cool tones, bold accent, monochrome60- **Scale**: Compact/apartment, standard, generous/commercial61- **Price tier**: Budget (<$500), mid-range ($500-$2,000), premium ($2,000-$5,000), luxury ($5,000+)62- **Market**: Residential, contract, hospitality6364## Step 3: Determine Pairing Categories6566Based on the source product's category, identify what typically pairs with it:6768| Source Category | Pair With |69|----------------|-----------|70| Sofa | Coffee table, side table, floor lamp, throw pillow, rug, ottoman |71| Lounge Chair | Side table, floor lamp, ottoman, throw |72| Dining Table | Dining chairs, pendant light, sideboard, rug |73| Desk | Task chair, desk lamp, monitor arm, desk organizer |74| Bed | Nightstands, table lamps, bench, rug, dresser |75| Conference Table | Conference chairs, credenza, pendant/linear light |76| Task Chair | Desk, monitor arm, task light |7778If the designer provided context (e.g., "tech office lounge"), factor that into category selection.7980## Step 4: Search for Pairings8182For each pairing category, search for products that match the source's:83- **Style**: Same design language or intentional contrast84- **Material harmony**: Complementary materials (e.g., walnut sofa → brass lamp, not chrome)85- **Color coordination**: Same palette, complementary, or intentional accent86- **Scale proportion**: Appropriately sized relative to the source87- **Price alignment**: Similar tier (don't pair a $5,000 sofa with a $30 lamp)8889Run 2-3 searches per pairing category. Target 5-8 total pairings across different categories.9091## Step 5: Present Pairings9293```94## Pairings for: Diplomat Sofa — Blu Dot9596Source: Contemporary minimal, steel/navy fabric, $2,4999798### Coffee Table99**Minimalista Coffee Table — Blu Dot** · $79910048"W × 24"D × 16"H · Steel, glass101Same brand, same design language. Steel frame echoes the sofa's base.102103### Side Table104**Swole Small Side Table — Blu Dot** · $34910515" dia × 18"H · Steel, solid walnut top106Adds warmth with walnut. Low profile sits well next to the sofa arm height.107108### Floor Lamp109**IC F1 — Flos** · $69511014" dia × 53"H · Brass, opal glass111Sculptural counterpoint to the sofa's linearity. Brass warms the cool navy.112113### Throw Pillow114**Dot Dash Pillow — Loom Decor** · $8911520" × 20" · Linen blend116Texture contrast against the sofa fabric. Available in coordinating colorways.117118### Rug119**Sathi Rug — Armadillo** · $1,4501208' × 10' · Wool, undyed121Neutral base grounds the navy. Contract-grade durability.122123---124125## Pairing Summary126127| Category | Product | Brand | Price | Why |128|----------|---------|-------|-------|-----|129| Coffee Table | Minimalista | Blu Dot | $799 | Same language, steel continuity |130| Side Table | Swole Small | Blu Dot | $349 | Walnut warmth, right height |131| Floor Lamp | IC F1 | Flos | $695 | Brass accent, sculptural form |132| Pillow | Dot Dash | Loom Decor | $89 | Texture contrast |133| Rug | Sathi | Armadillo | $1,450 | Neutral ground, contract-grade |134135**Total pairing package: $3,382**136```137138### Presentation rules139140- **Explain the design reasoning** for each pairing — material harmony, color logic, scale, style141- **Mix brands** — don't just suggest the same brand for everything (unless the designer asks)142- **Include at least one accent** — a piece that creates intentional contrast (different material, color pop, different era)143- **Stay in the price tier** — pairings should feel proportionate to the source144- **Note contract availability** if the source is contract-grade145146## Step 6: Save147148If the designer picks pairings, prepare complete rows for the nearest project-root `product-library.csv`. Read `../../schema/product-schema.md` and `../../schema/csv-conventions.md`. Preview all chosen pairings and the target path, then use the single confirmation gate. After approval, serialize the complete batch as one JSON array and invoke `python3 "<plugin-root>/skills/master-schedule/scripts/csv-library.py" append product --project <project-root> --row-json <batch.json>` exactly once so validation and replacement are atomic; never loop per row.149150- `Tags`: append `pair:{source-product-name}` for traceability151- `Notes`: `Paired with {source product}. {Design reasoning}`152- `Status`: `saved`153- `Source`: `product-pair`154155## Pairs With156157- `/as:product-match` — match finds alternatives to the source, pair finds complements158- `/as:product-research` — research finds products from a brief, pair builds around an anchor piece159- `/as:product-enrich` — enrich paired products with full metadata160- `/as:product-data-import` — import the source + pairings into the master schedule