From mk
Spec-driven manual QA testing and Playwright E2E code generation. Orchestrates browser skills to produce test reports or .spec.ts files. Prompts for credentials.
How this skill is triggered — by the user, by Claude, or both
Slash command
/mk:qa-manual [spec-path | url] [--report | --generate]When to use
Use for spec-driven manual QA testing or Playwright E2E code generation. Always prompts for credentials — never guesses. NOT for AI-autonomous flows (see mk:agent-browser).
[spec-path | url] [--report | --generate]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
<!-- Design decisions:
Orchestrates browser skills to act like a human tester: navigate, interact, verify, and report.
Trigger: "test this flow", "QA this page", "generate E2E tests", "test login flow", "manual testing", "write Playwright tests for"
Explicit:
/mk:qa-manual tasks/plans/260315-auth-flow.md --report → manual QA report/mk:qa-manual tasks/plans/260315-checkout.md --generate → Playwright .spec.ts/mk:qa-manual https://app.example.com → explore and test from URL/mk:qa-manual [spec] → auto-detect use case from spec contentOperates in Phase 4 (Review) for QA reports or Phase 3 (Build) for E2E code generation.
Each action uses the best browser skill:
| Action | Skill | Why |
|---|---|---|
| DOM interaction (click, fill, type) | mk:playwright-cli | Generates Playwright code as side-effect |
| Navigation + page load | mk:playwright-cli | goto + wait, code output |
| Visual verification (screenshot) | mk:agent-browser | Annotated snapshots |
| Auth flow (login, session, MFA) | mk:agent-browser | Session persistence, auth import |
| Execute Playwright test | Script: npx playwright test | Deterministic |
On auth encounter (login page, MFA, 401/403):
⚠️ Authentication required at: [current URL]
mk:qa-manual needs credentials to continue.
Please provide:
- Username/email: ___________
- Password: ___________
Type 'skip' to skip this flow or 'abort' to stop testing.
mk:playwright-cli, continue flowNEVER: Guess credentials. Use hardcoded test credentials. Proceed past auth without input. Store credentials in any file.
See references/qa-process.md for detailed Use Case A and Use Case B processes.
Use Case A — Manual QA: Load spec → extract flows → navigate each → verify outcomes → report
Use Case B — E2E Code Gen: Run Use Case A → record interactions → generate .spec.ts with role-based locators
See references/output-templates.md for full templates.
QA Report → structured pass/fail per flow with evidence
Playwright Code → production-ready .spec.ts using getByRole, getByLabel, getByText
| Script | Purpose | Invocation |
|---|---|---|
scripts/run-playwright.sh | Execute generated .spec.ts | After E2E code generation |
| Reference | When to load | Content |
|---|---|---|
| qa-process.md | Steps 1-4 | Detailed Use Case A + B processes |
| output-templates.md | Step output | QA report + Playwright code templates |
| Failure | Detection | Recovery | Message |
|---|---|---|---|
| Auth encountered | URL/form patterns | Auth protocol above | "⚠️ Authentication required..." |
| Page load timeout | 30s timeout | Retry ×2 then report | "Page load timed out at [URL]" |
| Element not found | Selector fails | Re-snapshot, try alternate | "Element not found, re-scanning..." |
| Spec not found | File missing | Ask user | "Spec file not found. Provide path or URL." |
| Playwright exec fails | Non-zero exit | Show error + fix hints | "Test failed: [error]. Fix: [hint]" |
npx claudepluginhub ngocsangyem/meowkit --plugin mkWrites Playwright end-to-end browser tests for web applications. Activates on requests for browser tests, e2e tests, or UI testing.
Browser automation and E2E testing with Playwright. Auto-detects dev servers, writes test scripts for cross-browser testing, visual regression, form filling, and login flows.
Generates Playwright tests from user stories, URLs, component paths, or feature descriptions. Adapts to project conventions and uses web-first assertions.