بنقرة واحدة
maestro
Create Maestro UI test flows for user stories and features
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Create Maestro UI test flows for user stories and features
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
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.
| 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"