con un clic
maestro
Create Maestro UI test flows for user stories and features
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Create Maestro UI test flows for user stories and features
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Write user stories optimized for AI coding agents. Use this skill when writing backlog stories that will be implemented by Developer or Frontend Developer agents. Produces structured, XML-tagged specifications with explicit context, states matrix, file paths, and escalation criteria. Based on research from SWE-bench, MetaGPT, and practitioner evidence from Claude Code, Cursor, and Devin communities.
Multi-phase deep research with parallel retrieval agents. Use when the user asks for in-depth research, analysis, comparison, market intelligence, or any query that requires systematic evidence gathering from multiple sources with citations and confidence scoring. Triggers on: "deep research", "research this", "investigate", "comprehensive analysis", "compare X vs Y in depth", "what does the evidence say about", or any complex question needing 5+ sources.
Basado en la clasificación ocupacional SOC
| name | maestro |
| description | Create Maestro UI test flows for user stories and features |
| user_invocable | true |
Create Maestro test flows for user stories and features.
Identify the test scope:
{test_dir}/S{XX}-{feature}.yaml{test_dir}/flows/{name}.yamlDetermine the app ID:
{your.app.bundleIdentifier}Write the flow using Maestro YAML syntax:
appId: {your.app.bundleIdentifier}
---
# Test: {Story title or feature description}
- launchApp
- assertVisible: "Expected screen element"
- tapOn: "Button text"
- inputText: "test input"
- assertVisible: "Success message"
Use appropriate selectors (in order of preference):
text: "Visible text" — most readable, use for static contentid: "accessibility_id" — use for dynamic content or iconspoint: 50%, 50% — last resort for complex layoutsInclude standard test patterns:
| Command | Syntax | Use Case |
|---|---|---|
launchApp | - launchApp | Start the app |
tapOn | - tapOn: "Text" | Tap button/element |
inputText | - inputText: "value" | Type in focused field |
assertVisible | - assertVisible: "Text" | Verify element exists |
assertNotVisible | - assertNotVisible: "Text" | Verify element hidden |
scroll | - scroll | Scroll down |
swipe | - swipe: {direction: "LEFT"} | Swipe gesture |
back | - back | Android back button |
hideKeyboard | - hideKeyboard | Dismiss keyboard |
takeScreenshot | - takeScreenshot: "name" | Capture screen |
runFlow | - runFlow: "flows/login.yaml" | Reuse another flow |
waitForAnimationToEnd | - waitForAnimationToEnd | Wait for animations |
# By text (preferred)
- tapOn: "Submit"
# By accessibility ID
- tapOn:
id: "submit_button"
# By text with index (when multiple matches)
- tapOn:
text: "Item"
index: 0
# By position relative to other elements
- tapOn:
below: "Header"
text: "Button"
# By screen coordinates (last resort)
- tapOn:
point: 50%, 90%
/maestro S42 # Create test flow for story S42
/maestro login # Create reusable login flow
/maestro "onboarding" # Create test for onboarding feature
maestro test {path-to-flow}.yamlAfter creating flows, run them:
# Single flow
maestro test {test_dir}/S42-feature.yaml
# All flows
maestro test {test_dir}/
# With screenshots on failure
maestro test --debug-output ./screenshots {test_dir}/S42-feature.yaml
waitForAnimationToEnd or explicit delaysrunFlow: "flows/login.yaml"