← ClaudeAtlas

runlisted

Execute a single QA task end-to-end via the qa-test-runner subagent (project-level, installed by /qa-my-app:init). Writes a date-stamped result.md with per-TC pass/fail, embedded screenshots, console errors, and network failures, then appends to QA-tests/results/history.json. Argument is the task id (e.g. T03 or T03-customers-create).
elwizard33/qa-my-app · ★ 1 · Testing & QA · score 72
Install: claude install-skill elwizard33/qa-my-app
# /qa-my-app:run — Execute one task ## Project context - Task id: `$ARGUMENTS` - Task file: !`ls QA-tests/tasks/$ARGUMENTS*.md 2>/dev/null | head -1` - Catalog present: !`test -f QA-tests/catalog.json && echo YES || echo NO` ## Runtime settings | Setting | Value | |---|---| | Dev URL | `${user_config.dev_url}` | | Browser channel | `${user_config.browser_channel}` | | Headless | `${user_config.browser_headless}` | | Settle ms | `${user_config.settle_ms}` | | Auth mode | `${user_config.auth_mode}` | ## Instructions Locate the task file matching `$ARGUMENTS`. If none found, list available task ids and stop. ### Phase 1 — Prepare run directory 1. Generate `runId` as a UTC ISO-8601 timestamp with `:` replaced by `-` (example: `2026-05-28T14-22-11Z`). 2. Resolve `runDir = QA-tests/results/runs/<runId>/<taskId>` and create it (`mkdir -p`). 3. Write `QA-tests/results/runs/<runId>/run.json`: ```json { "runId": "<runId>", "startedAt": "<ISO-8601>", "filter": "$ARGUMENTS", "settingsSnapshot": { ...effective user_config values... }, "tasks": [{ "taskId": "<id>", "taskFile": "<path>", "route": "<route>" }] } ``` ### Phase 2 — Dispatch the runner **Resolve per-role credentials first.** When `auth_mode` is `per-role`, load the credential map (secrets interpolated from env vars): ```bash node "${CLAUDE_PLUGIN_ROOT}/scripts/auth-resolve.mjs" --json ``` Use the returned `roles` object as `credentialsByRole`. If the file is absent (`present: false`)