Synthèse automatique
Construit, installe et lance l'application iOS dans le Simulateur, puis vérifie visuellement le changement à l'aide de captures d'écran et de l'arbre d'accessibilité.
Points forts
- Enchaîne tout le cycle : génération Tuist, build xcodebuild, recherche du .app, installation et lancement avant la capture.
- S'appuie sur l'arbre d'accessibilité pour localiser les éléments et récupérer leurs coordonnées quand elles sont inconnues.
- Décrit les problèmes observés sans tenter de corriger le code de sa propre initiative.
Limites
- Le workspace, le schéma, le bundle id et le nom du .app sont codés en dur pour le projet Ruckus.
- Exige un simulateur déjà démarré et le serveur MCP ios-simulator configuré.
- Validation purement visuelle, sans assertions automatisées ni comparaison à une image de référence.
À utiliser après une modification d'interface iOS pour confirmer rapidement le rendu et le comportement dans le Simulateur.
À éviter pour des tests automatisés en CI, du code sans impact visuel, ou lorsque aucun simulateur ni serveur MCP n'est disponible.
Analyse de sécurité
SûrThe skill is a straightforward local visual-QA workflow: regenerate the project, build with xcodebuild, locate the .app in DerivedData, install/launch it in the simulator, and inspect screenshots and the accessibility tree. There is no obfuscation, no curl|sh, no rm -rf, no reading of credentials or environment secrets, no network exfiltration, and it explicitly tells the agent not to auto-fix issues. The only execution risk is the ordinary one of running a project's own build tooling and an MCP simulator server, both local and non-destructive.
- •Instructs running local build tooling (tuist generate, xcodebuild) which executes repo-local project definitions and build scripts — inherent to any build skill but worth noting
- •Uses `find` over ~/Library/Developer/Xcode/DerivedData to locate build artifacts (read-only, no data leaves the machine)
- •Depends on an external `ios-simulator` MCP server for install/launch/screenshot/UI automation; trust depends on that server's implementation
- •Hardcoded workspace/scheme/destination/bundle id means the commands are fixed rather than user-supplied, limiting injection surface
Exemples
I just changed the toggle colors on the settings screen — build and run the app in the simulator and show me a screenshot so I can confirm it looks right.Validate the new onboarding flow on iPhone 17 Pro: launch the app, navigate to the onboarding, and describe what the accessibility tree and screenshots show.I refactored the profile header layout. Do a visual QA pass in the iOS Simulator and tell me if the labels, colors and spacing look correct.name: qa description: | Use after making changes to visually validate the app in the iOS Simulator. Builds, installs, launches the app, then uses screenshots and accessibility descriptions to verify the change looks and behaves correctly. user-invocable: true
QA — Visual Validation via iOS Simulator
Validate changes by building, installing, and inspecting the app in the
iOS Simulator using the ios-simulator MCP server.
Prerequisites
The iOS Simulator must be booted before starting. Use
mcp__ios-simulator__get_booted_sim_id to confirm. If no simulator is
booted, use mcp__ios-simulator__open_simulator first.
Workflow
-
Regenerate the Tuist project so the workspace reflects any file changes:
tuist generate --no-open -
Build for simulator using the workspace (required for dependency resolution):
xcodebuild build -workspace Ruckus.xcworkspace -scheme Ruckus \ -destination 'platform=iOS Simulator,name=iPhone 17 Pro'This uses Xcode's default DerivedData location. If the build fails, fix the errors before continuing.
-
Find the built
.appbundle. After a successful build, locate it in Xcode's DerivedData:find ~/Library/Developer/Xcode/DerivedData \ -name "Ruckus.app" \ -path "*/Debug-iphonesimulator/*" \ -maxdepth 5 \ -newer Ruckus.xcworkspace \ 2>/dev/null | head -1Use the most recently modified match.
-
Install the app.
Use
mcp__ios-simulator__install_appwith the.apppath found in the previous step. -
Launch the app.
Use
mcp__ios-simulator__launch_appwithbundle_id: io.defn.Ruckusandterminate_running: trueto ensure a fresh start. -
Take a screenshot and describe the UI.
- Use
mcp__ios-simulator__screenshotto capture the current state. - Use
mcp__ios-simulator__ui_describe_allto get the accessibility tree for the visible screen. - Read the screenshot to visually inspect the result.
- Use
-
Navigate to the relevant screen. If the change is not on the initial screen, use taps, swipes, and text input to navigate there:
mcp__ios-simulator__ui_tap— tap coordinatesmcp__ios-simulator__ui_swipe— scroll or swipemcp__ios-simulator__ui_type— enter text
After each navigation action, take another screenshot and describe the UI to confirm you reached the right screen.
-
Validate the change. Compare what you see against the expected behavior:
- Does the UI reflect the change?
- Are labels, colors, and layout correct?
- Is the accessibility tree reasonable?
Report your findings — what looks correct and what (if anything) looks wrong.
-
If something is wrong, describe the issue clearly. Do NOT attempt to fix it automatically unless the caller asks you to.
Tips
- When you don't know the coordinates of a UI element, use
mcp__ios-simulator__ui_describe_allto find it in the accessibility tree — elements include their frame coordinates. - Take screenshots liberally. They are the ground truth for visual QA.
- If the app crashes on launch, check the build logs and simulator system log for clues.
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/qa-visual-validation-via-ios-simulator-ms71b2wj/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/qa-visual-validation-via-ios-simulator-ms71b2wj' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/qa-visual-validation-via-ios-simulator-ms71b2wj/download' --output '.skill-downloads/qa-visual-validation-via-ios-simulator-ms71b2wj/SKILL.md.part' && mv '.skill-downloads/qa-visual-validation-via-ios-simulator-ms71b2wj/SKILL.md.part' '.skill-downloads/qa-visual-validation-via-ios-simulator-ms71b2wj/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Extrait original : Prerequisites
The iOS Simulator must be booted before starting. Use
mcp__ios-simulator__get_booted_sim_id to confirm. If no simulator is
booted, use mcp__ios-simulator__open_simulator first.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/qa-visual-validation-via-ios-simulator-ms71b2wj/SKILL.md' && test -s '.skill-downloads/qa-visual-validation-via-ios-simulator-ms71b2wj/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/qa' && cp -R '.skill-downloads/qa-visual-validation-via-ios-simulator-ms71b2wj' '.claude/skills/qa'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/qa-visual-validation-via-ios-simulator-ms71b2wj'openskills read 'qa-visual-validation-via-ios-simulator-ms71b2wj'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/qa-visual-validation-via-ios-simulator-ms71b2wj/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Comparaison de performances ClickHouse
Testing
Évaluez les résultats de tests de performance ClickHouse, analysez les régressions de PR, comparez avec l'historique et vérifiez la fiabilité des mesures.
Analyse des rapports de performance CI
Testing
Analyse les rapports de comparaison de performance CI pour une PR ClickHouse. Recoupe l'historique master pour distinguer les vraies régressions des tests instables.
Méthode Santa
Testing
Vérification adversarial multi-agents avec deux réviseurs indépendants. La sortie est vérifiée deux fois et corrigée itérativement jusqu'à ce que les deux acceptent avant publication.