{"id":18145,"plugin_id":"plugins_6a82b32a6ee8819191258c0368112b78","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T23:14:40.689Z","digest":"4d08629003cbc8b41ca596f38da77ca6bcae1197eabc0c7b6ff3a2c47eb30c7d","against":null,"payload":{"description":"Internal UI test execution via Playwright MCP","included_files":[],"name":"zuora-uat-execute-ui","skill_md_contents":"---\nname: zuora-uat-execute-ui\ndescription: Internal UI test execution via Playwright MCP\n---\n\n# Execute UI test (internal)\n\n## Entry\n\nPrefer starting from `hybrid_tr_prepare.py` output (called by `run-feature` after API pytest passes):\n\n```bash\npython3 \"${CLAUDE_PLUGIN_ROOT}/references/uat-test/execution/scripts/hybrid_tr_prepare.py\" \\\n  --git-root \"$GIT_ROOT\" \\\n  --feature \"<feature>\" \\\n  --tr <n> \\\n  --environment \"<environment>\"\n```\n\nWhen `execute_ui` is `true`, proceed. Otherwise stop and return the `skip_reason`.\n\nManual fallback for debug variables:\n\n```bash\npython3 \"${CLAUDE_PLUGIN_ROOT}/references/uat-test/execution/scripts/parse_debug_variables.py\" \\\n  --git-root \"$GIT_ROOT\" \\\n  --feature \"<feature>\" \\\n  --tr <n>\n```\n\n## Preconditions\n\nSkip UI with a clear message when **any** of:\n\n- `hybrid_tr_prepare.py` returns `execute_ui: false`\n- Playwright MCP unavailable\n- API pytest failed for this TR (`api_test_passed: false`)\n\n## Process\n\n1. Use `variables` from `hybrid_tr_prepare.py` (or `parse_debug_variables.py`) — do not hand-parse debug logs unless scripts fail\n2. Read `ui_steps_path` / `ui_steps_tr{n}.md`\n3. Execute steps via Playwright MCP tools\n4. Write report to `execution/reports/`\n5. Capture evidence paths for `record-ui-result`\n\nFollow `${CLAUDE_PLUGIN_ROOT}/references/uat-test/execution/docs/UI_TEST_EXECUTION_GUIDELINE.md`.\n\n## MCP\n\nUse user-configured Playwright MCP (not bundled). `mcp__zuora-mcp__ask_zuora` for unresolved UI behavior only.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}