{"id":18315,"plugin_id":"plugins_6a82b32a6ee8819191258c0368112b78","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T23:14:46.589Z","digest":"a2e240a6b3c4a663cbca7c54d967bcf12d5ce8d15e94f598c4c3e99b0609d6e4","against":null,"payload":{"description":"Internal UI test doc generation for hybrid TRs","included_files":[],"name":"zuora-uat-generate-ui","skill_md_contents":"---\nname: zuora-uat-generate-ui\ndescription: Internal UI test doc generation for hybrid TRs\n---\n\n# Generate UI test doc (internal)\n\nCreates `execution/tests/test_scenarios/test_<feature>/ui_steps_tr{n}.md` when the plan marks `UI Test Doc Required: Yes`.\n\n**Never write** `ui_steps_tr{n}.md` under `design/testplan/` — that folder is design-only (plan overview + per-TR test design).\n\n## Path resolution\n\nUse `execution/tests/test_utils/repo_paths.py` from the customer repo (copy any missing files from `${CLAUDE_PLUGIN_ROOT}/references/uat-test/execution/tests/test_utils/`):\n\n- `resolve_feature_scenario_dir(feature)` — target scenario directory\n- `resolve_ui_steps_doc_path(feature, tr_index)` — final write path (raises if missing; use parent dir for writes)\n\nResolve the scenario directory before writing; output must land beside the API script for the same TR.\n\n## Gap-fill\n\nSkip when `force_overwrite=false` and `ui_steps_tr{n}.md` already exists at the resolved execution path (not under testplan).\n\n## Format\n\nFollow `${CLAUDE_PLUGIN_ROOT}/references/uat-test/execution/docs/UI_TEST_DOC_FORMAT.md`.\n\nInclude: prerequisites, debug log variable references, numbered UI steps, expected outcomes.\n\n## MCP\n\n`mcp__zuora-mcp__ask_zuora` for UI navigation paths when not in the test design. No Playwright during generation.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}