.claude/skills/chrome-prod/SKILL.md
# CHROME-PRODUCTION-VERIFY SKILL **Skill Name**: chrome-production-verify **Version**: 1.0.0 **Trigger**: `/chrome-prod`, "verify production", "smoke test", "check the live site" **Description**: Full browser smoke test of the CCW production site — login, dashboard, key modules, video banners — with screenshots at each step. --- ## SKILL PURPOSE Run a visual smoke test of `ccw-crm-web.vercel.app` after every deployment. Confirm login works, key modules render, the DemoVideoBanner shows corre
npx skillsauth add CleanExpo/CCW-CRM .claude/skills/chrome-prodInstall 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.
Skill Name: chrome-production-verify
Version: 1.0.0
Trigger: /chrome-prod, "verify production", "smoke test", "check the live site"
Description: Full browser smoke test of the CCW production site — login, dashboard, key modules, video banners — with screenshots at each step.
Run a visual smoke test of ccw-crm-web.vercel.app after every deployment. Confirm login works, key modules render, the DemoVideoBanner shows correct YouTube thumbnails, and no console errors appear.
Trigger phrases:
/chrome-prodmcp__Claude_in_Chrome__navigate: https://ccw-crm-web.vercel.app
Screenshot homepage/login:
mcp__Claude_in_Chrome__computer: { action: "screenshot" }
Check:
mcp__Claude_in_Chrome__form_input: { selector: "[name='email']", text: "[test account email]" }
Stop here — do not type the password. Tell the user: "Login form is ready. Please type your password and click Sign In."
Wait for user to confirm they've logged in, then take a screenshot.
Alternatively, if user provides a demo/test account with no sensitive data, proceed with the full login flow.
After login, screenshot the dashboard:
mcp__Claude_in_Chrome__computer: { action: "screenshot" }
Verify:
Read page text for any error messages:
mcp__Claude_in_Chrome__get_page_text
Find the video banner component on the dashboard:
mcp__Claude_in_Chrome__find: { selector: "[data-testid='demo-video-banner'], .demo-video-banner, [class*='video-banner']" }
Screenshot the banner area:
mcp__Claude_in_Chrome__computer: { action: "screenshot" }
Verify:
UChN8nQFig73BoefyMBIsN-w is producing valid thumbnailsNavigate to each core module and screenshot:
https://ccw-crm-web.vercel.app/customershttps://ccw-crm-web.vercel.app/quoteshttps://ccw-crm-web.vercel.app/ordershttps://ccw-crm-web.vercel.app/productsFor each:
mcp__Claude_in_Chrome__navigate: [module-url]
mcp__Claude_in_Chrome__computer: { action: "screenshot" }
mcp__Claude_in_Chrome__get_page_text
Check:
Read browser console for JavaScript errors:
mcp__Claude_in_Chrome__read_console_messages
Flag any ERROR-level messages. Warnings are acceptable unless they reference supabase auth or RLS.
Produce a report:
## Production Smoke Test — [date/time]
**URL**: https://ccw-crm-web.vercel.app
| Check | Status | Notes |
|--------------------------|--------|----------------------------|
| Homepage loads | PASS | |
| Login form renders | PASS | |
| Dashboard renders | PASS | |
| DemoVideoBanner visible | PASS | Channel ID correct |
| Customers module | PASS | |
| Quotes module | PASS | |
| Orders module | PASS | |
| Products module | PASS | |
| Console errors | PASS | 0 errors |
**Overall: PASS** — Production site healthy.
If any check fails, list the specific error and recommended action.
This skill can be used by the boardroom CRON to auto-verify after each deployment.
Trigger: after Vercel deployment.succeeded webhook or after every git push to main.
Any FAIL requires a Linear issue to be created immediately.
Version: 1.0
Created: April 2026
Tools: mcp__Claude_in_Chrome__*
Related skills: CHROME-VERCEL-MONITOR, CHROME-SUPABASE-INSPECT
content-media
Autonomously uploads CCW HeyGen demo videos to YouTube as Unlisted, collects video IDs, and patches DemoVideoBanner.tsx + video-registry.json. One-time OAuth setup required. Handles resume, retries, and ID propagation.
data-ai
Clear the freeze boundary set by /freeze, allowing edits to all directories again. Use when you want to widen edit scope without ending the session. Use when asked to "unfreeze", "unlock edits", "remove freeze", or "allow all edits". (gstack)
tools
# Spec Interview Skill **Name:** spec-interview **Triggers:** `/spec-interview`, when requirements unclear **Version:** 1.0.0 --- ## Purpose Interviews user to gather complete requirements before planning. --- ## Interview Questions When requirements are unclear, ask: ### 1. Feature Clarity **Question:** "What is this feature supposed to do?" **Why:** Need clear objective ### 2. User Impact **Question:** "Who will use this and why?" **Why:** Understand user needs ### 3. Success Criteri
development
Ship workflow: detect + merge base branch, run tests, review diff, bump VERSION, update CHANGELOG, commit, push, create PR. Use when asked to "ship", "deploy", "push to main", "create a PR", "merge and push", or "get it deployed". Proactively invoke this skill (do NOT push/PR directly) when the user says code is ready, asks about deploying, wants to push code up, or asks to create a PR. (gstack)