Claude Code Plugins

Community-maintained marketplace

Feedback
0
0

Testing and QA gate for Astro lead gen sites. Manual + E2E + A11y + Performance. FAIL = no deploy.

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 astro-testing
description Testing and QA gate for Astro lead gen sites. Manual + E2E + A11y + Performance. FAIL = no deploy.

Astro Testing Skill

No testing = No deploy. Period.

Purpose

QA gate before deployment. Blocking tests must pass.

Output

test_verdict: PASS | WARN | FAIL
blocking_issues: []
warnings: []

Blocking vs Non-Blocking Tests

Blocking (FAIL if any fails)

Test Category
Form submits successfully Critical
Thank you page displays Critical
Email received (business) Data
Confirmation email sent Data
Lead saved in system Data
Mobile menu works UX
Phone link works UX
Homepage loads Core
404 page exists Core
Lighthouse ≥90 Performance

Non-Blocking (WARN only)

Test Category
Animation smoothness Polish
Minor CLS (<0.1) Performance
Desktop hover states UX
Print stylesheet Accessibility

Data Integrity Tests (Critical)

data_integrity:
  - form_submitted: true
  - lead_saved: true
  - business_email_sent: true
  - customer_email_sent: true
  - analytics_event_fired: true

Form shows success but data missing = FAIL.

Negative Tests (False Positive Guard)

Test Expected
Submit empty form Error, no submit
Invalid email format Validation error
Honeypot filled Silent reject
Missing privacy consent Blocked
SQL injection attempt Sanitized

Negative test passes incorrectly = FAIL.

Browser Coverage

browser_matrix:
  required: [mobile_safari, mobile_chrome, desktop_chrome, desktop_safari]
  optional: [firefox, edge, samsung_internet]

Missing required browser = FAIL.

Accessibility Thresholds

Severity Max Allowed Result
Critical 0 FAIL
Serious 0 FAIL
Moderate 2 WARN
Minor 5 WARN

Performance Thresholds

Metric Threshold Result
Lighthouse (all) ≥90 FAIL if below
LCP <2.5s WARN if above
CLS <0.1 WARN if above
Total JS <100KB WARN if above

Critical Path Tests (All 10 Required)

# Test
1 Homepage loads
2 Primary CTA works
3 Form visible
4 Form submits
5 Thank you displays
6 Business email received
7 Customer email sent
8 Phone link works
9 Mobile menu works
10 404 page exists

Any fail = FAIL.

Manual Testing Summary

Device Key Checks
Mobile (375px) Menu, form, keyboard, validation, 44px buttons, no h-scroll
Desktop (1440px) Header, grid, hover, focus, tab order

Full checklists → references/checklists.md

Test Verdict

Condition Verdict
Any blocking test fails FAIL
Data integrity fail FAIL
Required browser missing FAIL
Lighthouse <90 FAIL
Critical/serious a11y FAIL
Negative test passes incorrectly FAIL
Non-blocking issue WARN
Moderate a11y (≤2) WARN
All pass PASS

Deployment Gate

deployment_gate:
  block_on_fail: true
  require_manual_confirm: true

FAIL → deploy blocked. No exceptions.

FAIL States

Condition
Any critical path fails
Form success but no data
Email not received
Required browser not tested
Lighthouse <90
Critical/serious a11y

WARN States

Condition
Non-blocking test fails
Moderate a11y ≤2
LCP >2.5s
CLS >0.1

References

Definition of Done

  • 10 critical paths pass
  • Data integrity verified
  • Negative tests verified
  • Required browsers tested
  • Lighthouse ≥90 all
  • A11y thresholds met
  • Mobile manual test done
  • Desktop manual test done
  • test_verdict = PASS