Communitygithub.com

shotglass

Enregistrez des démos d'applications et de navigateurs sur macOS avec ShotGlass. Idéal pour des demandes telles que « filmer une démo », « enregistrer une procédure pas à pas » ou « montrer comment utiliser cette application » avec ShotGlass, et pour éditer ou exporter un projet ShotGlass existant.

Qu'est-ce que shotglass ?

ShotGlass est une compétence d'agent IA conçue pour enregistrer des démonstrations d'applications et de navigateurs sur macOS via des outils MCP (Model Context Protocol) connectés. Elle permet à un agent de filmer une démo en deux appels principaux : d'abord `recording_prepare()` pour préparer l'enregistrement et obtenir un snapshot de l'écran, puis `compose()` pour soumettre l'ensemble de la séquence d'actions (frappes clavier, clics, textes, etc.) une fois planifiée. ShotGlass supporte la création, l'édition et l'exportation de projets, avec des options de rendu vidéo automatiques sur demande. L'agent doit structurer les actions à partir des états retournés, utiliser les références pour les actions en arrière-plan, et éviter de relancer en boucle des actions après un blocage ou une annulation. Cette compétence est particulièrement utile pour les développeurs ou utilisateurs d'agents IA (Claude Code, Cursor, Codex, etc.) souhaitant automatiser la capture de procédures logicielles de manière fiable et reproductible sur macOS.

Compatible avec~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/jakemanger/shotglass-skills/tree/main/skills/shotglass

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait shotglass ?

Filmez via les outils MCP connectés de ShotGlass. Utilisez les schémas actuels du serveur installé pour les noms et paramètres des outils.

Pour commencer

Pour une nouvelle démo, utilisez deux appels :

  1. recording_prepare({app:"Notes", allowSystemDisplayPrompt:true}) — remplacez l'application demandée. Lisez la capture d'écran retournée, les références et snapshotId.
  2. compose({snapshotId, beats}) — soumettez toute la séquence en une seule fois. ShotGlass la filme, restaure les fenêtres et ouvre le projet dans son éditeur.

Construisez les beats à partir de l'état retourné : {ref:"<ref retournée>"}, {type:"text"}, {key:"cmd+s"}, ou {point:{x,y},action:"click"}. Remplacez les espaces réservés par les valeurs retournées réelles. Les points de capture d'écran sont screenshot.origin + image coordinates. Utilisez la navigation stable au clavier pour les boîtes de dialogue et incluez expectedFiles lorsque la tâche démontrée enregistre des fichiers.

Livrez ce qui a été demandé

  • Filmer une démo : laissez les options de style et de sortie non définies. Conservez le cadrage original et le curseur éditable, puis ouvrez l'éditeur.
  • Filmer et rendre : définissez output:{mode:"video"} dans le même appel compose. Signalez le delivery.videoPath retourné.
  • Appliquer un style ou des zooms automatiques : définissez naturalStyle:true uniquement si demandé.
  • Éditer un enregistrement existant : inspectez le projet visé avec les outils de l'éditeur, puis appliquez les modifications demandées. Effectuez le rendu uniquement sur demande.

Privilégiez les refs pour les actions en arrière-plan. Les actions de coordonnées peuvent nécessiter une entrée réelle. Définissez allowRealInput:true uniquement avec une autorisation utilisateur existante, sinon laissez ShotGlass demander l'approbation. Réutilisez une seule instance de ShotGlass et soumettez les actions planifiées ensemble plutôt que d'utiliser une boucle d'action hôte ou un autre enregistreur.

En cas de blocage

Si des outils sont manquants, lisez setup. L'application et le serveur MCP doivent être exécutés sur le Mac filmé.

Si des autorisations, une alerte ou une annulation interrompent le tournage, conservez le projet retourné et signalez le blocage spécifique. Ne réessayez pas aveuglément et ne rejetez pas une alerte qui modifie les données utilisateur. Le chemin en deux appels s'applique à une démo préparée et planifiable, pas à une exigence de faire comme si une prise ratée avait réussi.

Skills associés