Weekly inventory scan and stocking analysis. Triggers: "weekly review", "weekly inventory scan", "weekly stocking check", "full lot pricing scan", "hot list this week", "what should I stock this week", "weekly dealer report", "inventory review", "competitive scan", full inventory pricing, stocking recommendations, market demand.
A tactical weekly analysis that prices every unit on the lot against the market, generates a stocking hot list for auction buying, and provides a market demand snapshot. Run this every Monday morning or before major auction days.
Architecture: This skill uses parallel sub-agents to minimize turnaround time. The lot scan and market demand analysis run simultaneously, then pricing runs on the complete inventory.
marketcheck-profile.md project memory file first./dealer-onboarding to set up your dealer context once." Then stop.dealer_id, dealer_name, dealer_type, franchise_brandszip/postcode, /, stateregioncountryradius, target_margin, recon_cost, floor_plan_per_day, max_dom, aging_thresholddealer_id is null: Tell the user to update their profile with /dealer-onboarding. Then stop.lot-scanner agent works (uses search_uk_active_cars). Skip lot-pricer (no ML pricing), market-demand-agent (no sold data). For UK, price using comp medians inline.If user_type is dealer_group:
dealer_group.locations[]IMPORTANT — Per-Location Stats Must Be Queried Individually:
Each location row in the health scorecard MUST use its own API call with source=<location_domain> and stats=price,miles,dom. Never copy group-level stats across all rows — every location has different pricing, mileage, and DOM profiles. Query each location separately:
search_active_cars(source="location1.com", car_type="used", rows=1, stats="price,miles,dom")
search_active_cars(source="location2.com", car_type="used", rows=1, stats="price,miles,dom")
... one call per location domain
Then use each response's stats object for that location's row only.
GROUP WEEKLY ROLLUP — [Group Name]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Location | Units | Overpriced | At Market | Underpriced | Hot List Match | Stocking Gaps
-----------------|-------|-----------|-----------|-------------|---------------|-------------
[Location 1] | XXX | XX | XX | XX | X of 10 | X categories
[Location 2] | XXX | XX | XX | XX | X of 10 | X categories
...
GROUP STOCKING PRIORITIES:
Most needed across group: [model 1], [model 2], [model 3]
Best location for each: [which store's market has highest D/S ratio]
CROSS-LOCATION TRANSFER OPPORTUNITIES:
[If one location is over-stocked in a category where another is under-stocked, flag it]
Launch these two agents in parallel using the Agent tool. Both are independent and can run at the same time.
Agent A: lot-scanner
Use the Agent tool to spawn the marketcheck-cowork-plugin:lot-scanner agent with this prompt:
Pull the complete inventory for dealer_id=[dealer_id], country=[US/UK], car_type=used, sort_by=dom, sort_order=desc. Paginate through ALL results — do not stop at 50. Return every vehicle with VIN, year, make, model, trim, listed price, mileage, and DOM.
Agent B: market-demand-agent (US only — skip for UK)
Use the Agent tool to spawn the marketcheck-cowork-plugin:market-demand-agent agent with this prompt:
Generate the stocking hot list and market demand snapshot for state=[state], dealer_type=[dealer_type], zip=[zip], radius=[radius], target_margin_pct=[target_margin], recon_cost=[recon_cost]. Use date range [first day of last month] to [last day of last month]. Run sections: hot_list, demand_snapshot.
lot-scanner returned pagination_status=complete — if partial, warn user in outputvin, year, make, model, listed_price, dommarket-demand-agent returned hot_list and demand_snapshot sections (US only) — if either missing, note in outputOnce the lot-scanner agent returns with the complete vehicle list:
Agent C: lot-pricer (US only)
Use the Agent tool to spawn the marketcheck-cowork-plugin:lot-pricer agent with this prompt:
Price these vehicles against the market: [pass the full vehicle list from lot-scanner]. Use zip=[zip], dealer_type=[dealer_type], floor_plan_per_day=[floor_plan_per_day], aging_threshold=[aging_threshold]. Price ALL vehicles — do not cap at 25.
UK Alternative (inline, no agent):
For UK dealers, instead of lot-pricer, price each unit inline:
mcp__marketcheck__search_uk_active_cars with matching year/make/model within radius, rows=10lot-pricer returned pricing for all passed VINs — if some failed, note count in outputpredicted_price = $0 or null in pricing outputAfter all agents complete, assemble the report from their outputs:
Section 1 (Full Lot Competitive Scan) — from lot-pricer output:
cross_listed_count > 1, show (×N sites) next to the source column as a note — do NOT repeat the row.Section 2 (Stocking Hot List) — from market-demand-agent output (US only):
Section 3 (Market Demand Snapshot) — from market-demand-agent output (US only):
Price Reductions — if querying price_change data for the group:
(×N sites) if cross-listed.TOP 5 ACTIONS — synthesize from all agent outputs:
WEEKLY DEALER REVIEW — [Dealer Name] — Week of [Date]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
FULL LOT COMPETITIVE SCAN — [N] Units Analyzed (all [total] units on lot)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
VIN (last 6) | Year Make Model | DOM | Your Price | Market Price | Gap % | Position | Action
-------------|-----------------|-----|------------|--------------|-------|----------|-------
[sorted by most overpriced first]
SUMMARY:
[N] units ABOVE MARKET (avg [X]% overpriced) — reduce to recover ~$[X,XXX]
[N] units AT MARKET — hold
[N] units BELOW MARKET — consider raising [N] units to capture ~$[X,XXX]
STOCKING HOT LIST — Top 10 Models to Seek ([State], [Month])
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Rank | Make Model | Turn Days | Monthly Sold | Supply | D/S Ratio | Max Buy | On Your Lot?
-----|------------|-----------|-------------|--------|-----------|---------|-------------
[top 10 by opportunity score]
MARKET DEMAND — [State] — [Month Year]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Top 10 Selling Models:
Rank | Make Model | Sold Count | Avg Price | Avg DOM
-----|------------|------------|-----------|--------
[table]
Demand by Segment:
Body Type | Sold Count | Share %
----------|------------|--------
[table]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
TOP 5 ACTIONS THIS WEEK:
1. [Highest-impact action with $ estimate]
2. [Second action]
3. [Third action]
4. [Fourth action]
5. [Fifth action]
Estimated total impact: $[X,XXX] in margin recovery + $[X,XXX] in stocking opportunity
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
For strategic monthly analysis (market share, depreciation, trends), run /monthly-strategy
UK dealers: Sections 2 and 3 are replaced with: "Hot List and Market Demand require US sold data. Use the competitive scan above for UK pricing intelligence."