skills/mine/qa-report/SKILL.md
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.
npx skillsauth add pedronauck/skills qa-reportInstall 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.
Plan and document the deliverables that drive real-user QA execution — personas, journey maps, exploratory charters, persona/journey/tour test cases, regression suites, Figma fidelity validations, and user-impact bug reports.
Match your task to the row. Read the listed files in full before producing the deliverable. They are not appendices — they are the templates and contracts the deliverable must conform to. Inline content in this SKILL.md is a pointer, not a substitute.
| Task | MUST read |
| ------------------------------------------------- | ------------------------------------------------------------------------------------------ |
| Defining personas (Step 3 — persona deliverable) | references/persona_test_cases.md + ../qa-execution/references/user-personas.md |
| Mapping a journey (Step 3 — journey deliverable) | references/journey_test_plans.md + ../qa-execution/references/journey-maps.md |
| Writing an exploratory charter (Step 3) | references/exploratory_charters.md + ../qa-execution/references/exploratory-charters.md |
| Planning a tour-driven test case (Step 4) | references/test_tours_catalog.md + ../qa-execution/references/test-tours.md |
| Generating standard / functional / UI test cases | references/test_case_templates.md |
| Generating CFR test cases (Step 4) | references/cfr_test_cases.md + ../qa-execution/references/cfr-checks.md |
| Building a regression suite (Step 5) | references/regression_testing.md |
| Validating against Figma (Step 6) | references/figma_validation.md |
| Filing a bug report (Step 7) | references/bug_report_templates.md + assets/issue-template.md + ../qa-execution/references/bug-severity-by-user-impact.md |
references/test_case_templates.md — Test case variants for real-user QA: Standard, Functional, UI/Visual, Regression, Smoke, Persona, Journey, Charter, Tour, CFR. The Automation Metadata block parsed by qa-execution.references/persona_test_cases.md — TC-PERSONA-* template and persona attributes recording schema.references/journey_test_plans.md — TC-JOURNEY-* template and journey-driven plan structure.references/exploratory_charters.md — Charter planning template plus worked examples for common product surfaces.references/test_tours_catalog.md — Planning view of the test tour catalog. Each tour generates one TC-TOUR-*. Canonical tour definitions live in ../qa-execution/references/test-tours.md (avoid drift).references/cfr_test_cases.md — TC-CFR-* template for usability / accessibility / perf-perception / compatibility / recoverability test cases.references/regression_testing.md — Journey-driven regression suite tiers (Smoke / Targeted / Full / Sanity), prioritization, automation tagging, pass/fail criteria.references/figma_validation.md — Figma MCP queries, spec → inspect → document workflow, responsive checks at 1280 / 768 / 375.references/bug_report_templates.md — Standard, UI/Visual, and User-Friction bug variants with full required-field sets. assets/issue-template.md is the minimum-viable subset bundled for in-skill use and shared with qa-execution.qa-execution when both skills are used together.All artifacts follow this directory layout, shared with qa-execution:
<qa-output-path>/qa/
├── test-plans/ # Test plan documents (journey plans, regression suites, persona docs)
│ └── charters/ # Charter drafts (CH-NN-*.md)
├── test-cases/ # Individual test case files (TC-*.md)
├── issues/ # Bug reports (BUG-*.md)
├── screenshots/ # Visual evidence and Figma comparisons
└── verification-report.md # Generated by qa-execution
Step 1: Resolve Output Directory
qa-output-path argument, use that path.qa/ subdirectory under the resolved path, then qa/test-plans/, qa/test-plans/charters/, qa/test-cases/, qa/issues/, qa/screenshots/.Step 2: Identify the Deliverable Type
Parse the user request to determine which deliverable to generate:
| Request Pattern | Deliverable | Output Path |
|-----------------|-------------|-------------|
| "Define personas for…" | Persona document | test-plans/personas.md |
| "Map the journey for…" | Journey map | test-plans/<journey-slug>-map.md |
| "Plan exploratory session for…" | Charter draft | test-plans/charters/CH-<NN>-<slug>.md |
| "Create test plan for…" | Test Plan (journey-centric) | test-plans/<feature-slug>-test-plan.md |
| "Generate test cases for…" | Test cases (TC-FUNC / TC-UI / TC-REG / SMOKE / TC-PERSONA / TC-JOURNEY / TC-TOUR / TC-CFR) | test-cases/ |
| "Build regression suite…" | Journey-driven regression suite | test-plans/<suite-name>-regression.md |
| "Compare with Figma…" | Figma fidelity TC | test-cases/TC-UI-*.md |
| "Document bug…" | Bug report (user-impact framing) | issues/BUG-*.md |
Step 3: Generate Test Plans (Journey-Centric)
references/journey_test_plans.md in full before drafting the plan. That file owns the section structure, the Automation Metadata block, and the entry/exit criteria framed by user impact.../qa-execution/references/user-personas.md).../qa-execution/references/journey-maps.md; include abandonment paths).agent-output-audit).Blocks-Completion or Data-Loss bugs on P0 journeys.Missing or Blocked automation annotation.<qa-output-path>/qa/test-plans/<feature-slug>-test-plan.md.Step 4: Generate Test Cases
STOP. Read references/test_case_templates.md in full before writing any test case. Variant selection (Functional / UI / Regression / Smoke / Persona / Journey / Charter / Tour / CFR) and per-variant required fields live there.
Assign each test case an ID following the naming scheme:
| Type | Prefix | Example | |------|--------|---------| | Functional | TC-FUNC- | TC-FUNC-001 | | UI/Visual | TC-UI- | TC-UI-045 | | Regression | TC-REG- | TC-REG-089 | | Smoke | SMOKE- | SMOKE-001 | | Persona-driven | TC-PERSONA- | TC-PERSONA-012 | | Journey-driven | TC-JOURNEY- | TC-JOURNEY-007 | | Charter (planning artifact) | TC-CHARTER- | TC-CHARTER-003 | | Tour-driven (off-script) | TC-TOUR- | TC-TOUR-014 | | CFR (usability / a11y / perf-perception / compat / recovery) | TC-CFR- | TC-CFR-008 |
Each test case must include:
../qa-execution/references/user-personas.md).External Dependencies field.)**Expected:** observable for each.../qa-execution/references/user-edge-cases.md).E2E | Manual-only.Existing | Missing | Blocked | N/A.Write each test case to <qa-output-path>/qa/test-cases/<TC-ID>.md.
When generating test cases interactively, execute scripts/generate_test_cases.sh <qa-output-path>/test-cases.
Step 5: Build Journey-Driven Regression Suites
STOP. Read references/regression_testing.md in full before classifying tiers, prioritizing, or defining pass/fail criteria. Tier definitions, prioritization rubric, automation-tagging rules, execution-order contract, and PASS / FAIL / CONDITIONAL thresholds live there.
Suite tiers are journey-driven, not test-case-driven. Each tier picks N journeys, then derives the test cases from those journeys:
| Suite | Duration | Frequency | Journey count | |-------|----------|-----------|---------------| | Smoke | 15-30 min | Daily/per-build | 2-4 P0 journeys | | Targeted | 30-60 min | Per change | Journeys touching the changed surface | | Full | 2-4 hours | Weekly/Release | All P0 + P1 journeys, every persona | | Sanity | 10-15 min | After hotfix | The single journey affected by the hotfix |
Prioritize journeys using the user-impact lens:
Blocks-Completion or Data-Loss for paying users.Trust-Damage or repeated Friction for any persona.Mark automation candidates explicitly:
Automation Target: E2E when the repository already has an E2E harness.Automation Status: Missing until qa-execution confirms the spec was added or updated.Manual-only or Blocked with a reason.Define execution order: Smoke first (fail-fast) → P0 journeys → P1 journeys → P2 journeys → exploratory charters.
Define pass/fail criteria framed by user impact:
Blocks-Completion / Data-Loss open.Blocks-Completion or Data-Loss discovered.Friction / Trust-Damage findings with fix plan in place.Write the suite document to <qa-output-path>/qa/test-plans/<suite-name>-regression.md.
Step 6: Validate Against Figma Designs
Skip this step if Figma MCP is not configured.
references/figma_validation.md in full before issuing any Figma MCP query. Spec→inspect→document workflow, MCP query catalog, responsive checks at 1280/768/375, common-discrepancies catalog.Cosmetic or Trust-Damage — promote to Friction only when the gap blocks comprehension.agent-browser (the qa-execution companion skill) when browser-based verification is needed.Step 7: Create Bug Reports
references/bug_report_templates.md in full before filing any bug. Standard, UI/Visual, and User-Friction variants with required-field sets. assets/issue-template.md is the minimum-viable shared subset.../qa-execution/references/bug-severity-by-user-impact.md in full before classifying impact. The five-tier user-impact rubric (Blocks-Completion / Data-Loss / Trust-Damage / Friction / Cosmetic) and the mapping to legacy Severity/Priority live there.BUG- prefix (e.g., BUG-001).pending | resolved | invalid.<qa-output-path>/qa/issues/<BUG-ID>.md.scripts/create_bug_report.sh <qa-output-path>/issues.Step 8: Validate Completeness
Missing or Blocked states include a reason.../qa-execution/references/checklist.md for coverage gaps before handing off to execution.<qa-output-path>/qa/; writes verification report and bugs back.qa-execution during Step 6 Figma validation when browser-based verification is needed.Severity is the engineering-triage view. Impact is the user-side view. Both must be filled per bug. The full mapping rubric lives in ../qa-execution/references/bug-severity-by-user-impact.md:
| Impact (user-side) | Default Severity | Default Priority | Release impact | |---|---|---|---| | Blocks-Completion | Critical | P0 | Blocker on any P0 journey | | Data-Loss | Critical | P0 | Blocker on any journey | | Trust-Damage | High | P1 | Multiple on same journey = blocker | | Friction | Medium | P2 | Tracked as redesign signal | | Cosmetic | Low | P3 | Batched into polish follow-up |
qa-output-path directory cannot be created, report the error and fall back to the current working directory.agent-browser is not available for UI validation, generate test cases as documentation for manual execution and note the limitation.Manual-only or Blocked instead of inventing automation commands.agent-output-audit.development
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.
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.