CommunityImagegithub.com

OpenScaleOrg/aseprite-live

Utilisez cette compétence lorsque l'utilisateur souhaite que Claude dessine ou modifie dans la fenêtre Aseprite ouverte, demande pourquoi Aseprite n'affiche aucun changement, ou mentionne le mode direct, le fichier ouvert, un onglet non sauvegardé, ou l'annulation des étapes de Claude dans Aseprite.

Qu'est-ce que aseprite-live ?

Cette compétence permet à Claude d'interagir en direct avec la fenêtre Aseprite de l'utilisateur via le serveur MCP aseprite. Elle propose deux modes : le mode direct (Live), où chaque outil exécute son script dans la fenêtre ouverte et le canevas se met à jour immédiatement, et le mode batch, où Aseprite est exécuté en arrière-plan sans interaction avec la fenêtre. La compétence impose des règles strictes : tout travail doit être effectué dans l'onglet actif de l'utilisateur, il ne faut jamais créer un second sprite sans autorisation, et on doit redimensionner le fichier existant si nécessaire. Elle est conçue pour les développeurs et artistes utilisant Aseprite, et fonctionne avec le MCP Server pour Claude, Cursor, Codex ou d'autres agents compatibles. Le suivi en direct avec `live_status` garantit que Claude travaille toujours dans le bon fichier, et chaque appel d'outil correspond à une étape annulable (Ctrl+Z).

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/OpenScaleOrg/Aseprite-Plugin/tree/HEAD/plugins/aseprite/skills/aseprite-live

Installed? Explore more Image skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

Demander à votre IA préférée

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

Documentation

Travailler en direct dans la fenêtre Aseprite de l'utilisateur

Le serveur MCP aseprite a deux modes, choisis par appel :

  • Direct (Live) : Aseprite est en cours d'exécution avec l'extension Aseprite MCP Live, qui se connecte au serveur. Chaque outil exécute son script dans cette fenêtre, sur le sprite ouvert, et le canevas se redessine immédiatement.
  • Batch : aucune fenêtre connectée. Chaque outil démarre un Aseprite caché, modifie le fichier sur le disque et se ferme. Une fenêtre ouverte n'affichera les modifications qu'après une réouverture du fichier.

Commencer chaque session avec live_status

RésultatQue faire
connecté; onglet actif : <chemin> + sauvegardéUtiliser ce chemin comme filename pour chaque outil.
... NON SAUVEGARDÉDemander où le sauvegarder, puis save_active_sprite("<dossier>/<nom>.aseprite") et utiliser ce chemin.
connecté; aucun sprite ouvertcreate_canvas ouvre un nouvel onglet dans la fenêtre.
Aseprite n'est pas connecté ...Prévenir l'utilisateur. Travailler en mode batch uniquement s'il est d'accord.

Toujours dessiner dans le fichier que l'utilisateur a ouvert (strict)

Chaque dessin va dans l'onglet ouvert de l'utilisateur : le sprite actif signalé par live_status. Ne jamais placer le travail dans un fichier séparé.

  • Ne jamais créer un second sprite. Ne pas appeler create_canvas, et ne jamais utiliser Sprite(w, h) dans run_lua_script, tant que l'utilisateur a un onglet ouvert. Utiliser create_canvas uniquement quand live_status indique qu'aucun sprite n'est ouvert. En Lua, éditer app.activeSprite.
  • Si le canevas est trop petit, redimensionner ce même fichier. Par exemple, si l'onglet ouvert fait 64×64 et que la scène nécessite 160×112, appeler resize_canvas(<fichier ouvert>, 160, 112) sur celui-ci, puis dessiner. Faire de même pour le nombre d'images : ajouter des images à ce fichier avec add_frames.
  • Un canevas qui contient déjà des œuvres doit être demandé d'abord. resize_canvas redimensionne les pixels existants, donc sur un onglet vide, le redimensionner directement ; lorsque l'onglet contient déjà de l'art, demander à l'utilisateur avant de redimensionner.
  • Si l'onglet n'est pas sauvegardé, le sauvegarder avec save_active_sprite (demander où), puis continuer à travailler dans ce fichier. Le sauvegarder n'est pas une raison d'en démarrer un autre.
  • Si le mode direct n'est pas connecté, s'arrêter et prévenir l'utilisateur. Ne pas basculer vers un nouveau fichier sur le disque sauf si l'utilisateur le demande explicitement.

L'extension s'installe dans Aseprite la première fois que le serveur démarre. Aseprite doit alors être redémarré une fois, et lors de la première utilisation, il demande si le script peut se connecter au réseau ou écrire des fichiers. L'utilisateur doit autoriser cela dans Aseprite. Ne jamais cliquer sur ces invites à sa place.

Pendant le dessin en direct

  • Un appel d'outil = une étape annulable. L'utilisateur peut appuyer sur Ctrl+Z pour annuler exactement une de vos étapes, alors dites-lui quand cela peut aider.
  • Travailler par passes visibles (silhouette, puis aplats, ombrage, détails, animation) afin que l'utilisateur voie le morceau se construire, et dire ce que fait chaque passe.
  • Une petite chose par appel. La fenêtre ne se redessine qu'au retour d'un appel, donc un script qui peint toute la scène s'affiche d'un coup. Chaque appel doit ajouter un objet, un calque, une passe d'ombrage ou une image. Écrire un script, l'exécuter, puis écrire le suivant. Ne jamais écrire tous les scripts d'abord et les exécuter à la fin.
    • Privilégier les outils dédiés (draw_rows, draw_rectangle_at, draw_ellipse_at, fill_area_at, ...). Chacun d'eux est une étape visible unique.
    • En mode direct, run_lua_script refuse les scripts de plus de 40 lignes de code. Garder les fonctions d'aide courtes, car chaque script doit les redéfinir lui-même.
    • Une scène de 64×64 nécessite généralement 10 à 25 appels. C'est normal : l'utilisateur regarde la construction.
  • Chaque étape est sauvegardée dans le fichier, ce qui maintient view_sprite et les outils d'export synchronisés. Ceux-ci lisent toujours le fichier sauvegardé via un Aseprite caché.
  • L'utilisateur peut aussi éditer. Vérifier avec view_sprite ou read_rows avant de redessiner une zone, et ne pas écraser ses modifications sans demander.
  • Ne pas changer sa vue. Éviter de changer d'onglet, d'image ou de calque dans la fenêtre sauf si la tâche l'exige.

Dépannage

  • Un outil expire avec "Une boîte de dialogue est peut-être ouverte". Aseprite attend une invite, comme une demande d'autorisation. Demander à l'utilisateur d'y répondre.
  • Les modifications n'apparaissent pas dans la fenêtre. Exécuter live_status. Chaque appel réclame d'abord le lien direct à toute autre session Claude qui le détient, donc s'il indique toujours non connecté, Aseprite a été ouvert avant l'installation de l'extension et nécessite un redémarrage. S'arrêter et prévenir l'utilisateur ; ne pas continuer à dessiner dans le fichier sur le disque.
  • Ne jamais lancer Aseprite vous-même. Ne pas ouvrir le fichier dans une nouvelle fenêtre avec une commande shell. Deux fenêtres sur le même fichier se désynchronisent, et les scripts ne vont que vers la fenêtre qui s'est connectée en dernier. Si l'onglet ouvert est obsolète, demander à l'utilisateur d'utiliser Fichier → Revenir.
  • Des onglets titrés comme le sprite apparaissent et se ferment. C'est normal : certains outils d'analyse travaillent sur une copie temporaire, qui est ensuite fermée.

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

Skills associés