Appends a qa-report planning task and a qa-execution task at the end of every cy-create-tasks output, wired to the living docs/qa contract (scenario files, journeys, charters, bug registry, dated reports). Adds e2e coverage (Playwright or browser-use) for UI-bearing features. Use after cy-create-tasks finishes generating _tasks.md and the file lacks the trailing QA pair. Do not use for tasks generated outside the Compozy PRD pipeline, for ideation/brainstorming output, or for review-round task lists.
Instalación
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Appends a qa-report planning task and a qa-execution task at the end of every cy-create-tasks output, wired to the living docs/qa contract (scenario files, journeys, charters, bug registry, dated reports). Adds e2e coverage (Playwright or browser-use) for UI-bearing features. Use after cy-create-tasks finishes generating _tasks.md and the file lacks the trailing QA pair. Do not use for tasks generated outside the Compozy PRD pipeline, for ideation/brainstorming output, or for review-round task lists.
trigger
explicit
Tasks Tail QA Pair
Auto-append the canonical QA pair ($qa-report + $qa-execution) to every _tasks.md produced by cy-create-tasks, so the implementation agent always closes a program with a real verification pass. The pair operates on the repo's living QA tree (docs/qa/) — plans become journeys/charters/scenario files, results become registry bugs and dated reports.
Procedures
Step 1: Locate the Tasks File
Resolve the target _tasks.md path. If invoked immediately after cy-create-tasks, the orchestrator passes the slug; otherwise read the most recently modified .compozy/tasks/<slug>/_tasks.md.
Read the file and check whether the last two non-empty entries already follow the QA pair pattern.
If both qa-report and qa-execution rows exist with proper dependencies, exit with status noop — do not duplicate.
Step 2: Detect UI-Bearing Features
Parse the task list for any task that touches web/, packages/site, web/e2e/, Storybook, or any frontend-facing surface.
If at least one task touches user-facing UI, set requires_e2e=true.
If no task touches UI but the techspec covers public API/CLI, agent-manageability, extensibility, or config lifecycle surfaces, set requires_cli_e2e=true.
Read references/qa-tail-template.md for the canonical row shape, complexity rating, and required <critical> blocks.
Note the Dependencies syntax: the qa-report task depends on the last implementation task, and the qa-execution task depends on qa-report.
Preserve the table column order used in the existing _tasks.md (do not reorder columns). The current canonical order is # | Title | Status | Complexity | Dependencies.
Step 4: Compose the QA Pair
Generate the qa-report task row using the template:
Title: QA Plan and Session Charters
Frontmatter type: qa-report
Status: pending
Complexity: high
Dependencies: last implementation task ID
Generate the qa-execution task row:
Title: Real-User QA Execution
Frontmatter type: qa-execution
Status: pending
Complexity: critical
Dependencies: the new qa-report task ID
Include e2e directive when requires_e2e=true (Playwright via browser-use:browser, fallback to agent-browser).
Include CLI/API/agent-manageability end-to-end directive when requires_cli_e2e=true.
Compute correct sequential task IDs (e.g., next task_NN numbers).
Step 5: Append and Verify
Append the two rows below the existing list. Do not modify earlier rows.
Create matching task_NN.md files for both QA rows using the body guidance in references/qa-tail-template.md.
If the _tasks.md includes a ## MVP Boundary section that references "tasks 01-NN", update only the QA range to include the new tasks.
Read references/qa-pair-checklist.md and confirm every item passes before exit.
Print the final two-row diff to stdout for human/agent review.
Error Handling
If the target _tasks.md cannot be located, fail loudly and report the resolved slug. Do not write files speculatively.
If the file lacks a recognizable task table (e.g., it is empty or uses a custom format), refuse to edit; emit the discovered shape on stderr and ask for the correct path.
If cy-create-tasks already inserted partial QA tasks (only qa-report or only qa-execution), repair the missing half rather than duplicating.
Never replace existing QA rows. If the user has customized them, treat the file as ready and exit noop.