Synthèse automatique
Automatise les applications de bureau via une boucle d'observation visuelle, de réflexion et d'action en utilisant l'application auxiliaire ScreenPilot.
Points forts
- Automatisation directe des interfaces graphiques sans API
- Observation visuelle avec annotation des éléments
- Installation et configuration automatiques sur macOS
- Possibilité d'utiliser un modèle de vision pour choisir une cible
Limites
- Nécessite macOS avec autorisation d'accessibilité
- Les identifiants d'éléments changent après les changements de mise en page
- L'application non signée peut nécessiter une approbation manuelle
Quand vous devez automatiser une application de bureau qui n'a pas d'API accessible.
Pour les applications web, préférez Playwright, Selenium ou d'autres outils de test web.
Analyse de sécurité
PrudenceThe skill instructs downloading and executing a third-party desktop automation tool. While the skill itself is not inherently destructive, the reliance on an external binary and granting of Accessibility permissions poses a moderate risk if the binary is compromised or if the automation is misused.
- •Downloads an external unsigned binary from a third-party GitHub repository, which could be malicious.
- •Requires granting Accessibility permissions to an unsigned app, which can control the entire GUI.
Exemples
Use ScreenPilot to list all open windows and lock the one titled 'WeChat'.Observe the locked window with ScreenPilot, read the annotated screenshot, then click on the element with ID 15.After observing the window, type 'Hello, world!' into target element ID 12.name: screen-pilot description: Use ScreenPilot for visual desktop GUI automation. Trigger when an agent needs to select a desktop window, observe labeled UI elements, reason over a screenshot, click/type/scroll/key-press by visual target id, or install/start the local ScreenPilot helper app. license: MIT compatibility: macOS with Accessibility permission; ScreenPilot local helper app allowed-tools: run_command metadata: author: DDM Team version: 2.1.0
ScreenPilot
ScreenPilot automates desktop apps through an Observe-Think-Act loop:
- Select a target window.
- Observe a screenshot annotated with numeric UI element IDs.
- Choose the intended element ID, optionally with vision reasoning.
- Execute click, type, scroll, key press, or wait instructions.
The CLI auto-checks the local helper app at http://127.0.0.1:8080/api/health. If ScreenPilot is not running, it starts an installed app. If the app is missing on macOS, it downloads the latest ScreenPilot-macos-arm64.zip release from zhouchangui/bgwndsvr, installs it to ~/Applications/ScreenPilot.app, and starts it.
Commands
Run commands from this skill directory.
# List windows
node scripts/query.mjs --mode select
# Lock a window by title or process name
node scripts/query.mjs --mode select --query "WeChat"
# Capture an annotated screenshot for the locked window
node scripts/query.mjs --mode observe
# Ask a vision model which element to use
node scripts/query.mjs --mode think --query "Find the message input box"
# Click, type, scroll, key press, or run a JSON sequence
node scripts/query.mjs --mode act --target 15 --action click
node scripts/query.mjs --mode act --target 12 --action type_text --text "Hello"
node scripts/query.mjs --mode act --json '[{"type":"wait","duration":1000},{"type":"key_press","keys":["Enter"]}]'
observe writes the latest annotated image to temp/latest_observe.jpg. Read that image before choosing a target_id.
Configuration
SCREENPILOT_BASE_URL: defaults tohttp://127.0.0.1:8080SCREENPILOT_TOKEN: overrides the local token fileSCREENPILOT_RELEASE_REPO: defaults tozhouchangui/bgwndsvrSCREENPILOT_APP_PATH: overrides the app path used for startupOPENROUTER_API_KEY: required only forthinkmodeOPENROUTER_MODEL: optional model override forthink
Without SCREENPILOT_TOKEN, the CLI reads macOS token candidates under ~/Library/Application Support/.../token.conf, then falls back to the current dev token.
Actions
| Action | Parameters | Description |
| :--- | :--- | :--- |
| click | target_id | Single left click |
| double_click | target_id | Double left click |
| type_text | target_id, text | Click target and type text |
| scroll | target_id, direction, amount | Scroll up or down |
| key_press | keys | Key list such as ["Enter"] or ["Meta+v"] |
| wait | duration | Wait milliseconds |
Operating Notes
- On first macOS launch, the unsigned helper app may require manual approval in Privacy & Security.
- Window enumeration and input simulation require ScreenPilot to have Accessibility permission.
- Element IDs change after layout changes; run
observeagain after navigation, animation, or refresh. - If an action fails, first re-run
observe; if focus is wrong, click a neutral area or re-select the window.
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/screenpilot-desktop-automation-mrwakans/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/screenpilot-desktop-automation-mrwakans' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/screenpilot-desktop-automation-mrwakans/download' --output '.skill-downloads/screenpilot-desktop-automation-mrwakans/SKILL.md.part' && mv '.skill-downloads/screenpilot-desktop-automation-mrwakans/SKILL.md.part' '.skill-downloads/screenpilot-desktop-automation-mrwakans/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.
Environnement déclaré par l’auteur : macOS with Accessibility permission; ScreenPilot local helper app
Outils déclarés par l’auteur (à vérifier dans votre agent) : run_command
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
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/screenpilot-desktop-automation-mrwakans/SKILL.md' && test -s '.skill-downloads/screenpilot-desktop-automation-mrwakans/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/screen-pilot' && cp -R '.skill-downloads/screenpilot-desktop-automation-mrwakans' '.claude/skills/screen-pilot'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/screenpilot-desktop-automation-mrwakans'openskills read 'screenpilot-desktop-automation-mrwakans'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/screenpilot-desktop-automation-mrwakans/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.
Bonnes pratiques React Hook Form
Developpement
Maîtrisez React Hook Form : évitez les anti-patterns, gérez les abonnements, et traitez correctement reset, dirty state et entrées contrôlées.
Migration Emotion vers Mantine
Developpement
Migrer les styled-components Emotion vers des composants Mantine avec style props et modules CSS. Pour convertir .styled.tsx ou supprimer les imports @emotion.
Détecteur de dérive de périmètre
Developpement
Analyse les diffs git par rapport à une intention pour détecter la dérive de périmètre, fichiers non liés et PR trop larges, puis suggère de garder, diviser ou justifier.