skills/mine/qa-report/SKILL.md
Plans real-user QA as living repo docs — the durable <qa-docs-path> tree (default docs/qa/) that every QA cycle appends to. Use when bootstrapping or updating a project's QA docs, planning a cycle before execution (map journeys as flows, derive scenarios, plan persona-driven session charters), or registering bugs into the durable bug registry. Do not use for live session execution, browser evidence, or fix loops — use qa-execution for those.
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 QA as journeys real people walk, not test cases that accumulate. This skill owns the project's living QA docs — one committed tree (<qa-docs-path>, default docs/qa/) that every round appends to — and plans the persona-driven sessions qa-execution runs.
Two rules anchor everything:
references/qa-docs-layout.md).Each step points at the reference file that owns its contract; read that file before producing the step's deliverable — the inline text is a pointer, not the spec.
docs/qa at the repo root — a durable, committed location, never a temp dir. If the argument points outside the repository, confirm before proceeding: living docs outside the repo lose review, diff, and history.Step 1 — Resolve or bootstrap the tree. Read references/qa-docs-layout.md (canonical tree, gitignore block, bootstrap procedure, adoption procedure for scattered legacy artifacts). Resolve <qa-docs-path>. If the tree exists, read its README.md and scan scenarios/ and open bugs/ first, and build every decision below on that state; when the branch just merged parallel QA work, reconcile before planning — two files describing one behavior or one symptom fold into the older id (merge verdict fields by last_report recency, update references, delete the duplicate, record the fold in the cycle's report). If the tree does not exist, bootstrap it per the layout reference — directory tree, seeded templates/, and the gitignore block. If legacy QA artifacts sit scattered outside it, adopt them per the reference: index them, migrate durable knowledge, re-mint counter-based ids.
Step 2 — Establish project personas. Read references/personas.md (seed catalog + derivation rules). Personas are durable instance data in <qa-docs-path>/personas.md: update them only when the product's audience changed; if absent, derive 3-6 from the seed catalog, adapted to the product's real audience.
Step 3 — Map journeys as flows (before any scenario). Read references/journeys-and-flows.md (journey anatomy, Mermaid mapping, flows-before-matrix). Scope the mapping: a branch/PR cycle covers every user-visible change in the diff; a release cycle covers the product's high-value journeys. For each, write or update <qa-docs-path>/journeys/J-<slug>.md — the YAML journey map plus a Mermaid flowchart from entry → actions → branch points → side effects → the true end state, with at least one abandonment path. Map the flow first; the scenario comes from it.
Step 4 — Derive scenarios into the tracker. Read references/state-schema.md (fields, enums, id minting — exact) and references/taxonomy.md (the five coverage dimensions). Walk each flowchart and derive scenarios: one scenarios/<AREA>-<slug>.md file per scenario with a content-addressed id, updated in place, overlaps recorded in the overlaps field. Sweep the five taxonomy dimensions per journey so coverage is deliberate. Scenario files are planning output — qa_status stays untested until qa-execution runs them.
Step 5 — Plan session charters. Read references/session-charters.md (charter anatomy, cadence tiers, the coverage inversion). Pick the cadence tier (smoke / targeted / full / sanity); the tier picks the journeys. Write one charter per session to <qa-docs-path>/charters/CH-<slug>.md from <qa-docs-path>/templates/charter.md (seed: assets/charter-template.md), preserving its headings — mission, persona, journey, exactly one tour, time-box, must-try guidance — ordered by risk: highest-impact journey × highest-blast-radius tour first. Reuse an existing charter whose mission still fits before writing a sibling.
Step 6 — Register bugs. Read references/bug-registry.md (id minting, dedup, the five-tier user-impact rubric — the canonical severity model for both skills). Dedup before filing: search <qa-docs-path>/bugs/ for the symptom and update the existing file rather than duplicating — a re-found bug is history worth keeping on one id. Only a genuinely new symptom mints a new content-addressed BUG-<YYYYMMDD>-<slug> id; write it from <qa-docs-path>/templates/bug.md (seed: assets/bug-template.md), preserving its headings, and link the id into the affected scenario files' bug_ids.
Step 7 — Validate cycle completeness. Before handing off to qa-execution, verify — and record gaps honestly rather than padding:
qa_status reflecting reality;bug_ids;The completeness bar is "every journey walked by a persona", a session ledger — never a per-case count. Case accumulation is the failure mode this skill exists to prevent.
When a journey grows stable or regression-prone enough to deserve an automated E2E spec, read references/automation-backlog.md in full, then record the intent as one file in <qa-docs-path>/automation-backlog/ — one backlog, never automation fields on individual scenarios or charters.
<qa-docs-path> can't be created (permissions, read-only checkout): surface the error and stop — never fall back to a temp directory.development
Deep review of branch diffs, working trees, or GitHub PRs at any size. Use when the user asks for CodeRabbit-grade review, an incremental re-review after new pushes, publication of findings to a PR, a cross-LLM peer-review verdict round, or conformance review against spec artifacts. Don't use for applying fixes, reviewing specs or PRDs as documents, or quick single-file feedback.
tools
Orchestrate Claude and Codex worker TUIs from a controller agent through herdr panes and the herdr socket CLI. Use when delegating bounded tasks to herdr worker panes, running user-activated plan-first delegations (Claude Code plan mode, Codex Plan mode), waiting on native agent status (idle, working, blocked, done), or verifying worker reports. Workers launch as interactive TUIs via herdr agent start — never through headless runners (compozy exec, claude -p, codex exec). Not for cmux workspaces (see cmux-orchestration) and not for end-user herdr control.
tools
TanStack Query, Router, and Form patterns for React. Use when writing useQuery/queryOptions, mutations, caching, file-based routes, search params, loaders, or TanStack Form validation. Don't use for TanStack Start, TanStack DB/collections, Zustand client state, or non-TanStack routing.
development
Use when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a frontend interface. Covers websites, landing pages, dashboards, product UI, app shells, components, forms, settings, onboarding, and empty states. Handles UX review, visual hierarchy, information architecture, cognitive load, accessibility, performance, responsive behavior, theming, anti-patterns, typography, fonts, spacing, layout, alignment, color, motion, micro-interactions, UX copy, error states, edge cases, i18n, and reusable design systems or tokens. Also use for bland designs that need to become bolder or more delightful, loud designs that should become quieter, live browser iteration on UI elements, or ambitious visual effects that should feel technically extraordinary. Not for backend-only or non-UI tasks.