Days-on-market as a leading investment signal. Triggers: "days on market", "DOM trends", "inventory aging", "sell-through velocity", "demand distress", "which brands are sitting longest", "DOM signal", "DOM inflection", "what's sitting on lots", "demand softening signal", dedicated days-on-market analysis as a primary leading indicator for investment decisions rather than as a secondary metric.
From analystnpx claudepluginhub marketcheckhub/marketcheck-cowork-plugin --plugin analystThis skill uses the workspace's default tool permissions.
Guides writing and configuring Hookify rules with YAML frontmatter, regex patterns, and conditions to monitor bash commands, file edits, prompts, and stop events.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Designs and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Date anchor: Today's date comes from the
# currentDatesystem context. Compute ALL relative dates from it. Example: if today = 2026-03-14, then "prior month" = 2026-02-01 to 2026-02-28, "current month" (most recent complete) = February 2026, "three months ago" = December 2025. Never use training-data dates.
Load the marketcheck-profile.md project memory file if exists. Extract: tracked_tickers, tracked_makes, tracked_states, benchmark_period_months, country. If missing, ask for OEM/ticker and geography. US-only. Confirm profile.
Financial analyst needing DOM as a primary analytical dimension — not a secondary metric buried inside other analyses. Days on market is the single most predictive metric for earnings direction in recent cycles: Ford's DOM rose 54% Q3→Q4 2025 preceding a 32% earnings miss; Stellantis's DOM fell 14% Q2→Q4 signaling a turnaround. This skill provides dedicated DOM tracking with rate-of-change calculations, inflection point detection, and distress flagging.
OEM TICKERS:
F → Ford, Lincoln
GM → Chevrolet, GMC, Buick, Cadillac
TM → Toyota, Lexus
HMC → Honda, Acura
STLA → Chrysler, Dodge, Jeep, Ram, Fiat, Alfa Romeo, Maserati
TSLA → Tesla
RIVN → Rivian
LCID → Lucid
HYMTF → Hyundai, Kia, Genesis
NSANY → Nissan, Infiniti
MBGAF → Mercedes-Benz
BMWYY → BMW, MINI, Rolls-Royce
VWAGY → Volkswagen, Audi, Porsche, Lamborghini, Bentley
DEALER GROUP TICKERS:
AN → AutoNation
LAD → Lithia Motors
PAG → Penske Automotive
SAH → Sonic Automotive
GPI → Group 1 Automotive
ABG → Asbury Automotive
KMX → CarMax
CVNA → Carvana
Use when user asks "which brands are sitting longest" or "DOM ranking across OEMs."
Call mcp__marketcheck__get_sold_summary with:
state: from profile or user input (or omit for national)date_from / date_to: most recent complete monthranking_dimensions: makeranking_measure: average_days_on_marketranking_order: desc (longest first)top_n: 25→ Extract only: make, average_days_on_market, sold_count per make. Discard full response.
Map makes to tickers. For multi-make tickers, calculate weighted average DOM (weighted by sold_count). Rank tickers by DOM.
| Signal | Threshold |
|---|---|
| BULLISH | Avg DOM < 30 days (hot seller, pricing power intact) |
| NEUTRAL | Avg DOM 30–60 days (healthy range) |
| CAUTION | Avg DOM 60–90 days (aging, incentives likely) |
| BEARISH | Avg DOM > 90 days (distress, production cuts likely) |
Use when user asks "DOM trend for Ford" or "is demand softening for Toyota."
For EACH period (current, 1mo, 2mo, 3mo, 6mo), call mcp__marketcheck__get_sold_summary with:
make: each make in the target ticker's mappingstate: from profiledate_from / date_to: the period's date rangeranking_dimensions: makeranking_measure: average_days_on_markettop_n: 1→ Extract only: average_days_on_market, sold_count per make per period. Discard full response.
Flag if DOM trajectory changes direction (declining → rising, or rising → declining) within the 5-period window. An inflection from declining to rising is a CAUTION signal — it means demand was improving but is now softening.
| Signal | Threshold |
|---|---|
| BULLISH | DOM declining >5 days/month (accelerating sell-through) |
| NEUTRAL | DOM stable within ±2 days/month |
| CAUTION | DOM rising 2–5 days/month OR inflection from declining to rising |
| BEARISH | DOM rising >5 days/month (sustained demand deterioration) |
Use when user asks "which vehicle segments have slowing velocity" or "SUV vs truck DOM."
For each major body type (SUV, Pickup, Sedan, Hatchback), call mcp__marketcheck__get_sold_summary with:
state: from profilebody_type: the segmentdate_from / date_to: current monthranking_dimensions: makeranking_measure: average_days_on_marketranking_order: desctop_n: 15→ Extract only: make, average_days_on_market, sold_count per make per segment. Discard full response.
Repeat for prior month.
Map makes to tickers. For each segment, calculate:
Flag tickers with above-average DOM in high-volume segments (SUV, Pickup). These tickers face the most margin pressure from aging inventory.
Use when user asks "DOM distress signals" or "which OEMs are crossing danger thresholds."
Call mcp__marketcheck__search_active_cars with:
make: each make in target ticker(s)seller_state: from profilestats: domrows: 0→ Extract only: num_found, stats.dom.mean, stats.dom.min, stats.dom.max. Discard full response.
Flag makes crossing these thresholds:
Active DOM (from Step 1) vs Sold DOM (from Workflow 2) reveals the demand velocity gap:
Present: DOM ranking table by ticker with signal, 5-period trend table with rate-of-change and trajectory, segment velocity comparison, inflection alerts, active vs sold DOM gap. Every metric includes signal with rationale. Connect DOM trends to earnings implications: rising DOM → incentive spend → margin compression → earnings headwind.
oem-stock-tracker (Step 6) and dealer-group-health-monitor. This skill makes DOM the sole analytical dimension with dedicated rate-of-change tracking, inflection detection, and distress threshold flagging.