skills/mine/qa-execution/SKILL.md
Executes real-user QA sessions through public interfaces using personas, journeys, exploratory charters, test tours, edge-case probes, CFR checks, and browser evidence. Reads qa-report artifacts from <qa-output-path>/qa/ when present, captures issues/screenshots/reports under the same output tree, and classifies bugs by user impact. Use when validating a release candidate, migration, refactor, or user-facing change against production-like behavior. Do not use for AI implementation audits, task-status reconciliation, CI gate runs, integration/security/performance templates, or flaky-test triage; use agent-output-audit for those.
npx skillsauth add pedronauck/skills qa-executionInstall 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.
QA the way a real person would experience the product: assigned a persona, walking a journey, exercising charters bound to specific tours, probing the edges users actually hit, and validating CFRs that no single feature owns.
Match your task to the row. Read the listed files in full before producing output. They are not appendices — they are load-bearing. Inline content in this SKILL.md is a pointer, not a substitute.
| Task | MUST read |
| -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
| Assigning personas to sessions (Step 2) | references/user-personas.md |
| Selecting high-value journeys (Step 2) | references/journey-maps.md |
| Writing exploratory charters and picking tours (Step 3) | references/exploratory-charters.md + references/test-tours.md |
| Executing browser flows (Step 4) | references/web-ui-qa.md |
| Probing off-script user edge cases (Step 5) | references/test-tours.md + references/user-edge-cases.md |
| Running the Cross-Functional Requirement pass (Step 6) | references/cfr-checks.md |
| Classifying bug severity by user impact (Step 7) | references/bug-severity-by-user-impact.md |
| Building the QA scope checklist | references/checklist.md |
references/user-personas.md — Canonical persona set (New User / Power User / Casual User / Mobile User / Accessibility-Reliant / Recovering User), attributes, and assignment rules.references/journey-maps.md — Journey anatomy (entry → actions → goal → exit + abandonment), high-value journey selection, mapping template.references/exploratory-charters.md — Charter format (mission + persona + surface + tour + time-box), charter modes (freestyle / strategy-based / scenario-based / collaborative / charter-with-tour), worked examples, debrief format.references/test-tours.md — Canonical tour catalog: Feature, Money, Garbage, Back-Button, Multi-Tab, Network, Locale, Paste, Autofill, Interrupt. One tour per charter.references/user-edge-cases.md — Catalog of non-technical edge cases real users hit (navigation, form, session, network, device, locale, accessibility, interrupt, trust/recovery).references/cfr-checks.md — 45-minute CFR pass: usability (Nielsen short list), accessibility (WCAG AA quick check), perceived performance, compatibility, error recoverability, production parity.references/bug-severity-by-user-impact.md — User-impact rubric (Blocks-Completion / Data-Loss / Trust-Damage / Friction / Cosmetic) with mapping to legacy severity/priority.references/web-ui-qa.md — agent-browser command set, snapshot/interact/verify loop, auth flows, viewport testing, anti-smoke guardrails.references/checklist.md — Real-user QA checklist by category: persona coverage, journey coverage, charter coverage, off-script & edge case coverage, CFR coverage, bug filing, browser evidence, final report./tmp/qa-execution-<slug>.Step 1: Resolve Output Directory and Read qa-report Artifacts
qa-output-path argument, use it. Otherwise use repository conventions, falling back to /tmp/qa-execution-<slug>. Create the qa/ subdirectory and qa/screenshots/, qa/issues/ under it.<qa-output-path>/qa/test-plans/, <qa-output-path>/qa/test-cases/, and any persona/journey/charter artifacts exist from a prior qa-report run. If they do, read them to seed Steps 2-3: persona assignments, journey maps, charter missions, and TC-* test cases prioritized by qa-report.agent-output-audit's job, not this skill's. If CI hasn't been confirmed green, surface the gap and stop.Step 2: Assign Personas and Select Journeys
references/user-personas.md in full before picking personas. The six canonical personas (New User / Power User / Casual User / Mobile User / Accessibility-Reliant / Recovering User) and their attribute schema live there. The persona-of-convenience anti-pattern is the most common QA failure mode.references/journey-maps.md in full before selecting journeys. Journey anatomy (entry → actions → goal → exit + abandonment paths), high-value journey selection criteria, and the journey-map template live there.Step 3: Plan Exploratory Charters
references/exploratory-charters.md in full before writing any charter. Charter anatomy (mission + persona + surface + tour + time-box), charter modes, time-box guidance, debrief format. Charters are the single biggest predictor of whether the session finds real bugs.references/test-tours.md in full before picking tours. The 10-tour catalog (Feature / Money / Garbage / Back-Button / Multi-Tab / Network / Locale / Paste / Autofill / Interrupt) and the surface-to-tour matrix live there.<qa-output-path>/qa/test-plans/charters/ when applicable.Step 4: Execute Journey Sessions (Web UI primary)
Skip this step's Web UI portion if the project has no Web UI surface — but still run CLI/HTTP journeys against the same persona × journey × charter plan.
references/web-ui-qa.md in full before opening a browser. That file owns the complete agent-browser command surface, the snapshot-driven core loop, auth flows, and the viewport testing matrix.agent-browser open <url>. Confirm the persona's device profile (viewport, throttle, locale) via --session + --viewport flags as appropriate.agent-browser snapshot -i.agent-browser screenshot <qa-output-path>/qa/screenshots/<journey-id>-step<N>.png.agent-browser close.Step 5: Run Off-Script Tours & User Edge Cases
references/test-tours.md in full before launching tours. Each tour names off-script actions specific to its theme — they are not interchangeable.references/user-edge-cases.md in full before probing edges. That file's catalog (navigation, form, session, network, device, locale, accessibility, interrupt, trust/recovery) is the canonical edge-case list — not unit-level edge cases.user-edge-cases.md that match the surface and persona. Don't try every edge case — the time-box governs.Step 6: Cross-Functional Requirement Pass
references/cfr-checks.md in full before starting the CFR pass. That file owns the six CFR categories (usability, accessibility, perceived performance, compatibility, error recoverability, production parity) and the 45-minute time-box.pass, friction, or fail.references/bug-severity-by-user-impact.md. Most CFR findings are Friction or Trust-Damage; promote to Blocks-Completion only when the failure abandons the user.Step 7: File Bugs by User Impact
references/bug-severity-by-user-impact.md in full before classifying any bug. The five-tier user-impact rubric and the mapping to legacy Severity/Priority live there.assets/issue-template.md to write issue files under <qa-output-path>/qa/issues/. Name each BUG-<NNN>.md.Impact (user-side): — Blocks-Completion / Data-Loss / Trust-Damage / Friction / Cosmetic.Severity: and Priority: — via the mapping rubric.Persona Affected: — the persona whose session surfaced the bug.Journey Step: — the J-NN journey name and the step number where it fired.Reproduction:.qa-report test case, include the TC-ID in Related. The Automation Follow-up: block (audit-only) does not apply to this skill — leave it out.resolved. For larger features, file and move on; do not silently pass.Step 8: Write the Verification Report
assets/verification-report-template.md and write the report to <qa-output-path>/qa/verification-report.md.<qa-output-path>/qa/ is the contract between them.agent-output-audit separately.references/web-ui-qa.md.agent-browser is unavailable, skip Web UI flows, document the blocker in the verification report, and continue with CLI/HTTP journeys when applicable.agent-browser close, record the failure, and attempt the flow once more from a clean session before marking it as blocked.blocked, document the exact prerequisite, and proceed with the remaining journeys.agent-output-audit or the CI pipeline), and do not pivot mid-session.tools
Plans real-user QA deliverables: personas, journey maps, exploratory charters, persona/journey/tour/CFR test cases, regression suites, Figma validation checks, automation intent, and user-impact bug reports. Writes artifacts under <qa-output-path>/qa/ for qa-execution to consume. Use when planning QA before execution, documenting journey-driven test strategy, marking flows that need E2E follow-up, or filing structured bug reports. Do not use for live execution, AI implementation audits, CI gate ownership, or technical integration/security/performance suites; use qa-execution or agent-output-audit instead.
development
Transform outside-of-diff review files into properly formatted issue files for a given PR. Use when converting review files from ai-docs/reviews-pr-<PR>/outside/ into issue format in ai-docs/reviews-pr-<PR>/issues/. Automatically determines starting issue number and preserves all metadata (file path, date, status) from original review files. Don't use for inline-diff review files, non-PR review artifacts, or creating GitHub issues directly.
development
Enforce root-cause fixes over workarounds, hacks, and symptom patches in all software engineering tasks. Use when debugging issues, fixing bugs, resolving test failures, planning solutions, making architectural decisions, or reviewing code changes. Activates gate functions that detect and reject common workaround patterns such as type assertions, lint suppressions, error swallowing, timing hacks, and monkey patches. Don't use for trivial formatting changes or documentation-only edits.
data-ai
Creates and maintains Knowledge Base topics from YouTube channels by resolving recent or full uploads, scaffolding yt-channels topics, ingesting transcripts through kb ingest youtube, and validating/indexing the result. Use when turning a YouTube channel into a Karpathy KB topic. Do not use for single-video ingestion, general video summaries, or non-YouTube sources.