| name | product-research |
| description | Find and compare current FF&E candidates from a design brief, with sourced purchasing facts and optional CSV-library save. Use to research or source products; not to match from an image or pair coordinating items. |
| allowed-tools | ["Read","Write","Edit","Bash","Glob","Grep","WebFetch","WebSearch","AskUserQuestion"] |
/as:product-research — Product Research
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.
Receives a brief from a designer, researches products across the web, and returns a curated shortlist. Selected products can be saved to the nearest project's product-library.csv.
How It Works
Designer gives a brief
↓
Claude searches the web
↓
Presents candidates with specs + reasoning
↓
Designer picks winners
↓
Saved to project product library
Step 1: Take the Brief
The designer describes what they're looking for. A brief can be loose or specific:
Loose:
"I need acoustic panels for a tech office lobby"
Specific:
"Looking for a round dining table, 48-54" diameter, solid wood top (walnut or oak preferred), steel or brass base, under $3,000, needs to be in stock or <6 week lead time"
What to capture from the brief
Extract as many of these as the designer provides. Don't ask for fields they didn't mention — work with what you have.
| Field | Examples |
|---|
| Category | Table, seating, lighting, acoustic panel, planter, storage |
| Use context | Office lobby, conference room, outdoor terrace, home office |
| Style / aesthetic | Scandinavian, mid-century, industrial, minimal, warm, bold |
| Materials | Solid wood, marble, steel, fabric, mesh, recycled |
| Dimensions | "48-54 inch diameter", "under 30 inches tall", "fits a 6x4 space" |
| Budget | Under $3,000, $500-$1,000 range, high-end, budget-friendly |
| Sustainability | GREENGUARD, FSC, Cradle to Cradle, recycled content, B Corp |
| Lead time | In stock, under 6 weeks, no rush |
| Quantity | 1 hero piece, 12 for a conference room, 50+ for open office |
| Indoor/Outdoor | Indoor, outdoor, both |
| Must-haves | Stackable, COM available, ADA compliant, weatherproof |
| Brands to consider | "I like Muuto and HAY", "no Herman Miller" |
| Brands to avoid | "Not Ikea", "nothing from Amazon" |
Don't interview the designer. If the brief is "acoustic panels for a lobby," that's enough to start searching. You can clarify after showing initial results if needed ("I found options in fabric, felt, and wood slat — any preference?").
Step 2: Research
Search the web for products matching the brief. Use multiple targeted queries to cover different angles:
Search strategy
For a brief like "round dining table, walnut, under $3,000":
- Category + material search:
round walnut dining table
- Design-focused search:
best round wood dining tables architects designers
- Trade/contract search:
contract round dining table solid wood specifications (for commercial projects)
- Specific brand searches if the designer mentioned preferences:
Muuto round table, HAY dining table
- Sustainability search if relevant:
FSC certified round dining table
Run 3-5 searches depending on brief complexity. Aim for breadth — different price points, brands, styles.
For each candidate found
Attempt to fetch the product page with WebFetch to extract full specs. If the page is JS-rendered and returns no data:
- Use the search result only to identify the candidate and locate another current, authoritative source.
- Never fill price, availability, lead time, dimensions, finishes, certifications, or other purchasing facts from model memory.
- Label any volatile fact without a current manufacturer, authorized-dealer, or certification-registry source as
Not verified; do not turn a search snippet into a confirmed fact.
For every price, availability, lead-time, finish, dimension, and certification claim, retain the source URL and access date. Prefer the manufacturer's current product page or price list; use an authorized dealer only when the manufacturer does not publish the fact. A candidate may remain useful with Not verified fields, but the shortlist must make those gaps visible.
Target: 6-10 candidates that genuinely match the brief. Don't pad the list with weak matches.
Step 3: Present Candidates
Show results as a numbered shortlist with enough detail to evaluate:
## Product Research: Round Dining Tables (walnut, under $3,000)
### 1. Alle Table Round — Hem
Designer: Staffan Holm · 59" dia × 29"H
Materials: Solid oak top, powder-coated steel base
Price: $2,399 USD · Lead: 8-12 weeks
Finishes: Natural oak, smoked oak, walnut stain
Indoor · COM: N/A
🔗 hem.com/en-us/furniture/tables/alle/30421
Why: Clean Scandinavian lines, strong scale for a lobby, within budget.
Walnut stain option available. Hem has good contract pricing.
### 2. Snaregade Round — Menu
Designer: Norm Architects · 54" dia × 28.5"H
Materials: Oak veneer top, powder-coated steel base
Price: $2,195 USD · Lead: 6-8 weeks
Finishes: Dark stained oak, light oak
Indoor · COM: N/A
🔗 menuspace.com/snaregade-round
Why: Norm Architects pedigree, slightly under budget,
faster lead time. Veneer top (not solid) — flag if that matters.
### 3. ...
---
## Summary
| # | Product | Brand | Ø | Price | Lead | Material | Notes |
|---|---------|-------|---|-------|------|----------|-------|
| 1 | Alle Round | Hem | 59" | $2,399 | 8-12w | Solid oak | Walnut stain ✓ |
| 2 | Snaregade Round | Menu | 54" | $2,195 | 6-8w | Oak veneer | Not solid wood |
| 3 | ... | ... | ... | ... | ... | ... | ... |
Which ones should I save to your product library?
Presentation rules
- Lead with the summary table if there are 6+ candidates — designers scan visually
- Include "Why" for each — explain why this product matches the brief, and flag any compromises
- Flag trade-offs honestly — "veneer not solid", "over budget but worth seeing", "long lead time"
- Don't oversell — if a product is a weak match, say so or don't include it
- Group by angle if useful — "Budget options", "Premium picks", "Fastest delivery"
Step 4: Save to the project library
When the designer picks candidates ("save 1, 3, and 5"), prepare rows for the nearest project-root product-library.csv. A project root is the nearest ancestor containing PROJECT.md; do not create a library outside one.
Row format
Read ../../schema/product-schema.md for the exact 33-column row contract and ../../schema/csv-conventions.md for local-file rules. Preview all selected products and the target path, then use the single confirmation gate. After approval, serialize all complete rows 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. The helper validates the complete batch and library before one atomic replacement; never loop per row or hand-edit persistent CSV.
Skill-specific column values:
- AG (Source):
research
- AF (Status):
saved
- AD (Tags): From brief context (e.g. "lobby-reno, walnut")
- AE (Notes): The "Why" reasoning from the presentation
- T (Selected Color/Finish): Blank (designer hasn't configured yet)
After saving
✓ Saved 3 products to your library (rows 48-50).
Tagged: lobby-reno, walnut
Want me to refine the search? Different style, budget, or materials?
Step 5 (Optional): Iterate
The designer may want to refine:
- "More like #1 but cheaper" → Search for alternatives in that style/brand tier
- "What about outdoor versions?" → New search with added constraint
- "Can you find the spec sheet PDF for #3?" → Search for manufacturer cut sheet
- "Compare #1 and #3 side by side" → Detailed comparison
- "Any of these have GREENGUARD?" → Check certifications for the shortlist
Each iteration can add more products to the library.
Conversation Style
- Don't over-ask before searching. A one-line brief is enough to start.
- Show results, then refine. It's faster to react to real options than to specify everything upfront.
- Be opinionated. The designer wants a knowledgeable research assistant, not a search engine. Flag the best options, note trade-offs, suggest alternatives.
- Know the industry. Reference relevant brands, designers, trade platforms. Understand contract vs. residential, COM/COL, lead times, certifications.
Notes
- JS-rendered product pages are common (Hem, Muuto, Vitra, etc.). If WebFetch returns no data, use search result snippets + general knowledge. Note when specs are unverified.
- The library is shared. Products from this skill live alongside bulk-fetch imports and PDF extractions. The
Source field (research) identifies where each row came from.