revyl-mcp-create ยท diff

git:20260220.518720a to git:20260525.5f8994b

39 added, 6 removed. Audit A to A.

---
name: revyl-mcp-create
- description: Create and maintain Revyl tests through MCP tools using YAML validation, create/update operations, and execution feedback loops.
+ description: Create and maintain Revyl tests through MCP tools using create/update operations and execution feedback loops.
---
# Revyl MCP Create Skill
Use this skill when tests should be authored and managed through MCP tools.
## Core MCP Flow
1. Build YAML from ordered instructions and validations.
- 2. Validate YAML:
- - `validate_yaml(content="...")`
- 3. Create or update:
+ 2. Create or update:
- `create_test(name="...", platform="ios", yaml_content="...")`
- `update_test(test_name_or_id="...", yaml_content="...", force=true)`
- 4. Execute and inspect:
+ 3. Execute and inspect:
- `run_test(test_name="...")`
- `get_test_status(task_id="...")`
## Authoring Rules
1. One action per instruction step.
2. Keep validations separate from instructions.
3. Validate user-visible outcomes.
4. Use variables for sensitive or dynamic values.
+ ## Canonical YAML
+
+ Use the backend YAML contract returned by `get_schema()`.
+
+ ```yaml
+ - type: instructions
+ step_description: "Tap Log in."
+
+ - type: validation
+ step_description: "The dashboard is visible."
+
+ - type: code_execution
+ script: "seed-user"
+ variable_name: seeded_user_id
+
+ - type: module_import
+ module: "login-flow"
+
+ - type: if
+ condition: "Is a cookie banner visible?"
+ then:
+ - type: instructions
+ step_description: "Tap Accept."
+ else:
+ - type: instructions
+ step_description: "Continue."
+
+ - type: while
+ condition: "Is there a Load More button visible?"
+ body:
+ - type: instructions
+ step_description: "Tap Load More."
+ ```
+
+ For new authored YAML, use `script` for code execution and `module` for module imports. Legacy UUID forms may still parse for compatibility, but do not generate them.
+
## Shared Setup Reuse
If shared steps appear in 3+ tests:
1. `list_modules()`
2. `insert_module_block(module_name_or_id="...")`
3. update test YAML to import module.
-