Vehicle depreciation and value retention intelligence. Triggers: "depreciation rate", "value retention", "residual value", "how fast is it losing value", "which cars hold value", "EV depreciation", "price trend over time", "brand value ranking", "depreciation curve", "residual forecast", "MSRP parity", "price over sticker", "incentive effectiveness", "geographic value variance", "which states have higher prices", vehicle depreciation analysis, residual value forecasting, segment value comparisons, brand retention rankings, or MSRP-to-transaction price tracking across new and used vehicles for trend-adjusted valuations.
From appraisernpx claudepluginhub marketcheckhub/marketcheck-cowork-plugin --plugin appraiserThis skill uses the workspace's default tool permissions.
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Builds 3-5 year financial models for startups with cohort revenue projections, cost structures, cash flow, headcount plans, burn rate, runway, and scenario analysis.
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: state, specialization, country, min_comp_count. If missing, ask — skill works without profile. US-only (get_sold_summary, search_active_cars); UK not supported. Confirm profile.
User is an appraiser needing trend-adjusted valuations that account for recent depreciation velocity rather than stale book values.
| Required | Field | Source |
|---|---|---|
| Yes | Make/Model or segment | Ask |
| Recommended | Model year(s) | Ask |
| Auto/Ask | Geography (state/zip) | Profile or ask |
| Optional | Inventory type, comparison dimension, time horizon | Ask |
Clarify: used vehicle depreciation vs new vehicle MSRP parity — different workflows.
Use this when a user asks "how fast is the RAV4 losing value" or "show me the depreciation curve for a 2022 Civic." This is essential for trend-adjusted appraisals.
Get current period sold data — Call get_sold_summary with make, model, inventory_type=Used, date_from (first of prior month), date_to (end of prior month). Include state if specified.
→ Extract only: average_sale_price, sold_count. Discard full response.
Get historical sold data at multiple intervals — Make separate calls to get_sold_summary for each lookback period:
average_sale_price at each point. Adjust dates based on today's date.
→ Extract only: average_sale_price, sold_count per interval. Discard full response.Get current active market asking price — Call search_active_cars with year, make, model, car_type=used, stats=price, rows=0. Include zip/state if available.
→ Extract only: mean, median, min, max price stats. Discard full response.
Get original MSRP baseline — Call search_active_cars with same YMMT, rows=1, sort_by=price, sort_order=desc. Decode the VIN for MSRP. Fallback: highest 1-year-ago sold price.
→ Extract only: msrp from decode. Discard full response.
Build the depreciation curve — Calculate at each time interval:
Use this when a user asks "are SUVs holding value better than sedans" or "how is EV depreciation compared to ICE."
Get current period segment data — Call get_sold_summary with ranking_dimensions=body_type, ranking_measure=average_sale_price, date_from (first of prior month), date_to (end of prior month), inventory_type=Used, top_n=10.
→ Extract only: per body_type — average_sale_price, sold_count. Discard full response.
Get prior period segment data — Same call with dates shifted back 3 months (or user's chosen comparison window). → Extract only: per body_type — average_sale_price, sold_count. Discard full response.
Get fuel type comparison — Call get_sold_summary with fuel_type_category=EV, current period dates, inventory_type=Used. Repeat with fuel_type_category=ICE. Repeat both for prior period.
→ Extract only: average_sale_price, sold_count per fuel_type per period. Discard full response.
Calculate segment trends — For each body type and fuel type:
Deliver the segment comparison — Present a ranked table from strongest retention to weakest. Highlight the EV vs ICE gap specifically. Include volume context. For appraisers, note which segments require trend adjustments to current valuations.
Use this when a user asks "which brands hold value best" or "rank the automakers by residual value."
Get current period brand prices — Call get_sold_summary with ranking_dimensions=make, ranking_measure=average_sale_price, ranking_order=desc, date_from (first of prior month), date_to (end of prior month), inventory_type=Used, top_n=25.
→ Extract only: per make — average_sale_price. Discard full response.
Get prior period brand prices — Same call with dates shifted back 6 months (or user's preferred comparison window). → Extract only: per make — average_sale_price. Discard full response.
Get volume context — Call get_sold_summary with ranking_dimensions=make, ranking_measure=sold_count, ranking_order=desc, current period dates, inventory_type=Used, top_n=25.
→ Extract only: per make — sold_count. Discard full response.
Calculate brand retention scores — For each make:
Present the brand ranking — Show a ranked table with: Rank, Make, Current Avg Price, Prior Avg Price, Retention %, Volume, Tier. Highlight notable movers. For appraisers, brands in lower tiers may warrant additional depreciation adjustments in current valuations.
Use this when a user asks "where do Tacomas hold value best" or "which states have the highest used car prices."
Get state-level transaction data — Call get_sold_summary with make, model, summary_by=state, date_from (first of prior month), date_to (end of prior month), inventory_type=Used, limit=5000.
→ Extract only: per state — average_sale_price, sold_count. Discard full response.
Get national baseline — Same call without summary_by for national average.
→ Extract only: average_sale_price, sold_count. Discard full response.
Calculate geographic variance — For each state:
Identify patterns — Group states into:
Deliver the geographic map — Present as a ranked table: State, Avg Transaction Price, National Avg, Price Index, Premium/Discount $, Sold Count. Highlight the top 5 and bottom 5 states for the specific vehicle.
Use this when a user asks "which new cars are selling over sticker" or "are markups coming down" or "incentive effectiveness."
Get current MSRP parity data — Call get_sold_summary with inventory_type=New, ranking_dimensions=make,model, ranking_measure=price_over_msrp_percentage, ranking_order=desc, date_from (first of prior month), date_to (end of prior month), top_n=30.
→ Extract only: per make/model — price_over_msrp_percentage. Discard full response.
Get prior period parity data — Same call with dates shifted back 3 months. → Extract only: per make/model — price_over_msrp_percentage. Discard full response.
Get volume context — Call get_sold_summary with inventory_type=New, ranking_dimensions=make,model, ranking_measure=sold_count, ranking_order=desc, current period dates, top_n=30.
→ Extract only: per make/model — sold_count. Discard full response.
Classify parity status — For each make/model:
Present the parity report — Show a table: Make/Model, Current % Over/Under MSRP, Prior Period %, Change Direction, Sold Volume. Highlight:
Present: depreciation headline with retention % and monthly rate, trend data table (period/price/retention/rate/volume), key signals (acceleration, volume shifts, geographic anomalies), and actionable appraisal adjustment recommendation with quantified impact.