
qa-verify
by Oxmus
Generic multi-tenant SaaS platform template built with Phoenix, Ash Framework, LiveView, and LiveSvelte. Features: schema-per-tenant isolation, RBAC, multi-organization support, white-label branding.
SKILL.md
name: qa-verify description: AI-powered QA verification using Playwright MCP for visual E2E testing. Use when (1) Verifying UI changes after code modifications, (2) Testing user workflows end-to-end, (3) Checking for visual regressions, (4) Validating form submissions and error states, (5) Exploratory testing of new features, (6) Pre-deployment verification, (7) Debugging UI issues with screenshots
QA Verification Skill
AI-powered quality assurance using Playwright MCP for browser automation. Tests the Oxmus platform as a real user would.
Prerequisites
Playwright MCP must be enabled (already configured in .claude/settings.local.json).
Development server must be running:
- Admin Portal: http://localhost:5001
- Client Portal: http://localhost:5002
- Web (Public): http://localhost:5000
Core Philosophy
- Trust nothing - Validate all claimed functionality visually
- Test edge cases - Empty inputs, long text, special characters, rapid actions
- UI-only interaction - Access through browser like real users, not source code
- Screenshot documentation - Capture visual evidence at each step
- Continue testing - Document bugs but continue testing rather than halting
Quick Start
/qa-verify "Test admin user creation: login, create user, verify in list"
Workflows
1. Feature Verification
Verify a specific feature works correctly:
1. Navigate to the feature
2. Perform the happy path
3. Screenshot each major step
4. Test edge cases (empty, invalid, boundary values)
5. Verify database state via UI feedback
6. Report pass/fail with evidence
2. Regression Check
After code changes, verify nothing broke:
1. Identify affected areas from git diff
2. Navigate to each affected page
3. Verify rendering is correct
4. Test primary user flows
5. Screenshot any anomalies
6. Compare with expected behavior
3. Exploratory Testing
Free-form testing to discover issues:
1. Start from the main entry point
2. Click around like a curious user
3. Try unexpected inputs
4. Look for UX issues, not just bugs
5. Document all findings with screenshots
Test Scenarios
Authentication Flows
## Admin Portal Login
- URL: http://localhost:5001
- Email field: input[name="identity[email]"]
- Password field: input[name="identity[password]"]
- Submit: button[type="submit"]
- Success: redirects to /dashboard
- Failure: shows error flash message
User Management (Admin)
## Create Admin User
- Navigate: /users/new_admin
- Fill form: first_name, last_name, email, password
- Submit and verify flash message
- Check user appears in /users list
Organization Management
## Create Organization
- Navigate: /organizations/new
- Fill: name (auto-generates slug), type
- Submit and verify creation
- Check tenant schema created
Verification Checklist
For each test, verify:
- Page loads without JavaScript errors (check console)
- Form submits successfully (flash message appears)
- Data persists (visible in lists/tables)
- Authorization enforced (can't access unauthorized pages)
- Error states show appropriate messages
- Loading states appear for async operations
Report Format
After testing, generate a report:
# QA Verification Report
**Date**: [timestamp]
**Feature**: [what was tested]
**Server**: http://localhost:5001
## Results
### Test 1: [name]
**Status**: PASS / FAIL
**Steps**:
1. [action] - [result]
2. [action] - [result]
**Screenshot**: [filename or inline]
### Issues Found
1. **[severity]**: [description]
- Steps to reproduce: ...
- Screenshot: ...
## Summary
- Total tests: X
- Passed: X
- Failed: X
- Issues found: X
Common Issues Checklist
When testing, watch for:
- LiveView mount errors - Check browser console for "mount failed"
- Form validation - Ensure errors display correctly
- Tenant isolation - Can't access other org's data
- Authorization - Correct redirects for unauthorized access
- Multi-org switching - Context changes correctly
Tips
- Use
browser_snapshotfor accessibility tree (better than screenshots for form testing) - Use
browser_console_messagesto check for JavaScript errors - Use
browser_take_screenshotfor visual evidence - Test with slow typing using
slowly: truefor realistic behavior - Wait for async operations with
browser_wait_for
References
- See
references/test-flows.mdfor detailed test scenarios - See
references/selectors.mdfor common element selectors
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
1ヶ月以内に更新
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon


