CommunityBildgithub.com

OpenScaleOrg/aseprite-live

Wird verwendet, wenn der Benutzer möchte, dass Claude in einem geöffneten Aseprite-Fenster zeichnet oder bearbeitet, fragt, warum Aseprite keine Änderungen anzeigt, oder den Live-Modus, die geöffnete Datei, einen ungespeicherten Tab oder das Rückgängigmachen von Claudes Schritten in Aseprite erwähnt.

Was ist aseprite-live?

Diese Fähigkeit ermöglicht es einem KI-Agenten, live in der geöffneten Aseprite-Instanz eines Benutzers zu zeichnen und zu bearbeiten, wobei die Ergebnisse sofort im Fenster sichtbar sind. Sie nutzt den Aseprite MCP-Server, der zwei Modi bietet: `Live` (mit der Erweiterung Aseprite MCP Live, die direkt im Fenster arbeitet) und `Batch` (ohne Fenster, Änderungen werden nur auf Dateiebene gespeichert). Die Fähigkeit stellt sicher, dass alle Zeichnungen immer im aktuell aktiven Tab des Benutzers erfolgen, niemals in einer separaten Datei. Sie unterstützt Werkzeuge wie `draw_rows`, `draw_rectangle_at` und `fill_area_at`, wobei jeder Aufruf einen einzelnen sichtbaren Schritt darstellt, den der Benutzer mit Strg+Z rückgängig machen kann. Die Fähigkeit behandelt auch das Größenändern von Leinwänden, das Speichern ungespeicherter Tabs und die Fehlerbehebung bei Verbindungsproblemen, ohne Aseprite jemals selbst zu starten.

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

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

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Live im Aseprite-Fenster des Benutzers arbeiten

Der Aseprite MCP-Server hat zwei Modi, die pro Aufruf gewählt werden:

  • Live: Aseprite läuft mit der Aseprite MCP Live-Erweiterung, die eine Verbindung zum Server herstellt. Jedes Werkzeug führt sein Skript in diesem Fenster auf dem geöffneten Sprite aus, und die Leinwand wird sofort neu gezeichnet.
  • Batch: Kein Fenster verbunden. Jedes Werkzeug startet ein verstecktes Aseprite, bearbeitet die Datei auf der Festplatte und beendet sich. Ein geöffnetes Fenster zeigt die Änderung erst, wenn die Datei erneut geöffnet wird.

Jede Sitzung mit live_status beginnen

ErgebnisWas zu tun ist
connected; active tab: <pfad> + savedVerwenden Sie diesen Pfad als filename für jedes Werkzeug.
... UNSAVEDFragen Sie, wo gespeichert werden soll, dann save_active_sprite("<verzeichnis>/<name>.aseprite") und diesen Pfad verwenden.
connected; no sprite is opencreate_canvas öffnet einen neuen Tab im Fenster.
Aseprite is not connected ...Informieren Sie den Benutzer. Arbeiten Sie nur im Batch-Modus, wenn der Benutzer zustimmt.

Immer in der vom Benutzer geöffneten Datei zeichnen (streng)

Jede Zeichnung erfolgt im geöffneten Tab des Benutzers: dem aktiven Sprite, das von live_status gemeldet wird. Die Arbeit niemals in eine separate Datei legen.

  • Niemals ein zweites Sprite erstellen. Rufen Sie create_canvas nicht auf, und rufen Sie niemals Sprite(w, h) in run_lua_script auf, solange der Benutzer einen Tab geöffnet hat. Verwenden Sie create_canvas nur, wenn live_status meldet, dass kein Sprite geöffnet ist. Bearbeiten Sie in Lua app.activeSprite.
  • Wenn die Leinwand zu klein ist, ändern Sie die Größe derselben Datei. Wenn der geöffnete Tab beispielsweise 64×64 ist und die Szene 160×112 benötigt, rufen Sie resize_canvas(<offene datei>, 160, 112) für diese Datei auf und zeichnen Sie dann. Gleiches gilt für die Bildanzahl: Fügen Sie dieser Datei mit add_frames Bilder hinzu.
  • Eine Leinwand, die bereits Kunstwerke enthält, wird zuerst gefragt. resize_canvas skaliert die vorhandenen Pixel. Ändern Sie bei einem leeren Tab einfach die Größe; wenn der Tab bereits Kunst enthält, fragen Sie den Benutzer vor dem Größenändern.
  • Wenn der Tab ungespeichert ist, speichern Sie ihn mit save_active_sprite (fragen Sie, wo), und arbeiten Sie dann in dieser Datei weiter. Das Speichern ist kein Grund, eine andere Datei zu starten.
  • Wenn der Live-Modus nicht verbunden ist, stoppen Sie und informieren Sie den Benutzer. Fallen Sie nicht auf eine neue Datei auf der Festplatte zurück, es sei denn, der Benutzer sagt explizit zu.

Die Erweiterung installiert sich beim ersten Start des Servers selbst in Aseprite. Aseprite muss dann einmal neu gestartet werden, und bei der ersten Verwendung wird gefragt, ob das Skript eine Verbindung zum Netzwerk herstellen oder Dateien schreiben darf. Der Benutzer muss dies in Aseprite erlauben. Klicken Sie niemals in ihrem Namen auf diese Eingabeaufforderungen.

Während des Live-Zeichnens

  • Ein Werkzeugaufruf ist ein Rückgängig-Schritt. Der Benutzer kann Strg+Z drücken, um genau einen Ihrer Schritte rückgängig zu machen. Informieren Sie ihn darüber, wenn es hilfreich ist.
  • Arbeiten Sie in sichtbaren Durchgängen (Silhouette, dann Flächen, Schattierung, Details, Animation), damit der Benutzer sieht, wie das Stück entsteht, und sagen Sie, was jeder Durchgang tut.
  • Eine kleine Sache pro Aufruf. Das Fenster wird nur neu gezeichnet, wenn ein Aufruf zurückkehrt. Ein Skript, das die gesamte Szene malt, erscheint daher auf einmal. Jeder Aufruf sollte ein Objekt, eine Ebene, einen Schattierungsdurchgang oder einen Frame hinzufügen. Schreiben Sie ein Skript, führen Sie es aus, dann schreiben Sie das nächste. Schreiben Sie niemals alle Skripte zuerst und führen Sie sie am Ende aus.
    • Bevorzugen Sie die speziellen Werkzeuge (draw_rows, draw_rectangle_at, draw_ellipse_at, fill_area_at, ...). Jedes von ihnen ist ein einzelner sichtbarer Schritt.
    • Im Live-Modus lehnt run_lua_script Skripte mit über 40 Codezeilen ab. Halten Sie Hilfsfunktionen kurz, da jedes Skript seine eigenen neu definieren muss.
    • Eine 64×64-Szene benötigt typischerweise 10–25 Aufrufe. Das ist normal: Der Benutzer sieht zu, wie sie aufgebaut wird.
  • Jeder Schritt wird in der Datei gespeichert, was view_sprite und die Exportwerkzeuge synchron hält. Diese lesen die gespeicherte Datei weiterhin durch ein verstecktes Aseprite.
  • Der Benutzer kann ebenfalls bearbeiten. Überprüfen Sie mit view_sprite oder read_rows, bevor Sie einen Bereich neu zeichnen, und überschreiben Sie seine Änderungen nicht ohne zu fragen.
  • Ändern Sie nicht seine Ansicht. Vermeiden Sie das Wechseln von Tabs, Bildern oder Ebenen im Fenster, es sei denn, die Aufgabe erfordert es.

Fehlerbehebung

  • Ein Werkzeug läuft mit "Ein Dialog könnte geöffnet sein" ab. Aseprite wartet auf eine Eingabeaufforderung, z. B. eine Berechtigungsanfrage. Bitten Sie den Benutzer, darauf zu antworten.
  • Änderungen werden nicht im Fenster angezeigt. Führen Sie live_status aus. Jeder Aufruf beansprucht zuerst den Live-Link von jeder anderen Claude-Sitzung, die ihn hält. Wenn also immer noch "not connected" gemeldet wird, wurde Aseprite geöffnet, bevor die Erweiterung installiert wurde und muss neu gestartet werden. Stoppen und informieren Sie den Benutzer; zeichnen Sie nicht weiter in die Datei auf der Festplatte.
  • Starten Sie Aseprite niemals selbst. Öffnen Sie die Datei nicht mit einem Shell-Befehl in einem neuen Fenster. Zwei Fenster mit derselben Datei geraten aus dem Takt, und Skripte werden nur an das Fenster gesendet, das sich zuletzt verbunden hat. Wenn der geöffnete Tab veraltet ist, bitten Sie den Benutzer, Datei → Rückgängig zu verwenden.
  • Tabs, die wie das Sprite heißen, erscheinen und schließen sich. Das ist normal: Einige Analysewerkzeuge arbeiten mit einer temporären Kopie, die danach geschlossen wird.

Individual skills in this repo

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

Verwandte Skills