skills/automotive-dealer-roadside-signage/SKILL.md
Design roadside signs and large-format ads for businesses, especially automotive dealers. Use for pylon signs, monument signs, lot banners, highway billboards, digital roadside boards, service-lane signage, used-car event signs, lease or finance campaign concepts, and other driver-at-speed messaging where legibility, offer hierarchy, and dealer ad compliance matter. Activate on "road sign", "billboard", "dealership sign", "car dealer ad", "pylon sign", "monument sign", "service lane signage", "automotive billboard", "roadside ad", "dealer lease offer", or "drive-by signage". NOT for fabrication drawings, permitting or local sign-code review, web or social ad campaigns, or full brand identity systems.
npx skillsauth add curiositech/windags-skills automotive-dealer-roadside-signageInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Design roadside signs for people who are moving, distracted, and deciding fast. For dealers, that means every concept has to survive two filters at once:
Your default stance: compress the message harder than the client wants, then defend that compression with visibility, actionability, and compliance.
flowchart TD
A[New roadside message request] --> B{Primary job?}
B -->|Locate the store| C[Identity sign: pylon or monument]
B -->|Pull traffic from the road| D{Traffic speed and dwell}
B -->|Move cars on the lot| E[Wayfinding: service lane, used lot, parking, entry/exit]
B -->|Explain a complex finance offer| F[Usually wrong medium - move detail to slower-touch media]
D -->|35+ mph, one glance| G[High-speed roadside or billboard]
D -->|Under 35 mph, repeat exposure| H[Frontage board, banner, window, digital monument]
G --> I{What matters most?}
I -->|Brand and location| J[Brand-led message]
I -->|Single event or inventory cue| K[Offer-led message with one proof point]
I -->|Monthly payment or lease number| L[Run compliance check first]
L --> M{Can all required terms stay clear and conspicuous at speed?}
M -->|No| N[Drop payment-led creative; sell event, inventory, or destination instead]
M -->|Yes| O[Use payment-led creative only with disciplined hierarchy]
Use this priority order unless the brief gives a compelling reason not to:
Destination: who or where is being advertisedSingle offer: one event, one inventory claim, one service promise, or one proof pointAction cue: next exit, next right, call, QR only in pedestrian contexts, or visit todayIf the concept needs a fourth layer to make sense, the medium is probably wrong or the message is still too broad.
If the dealership objective is:
Top-of-funnel awareness -> use brand, store name, vehicle class, and locationWeekend event or inventory push -> use one concrete hook: "CERTIFIED USED", "TRUCK MONTH", "OVER 150 USED CARS", or similarService retention -> use service benefit plus direction, not general dealership brandingFinance or lease offer -> treat compliance as a go/no-go gate, not a footer exerciseIf the design mentions any of the following, stop and load references/auto-ad-compliance.md before finalizing:
Symptoms: APR, rebate, trade bonus, inventory count, and service promo all fighting on one board.
Detection: More than one primary claim or more than two message elements.
Fix: Keep one offer per face. Turn the rest into a campaign sequence across multiple boards or formats.
Symptoms: Trying to make a pylon sign function like a flyer, or making lot wayfinding carry a sales pitch.
Detection: The viewer must decode more than "where", "what", or "turn here" in one glance.
Fix: Separate identity, promotion, and wayfinding into distinct signs.
Symptoms: Billboard headline is "$299/mo" but the legally required context is too small to read at speed.
Detection: Trigger terms appear, but the design cannot keep required terms clear and conspicuous.
Fix: Remove the payment-led claim from the high-speed board. Sell the event, model family, or destination instead.
Symptoms: thin fonts, script lettering, low contrast, hero vehicle image with no focal point.
Detection: Hard to read from a parking-lot mock test or from the expected approach distance.
Fix: Use blunt type, stronger contrast, larger numerals, and one focal image or none.
Symptoms: Building-mounted wall sign disappears until the driver is already passing the store.
Detection: Sign is parallel to the road and sized like a perpendicular sign.
Fix: Increase size significantly or move to perpendicular/monument placement. Load references/roadside-legibility-and-placement.md.
Symptoms: customers miss service check-in, used inventory, or exit flow because directional signs also try to advertise.
Detection: arrows and lane labels compete with promo copy.
Fix: Treat on-lot wayfinding as operational signage first, advertising second.
Brief: "Honda dealer wants a roadside board for a weekend certified-used event."
Step 1 - Read the road context: 45-50 mph traffic means high-speed viewing. The message must be read from far enough away for a driver to react.
Step 2 - Pick the job: This is not a finance explanation. It is an event pull.
Step 3 - Compress the offer: Use one proof point only. Good candidates: "CERTIFIED USED HONDAS" or "150+ USED CARS".
Step 4 - Build hierarchy:
CERTIFIED USED HONDASTHIS WEEKENDNEXT RIGHTWhy this works: It tells the driver what the store is offering, why now, and what to do next.
What to reject: "CERTIFIED USED HONDAS / $0 DOWN / LOW APR / BAD CREDIT OK / TRADE BONUS / NEXT RIGHT." That is not one sign; it is six competing ads pretending to be one.
Brief: "Toyota dealer wants a highway billboard for a RAV4 lease special at $299/month."
Step 1 - Compliance gate: A lease payment amount is a triggering term. That forces additional lease disclosures.
Step 2 - Medium check: Highway billboard dwell time is too short to carry all required lease terms clearly and conspicuously.
Step 3 - Expert decision: Do not lead the high-speed billboard with the payment amount.
Step 4 - Reframe the roadside message:
RAV4 LEASE EVENT / SMITH TOYOTA / NEXT EXITWhy this works: The billboard becomes a destination/event cue instead of a non-compliant finance ad.
What novice designers do: Add the required lease language as tiny footer dust.
Why that fails: If the disclosure cannot actually be read and understood, it is not clear and conspicuous.
Brief: "Customers keep missing the express-service entrance."
Correct move:
EXPRESS SERVICE ->Reason: Operational wayfinding reduces friction and captures revenue only if it is unambiguous. Promotional clutter lowers conversion here.
| File | Read when | Why |
| --- | --- | --- |
| references/roadside-legibility-and-placement.md | You need sizing, distance, copy-density, digital-board, or placement guidance | Gives the hard visibility rules that constrain the creative |
| references/dealer-offer-architecture.md | You are choosing what kind of dealer message should go on which sign | Maps dealership objectives to sign types and offer stacks |
| references/auto-ad-compliance.md | Any price, payment, APR, lease, due-at-signing, or financing language appears | Explains FTC, Reg Z, and Reg M triggers that change the design |
Do not use this skill for:
Escalate or delegate when:
data-ai
license: Apache-2.0 NOT for unrelated tasks outside this domain.
development
Use when designing caching strategies (cache-aside, write-through, write-behind), implementing distributed locks, building rate limiters, leaderboards, real-time streams (XADD/consumer groups), pub/sub, or tuning eviction policies. Triggers: thundering-herd on cache miss, dogpile on key expiry, Redlock vs SET-NX-PX choice, sliding-window rate limiter, hot-key on a single cluster slot, big-key blowup, MULTI/EXEC across slots, KEYS in production. NOT for Redis Cluster operations/admin (different domain), embedded KV (SQLite, leveldb), in-process LRU caches, or Memcached.
tools
Drawing the `'use client'` boundary correctly in React Server Components apps (Next.js App Router, RSC frameworks) — leaf-pushing, slot composition, serialization rules, and environment poisoning prevention. Grounded in react.dev and Next.js 16 docs.
development
Use when designing rate limiting for an API, choosing between token bucket / sliding window / leaky bucket / fixed window, implementing it in Redis, deciding edge (Cloudflare/Upstash) vs origin enforcement, sizing per-user vs per-IP vs per-endpoint quotas, returning the right 429 response with Retry-After, or fixing the boundary-burst bug in fixed-window limiters. Triggers: 429 too many requests, INCR + EXPIRE, ZADD + ZREMRANGEBYSCORE + ZCARD, X-RateLimit-Remaining header, Cloudflare WAF rate limiting rules, Upstash @upstash/ratelimit, leaky bucket shaping vs policing, distributed rate limiter consistency. NOT for DDoS mitigation specifically (different scale), CAPTCHA / bot management, full WAF design, or per-user quota billing.