Skip to content
cccskills
FreePublished on GitHub

qa

QA pipeline: explores the running app like a real user using a browser, then produces a QA report and Playwright E2E tests for regression. Orchestrates app-scout → qa-agent.

The English summary is being prepared. Showing the original description.

Works withPlaywright
See how to install

Files included (1)

  • SKILL.md4.0 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

QA Pipeline

You are orchestrating the QA pipeline. Follow these steps strictly in order.

Input

The test scope (optional — empty means test everything):

$ARGUMENTS

Step 0: Resolve QA_OUTPUT_DIR + clean up

Step 0a: Resolve QA_OUTPUT_DIR

Run the following in Bash to determine the branch-scoped QA output directory:

RAW_BRANCH=$(git rev-parse --abbrev-ref HEAD 2>/dev/null || echo "")
if [ -z "$RAW_BRANCH" ] || [ "$RAW_BRANCH" = "HEAD" ]; then
  SHORT_SHA=$(git rev-parse --short HEAD 2>/dev/null || echo "")
  RAW_BRANCH=${SHORT_SHA:+detached-$SHORT_SHA}
fi
if [ -z "$RAW_BRANCH" ]; then
  echo "Warning: not a git repo — using qa-output/ as QA output directory" >&2
  QA_OUTPUT_DIR="qa-output"
else
  SANITIZED=$(echo "$RAW_BRANCH" | tr '/' '-' | tr -cs 'A-Za-z0-9._-' '-' | sed 's/^-*//; s/-*$//')
  [ -z "$SANITIZED" ] && SANITIZED="unknown-branch"
  QA_OUTPUT_DIR="qa-output/$SANITIZED"
fi

Store QA_OUTPUT_DIR as a session variable — use it everywhere below.

Step 0b: Clean up stale QA artifacts

Use Bash to run rm -rf "$QA_OUTPUT_DIR" to clear only this branch's QA artifacts from a previous run.

Step 0.5: App Recon — Discover how to interact with the app

Parse flags: If $ARGUMENTS starts with --fresh, set FRESH=true and strip --fresh to get the clean scope. Otherwise FRESH=false. Store the cleaned scope as QA_SCOPE; use QA_SCOPE everywhere below instead of raw $ARGUMENTS.

Check whether to run app-scout:

  • Run via Bash: find .claude/app-context.md -mmin -60 2>/dev/null
  • If the file path is returned (exists and < 1 hour old) AND FRESH=false: Use it directly — skip launching app-scout. Proceed to Step 1.
  • Otherwise (file missing, stale, or --fresh was passed): Launch the app-scout agent using the Task tool with:
    • subagent_type: "app-scout"
    • Prompt: Perform project recon. Write your findings to .claude/app-context.md.

Wait for it to complete. If the agent fails or the file is not created, log a warning and proceed without it — this is a best-effort step.

Step 1: QA — Test the app and generate outputs

Read .claude/app-context.md (from Step 0.5). Build the qa-agent prompt as follows (if .claude/app-context.md does not exist, omit the App Context section but always include QA_OUTPUT_DIR):

Test scope: $QA_SCOPE (if empty: test all major flows)

QA_OUTPUT_DIR=$QA_OUTPUT_DIR

Write all outputs (report, screenshots, etc.) under this branch-scoped directory.

## App Context (from pre-recon)

The following was pre-discovered about this project. Use the start command and
URL from this context. Re-check running status yourself.

<full content of .claude/app-context.md>

Launch the qa-agent using the Task tool with:

  • subagent_type: "qa-agent"
  • Provide the constructed prompt above (with $QA_OUTPUT_DIR expanded)

Wait for it to complete.

Step 2: Report

Read $QA_OUTPUT_DIR/qa-report.md and summarize to the user:

## QA Complete

**Scope:** <what was tested>

**Results:** N passed · N failed · N warnings

**Critical issues:**
- [list from report, or "None found"]

**Outputs:**
- Full report: $QA_OUTPUT_DIR/qa-report.md
- E2E tests: <list files written>
- Run tests: playwright test

If $QA_OUTPUT_DIR/qa-report.md does not exist, report that the QA agent failed to complete and show any error output.

Rules

  • Run steps sequentially — each depends on the previous
  • If Step 0.5 fails (no app-context.md created), log a warning and continue to Step 1 anyway — qa-agent will discover the app independently; this is non-fatal
  • If the app is not running, the qa-agent will report it — do not attempt to start the app here
  • Always present the summary in Step 2, even if QA found no failures

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Lightweight build: explore → plan → approve → implement in a single Opus context, no sub-agent fan-out. Verifies build + tests, optionally commits, and offers a separate /code-review pass at the end. Use by default for everyday features; reach for /build only when the work needs parallel fan-out or exceeds one context.

The English summary is being prepared. Showing the original description.

nickmaglowsch/claude-setup31Updated Aug 21, 2026

Lightweight build: explore → plan → approve → implement in a single Opus context, no sub-agent fan-out. Verifies build + tests, optionally commits, and offers a separate /code-review pass at the end. Use by default for everyday features; reach for /claude-setup:build only when the work needs parallel fan-out or exceeds one context.

The English summary is being prepared. Showing the original description.

nickmaglowsch/claude-setup31Updated Aug 21, 2026

Reads task files from tasks/<branch>/ and the diff against the detected base ref, then generates a polished PR description in markdown for the user to copy-paste.

The English summary is being prepared. Showing the original description.

nickmaglowsch/claude-setup31Updated Aug 21, 2026

Debug pipeline: investigates a bug, diagnoses root cause, writes failing tests, implements fix via TDD, and reviews the result. Orchestrates bug-investigator -> bug-fixer -> code-reviewer.

The English summary is being prepared. Showing the original description.

nickmaglowsch/claude-setup31Updated Aug 21, 2026

Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when the user wants to stress-test a plan, get grilled on their design, or mentions "grill me". Run BEFORE /build when a feature idea is fuzzy and a PRD doesn't yet exist.

The English summary is being prepared. Showing the original description.

nickmaglowsch/claude-setup31Updated Aug 21, 2026

Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when the user wants to stress-test a plan, get grilled on their design, or mentions "grill me". Run BEFORE /claude-setup:build when a feature idea is fuzzy and a PRD doesn't yet exist.

The English summary is being prepared. Showing the original description.

nickmaglowsch/claude-setup31Updated Aug 21, 2026

See all skills by nickmaglowsch

Report a problem with this skill