Claude Code Plugins

Community-maintained marketplace

Feedback

Use this skill when performing QA reviews of the Planted website (Astro frontend at localhost:4321), Admin Dashboard V2 (localhost:5175), or production sites (planted.com, admin.planted.com). Orchestrates visual inspection, console/network error detection, accessibility auditing, Core Web Vitals measurement, and interactive testing using Chrome DevTools MCP.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name website-review
description Use this skill when performing QA reviews of the Planted website (Astro frontend at localhost:4321), Admin Dashboard V2 (localhost:5175), or production sites (planted.com, admin.planted.com). Orchestrates visual inspection, console/network error detection, accessibility auditing, Core Web Vitals measurement, and interactive testing using Chrome DevTools MCP.

Website Review Workflow

This skill enables comprehensive QA workflows for Planted web properties using Chrome DevTools MCP integration.

Prerequisites

  1. Chrome Debug Mode Running

    # Start Chrome with debug port (run once per session)
    scripts\chrome-debug.bat
    
  2. MCP Server Connected

    • Verify with /mcp command - look for chrome-devtools server
    • If not connected, restart Claude Code (MCP servers load on startup)
  3. For Production Auth Sites

    • Login to admin.planted.com in the debug Chrome window first
    • Auth state persists in %USERPROFILE%\.chrome-debug-profile

Target Sites

Site URL Auth Required Notes
Astro Website (dev) http://localhost:4321 No Run pnpm dev in planted-astro
Admin Dashboard V2 (dev) http://localhost:5175 No Run pnpm dev in admin-dashboard-v2
Production Website https://planted.com No Public site
Production Admin https://admin.planted.com Yes Login first in debug Chrome

Workflow Overview

+---------------------+     +---------------------+     +---------------------+
|  1. NAVIGATE &      |---->|  2. VISUAL          |---->|  3. CONSOLE/NETWORK |
|     SCREENSHOT      |     |     INSPECTION      |     |     ERROR CHECK     |
+---------------------+     +---------------------+     +---------------------+
                                                                  |
+---------------------+     +---------------------+               |
|  6. GENERATE        |<----|  5. INTERACTIVE     |<--------------+
|     REPORT          |     |     TESTING         |               |
+---------------------+     +---------------------+               |
                                   ^                              |
                                   |            +-----------------+
                                   |            |
                            +------+------------v--+
                            |  4. ACCESSIBILITY &  |
                            |     PERFORMANCE      |
                            +----------------------+

Phase 1: Navigate and Screenshot

Goal: Capture initial page state across viewports

MCP Tools:

  • navigate_page(url) - Navigate to target URL
  • resize_page(width, height) - Set viewport size
  • take_screenshot() - Capture visual state
  • wait_for(selector, timeout) - Wait for page load

Viewport Sizes:

  • Desktop: 1440x900
  • Tablet: 768x1024
  • Mobile: 375x812

Example Workflow:

  1. Navigate to URL
  2. Wait for main content selector
  3. Screenshot desktop viewport
  4. Resize to tablet, screenshot
  5. Resize to mobile, screenshot

Phase 2: Visual Inspection

Goal: Analyze visual state and DOM structure

MCP Tools:

  • take_snapshot() - Capture DOM snapshot (accessibility tree)
  • evaluate_script(script) - Run DOM queries

Checks:

  • Layout renders correctly
  • Images load (no broken images)
  • Fonts load correctly
  • No overlapping elements
  • Responsive breakpoints work

Phase 3: Console and Network Error Check

Goal: Detect JavaScript errors and failed requests

MCP Tools:

  • list_console_messages() - Get all console output
  • get_console_message(id) - Get specific message details
  • list_network_requests() - Get all network activity
  • get_network_request(id) - Get request/response details

Error Categories:

  • Critical: JavaScript exceptions, failed API calls (4xx/5xx)
  • Warning: Console warnings, slow requests (>3s)
  • Info: Deprecation notices, third-party issues

Phase 4: Accessibility and Performance

Accessibility (WCAG 2.1 AA)

Automated Checks via evaluate_script:

// Check for missing alt text
document.querySelectorAll('img:not([alt])').length

// Check for form labels
document.querySelectorAll('input:not([aria-label]):not([id])').length

// Check for heading hierarchy
Array.from(document.querySelectorAll('h1,h2,h3,h4,h5,h6')).map(h => h.tagName)

Manual Checks:

  • Keyboard navigation works (Tab through page)
  • Focus states visible
  • Screen reader landmarks present
  • Touch targets >= 44px

Performance (Core Web Vitals)

MCP Tools:

  • performance_start_trace() - Begin recording
  • performance_stop_trace() - End recording
  • performance_analyze_insight() - Get analysis

Metrics to Check:

  • LCP (Largest Contentful Paint): < 2.5s good, < 4s needs improvement
  • INP (Interaction to Next Paint): < 200ms good, < 500ms needs improvement
  • CLS (Cumulative Layout Shift): < 0.1 good, < 0.25 needs improvement

Phase 5: Interactive Testing

Goal: Verify interactive elements work correctly

MCP Tools:

  • click(selector) - Click element
  • fill(selector, value) - Fill input
  • fill_form(fields) - Fill multiple form fields
  • press_key(key) - Keyboard input
  • hover(selector) - Hover state
  • handle_dialog(action) - Handle alerts/confirms

Test Scenarios:

  • Navigation links work
  • Form submission works
  • Buttons trigger expected actions
  • Modal dialogs open/close
  • Dropdowns/selects function

Phase 6: Generate Report

Use TEST-REPORT-TEMPLATE.md to create structured report including:

  • Screenshots at each viewport
  • Console errors found
  • Network issues found
  • Accessibility issues
  • Performance metrics
  • Interactive test results
  • Overall pass/fail status

Quick Commands

# Start local Astro dev server
cd planted-astro && pnpm dev

# Start Admin Dashboard dev server
cd planted-availability-db/packages/admin-dashboard-v2 && pnpm dev

# Start Chrome in debug mode
scripts\chrome-debug.bat

MCP Tools Reference (26 Total)

Input Automation

Tool Purpose
click Click an element
drag Drag from one point to another
fill Fill a form field
fill_form Fill multiple form fields
handle_dialog Handle alert/confirm/prompt dialogs
hover Hover over an element
press_key Press keyboard key
upload_file Upload file to input

Navigation

Tool Purpose
close_page Close current page/tab
list_pages List all open pages
navigate_page Navigate to URL
new_page Open new page/tab
select_page Switch to specific page
wait_for Wait for element/condition

Emulation

Tool Purpose
emulate Emulate device (mobile, etc.)
resize_page Set viewport dimensions

Performance

Tool Purpose
performance_start_trace Start performance recording
performance_stop_trace Stop and get trace data
performance_analyze_insight Analyze performance metrics

Network

Tool Purpose
list_network_requests Get network request history
get_network_request Get specific request details

Debugging

Tool Purpose
take_screenshot Capture visual screenshot
take_snapshot Capture accessibility tree (DOM)
list_console_messages Get browser console logs
get_console_message Get specific console message
evaluate_script Execute JavaScript in page

Reference Documents

  • TESTING-MANUAL.md - Detailed test cases for each page type
  • TEST-REPORT-TEMPLATE.md - Report format
  • AUTH-SETUP.md - Production authentication setup
  • .claude/skills/design-brand/SKILL.md - Visual design reference