What problem does it solve? When something looks wrong in the Marine Video Portal, guessing wastes time. This Skill replaces assumptions with measurements: it verifies whether environment variables actually resolved at runtime, whether Redis is reachable and what keys it holds, whether the bunny.net library is healthy, and whether a playback embed token matches what the app should have signed. ## Core Features & Use Cases - Environment inventory: check-env.mjs reports every required and optional env var, flags missing ones, and explains the degraded mode each absence causes, including Vercel's suffix-prefixed Redis variables. - Redis census: check-redis.mjs connects through the app's own lib/redis.js, pings, and scans the keyspace by family while counting orphaned pvp:* keys left over from a prefix rename, printing counts only to avoid leaking viewer emails. - bunny.net health and token signing: check-bunny.mjs reports library video counts by Stream status code, and sign-embed.mjs recomputes the exact signed embed URL the app would produce so you can diff it against what was actually served. - Measurement recipes: curl-based recipes for timing page loads, measuring payload bytes, and tracing how many Redis commands a route costs per request. - Use Case: An admin reports all admin tabs returning 502. Run check-env.mjs to confirm the Redis variables resolved, then check-redis.mjs to confirm the credentials actually ping, isolating config drift from code bugs in minutes. ## Quick Start Ask the AI to run the diagnostics skill's check-env script to verify whether all required environment variables for the portal are resolved.