Stream-Deck-Icons mit Codex oder Claude verwalten

Aquarell-Illustration eines Schreibtischs mit Stream Deck, Laptop-Diff und Review-Checkliste für Icon-Pflege mit Coding-Agents.

Ein Stream Deck beginnt als kleines Komfortgerät. Dann wird es zur zweiten Tastatur, zum Meeting-Panel, zur Home-Assistant-Konsole, zum Launcher, zur Fokusmodus-Schaltzentrale und irgendwann zu einem kleinen Museum von Buttons, deren Icons nicht mehr zusammenpassen.

Genau dort können Codex oder Claude helfen. Nicht, weil ein Agent besondere Stream-Deck-Magie hat, sondern weil die Arbeit strukturiert, repetitiv und dateiförmig ist: Namen vereinheitlichen, Icon-Sets neu zeichnen, Profil-Exporte vergleichen, Button-Funktionen dokumentieren und Varianten für verschiedene Rechner pflegen.

Die wichtigste Regel: Der Agent verwaltet Artefakte, nicht die Live- Konfiguration deines Stream Decks.

Diagramm eines sicheren agentengestützten Stream-Deck-Workflows: Profil exportieren, unter Git legen, Codex oder Claude Artefakte bearbeiten lassen, Diff prüfen, manuell importieren.

Für wen ist das gedacht?

Für Menschen, die ein Stream Deck wirklich benutzen: Entwickler, Admins, Creator, Klinikmenschen mit zu vielen Meeting-Tools oder Homelab-Leute, die ein Desk-Gadget still und leise in ein Operations-Panel verwandelt haben.

Du musst dafür kein Stream-Deck-Plugin schreiben. Du solltest aber mit einem Ordner voller Dateien, Git und kleinen Agent-Änderungen umgehen können, die du vor dem Import prüfst.

Die Sicherheitsregel: zuerst exportieren, Kopien bearbeiten

Ich würde keinen Agent direkt auf den Live-Application-Support-Ordner der Stream-Deck-App loslassen. Dieser Ordner ist ein Implementierungsdetail, und ein schneller Assistent mit Schreibrechten kann schnell Unordnung produzieren.

Nutze die Stream-Deck-App als Quelle für Import und Export:

  • vor grösseren Änderungen ein vollständiges Profil-Backup erstellen
  • das Profil oder die Action exportieren, die bearbeitet werden soll
  • den Export in ein kleines Git-Repo legen
  • Codex oder Claude nur dieses Repo bearbeiten lassen
  • den Diff prüfen
  • manuell über die Stream-Deck-App importieren
  • auf dem Gerät testen

Elgatos Backup-Dokumentation ist dafür eine gute Basis: exportierte Profil-Backups nutzen .StreamDeckProfilesBackup, automatische Backups liegen im jeweiligen Backup-Verzeichnis der Stream-Deck-App unter macOS und Windows. Action Sharing ist für kleinere Arbeitseinheiten praktisch, weil damit einzelne Keys, Ordner, Multi Actions, Dials und verwandte Action-Typen exportiert werden können.

Wobei Agents wirklich gut sind

Die besten Aufgaben sind auf eine gute Art langweilig.

Icon-Konsistenz. Gib dem Agent einen Ordner mit SVG-Quellen, eine kleine Design-Token-Datei und eine Zielgrösse. Lass ihn Strichstärke, Padding, Hintergrundfarbe und Dateinamen normalisieren. Elgatos allgemeine Icon-Hilfe sagt, dass Custom-Key-Bilder quadratisch und mindestens 72 x 72 Pixel gross sein sollen; die Marketplace-Richtlinien empfehlen für Icon-Packs 144 x 144 Pixel und kleine Dateien. Für ein persönliches Repo würde ich editierbare SVG-Quellen behalten und PNGs mit 144 x 144 oder 288 x 288 rendern.

Profil-Cleanup. Agents können Exporte inspizieren, doppelte Labels finden, Fast-Duplikate auflisten und ein Button-Inventar schreiben. Das ist nützlich, wenn drei Keys “Mute”, “Mic” und “Audio Off” heissen, aber nur einer davon das tut, was du erwartest.

Variantenpflege. Arbeits-Laptop, Home-Mac und Windows-Rechner brauchen oft leicht unterschiedliche Shortcuts. Behalte ein base-Profil und dokumentiere maschinenabhängige Abweichungen. Der Agent bereitet die Variante vor, du importierst sie.

Dokumentation. Klingt trocken, ist aber Gold wert. Ein README.md, das Seiten, benötigte Plugins und externe Scripts beschreibt, trennt eine wartbare Kontrollfläche von einem hübschen archäologischen Fundstück.

Diagramm eines Stream-Deck-Icon-Systems: Design Tokens führen zu SVG-Quellen, daraus entstehen PNG-Exporte und eine geprüfte Profil-Zuordnung.

Eine kleine Repo-Struktur, die funktioniert

Ich würde etwa so starten:

streamdeck-control/
  AGENTS.md
  CLAUDE.md
  README.md
  profiles/
    exported/
    reviewed/
  icons/
    source/
    png-144/
    png-288/
  tokens/
    streamdeck-icons.json
  inventory/
    buttons.md
  scripts/
    render-icons.sh
    audit-profile.mjs

AGENTS.md ist für Codex und andere Agents, die diese Konvention lesen. CLAUDE.md ist für Claude Code. Ich würde beide bewusst langweilig und konkret halten:

# Stream Deck repo rules

- Never edit files outside this repository.
- Never modify the live Stream Deck application support directory.
- Treat `profiles/exported/` as input. Write proposed changes to `profiles/reviewed/`.
- Keep SVG sources in `icons/source/`; generated PNG files go under `icons/png-*`.
- Prefer small, reviewable changes: one page, one icon family, or one profile variant.
- After changing profile artifacts, update `inventory/buttons.md`.
- Do not delete exported backups.

Diese Instruktionsdateien sind wichtiger als besonders raffinierte Prompts. Sie geben dem Agent ein stabiles Arbeitsmodell und dir einen sauberen Diff.

Companion-Repo

Für diesen Workflow gibt es ein kleines öffentliches Companion-Repo: PatrickIsenegger/streamdeck-agent-workflows.

Darin liegen Starter-Dateien für AGENTS.md und CLAUDE.md, Safety-Doku, Prompt-Templates, Beispiel-SVG-Icons, Design Tokens, einfache Audit-/Render- Scripts und Contribution-Guidelines. Neu sind auch kleine Agent-Skills für Profil-Audits, Icon-System-Arbeit und neue Workflow-Beispiele. Es ist als wachsendes Toolkit gedacht, nicht als Ablage für private Profil-Exporte.

Der erste Beispiel-Workflow ist bereits enthalten: ein Capture text to webhook-Button, der ein kleines lokales Texteingabefenster öffnet und die Notiz als JSON an einen Webhook sendet. Er ist absichtlich klein, weil er das Muster zeigt: lokales Script, bewusster Umgang mit Secrets, dokumentierte Plattformhinweise und eine prüfbare Button-Idee statt einer magischen Blackbox.

Aquarell-Illustration: Ein Stream-Deck-Button öffnet ein Capture-Modal und sendet eine Notiz an einen Webhook-Endpunkt.

Diese Skills sind aus meiner Sicht die spannendere Langzeit-Schicht. Prompts sind gut für einzelne Aufträge, aber ein Skill gibt dem Agent eine wiederholbare Prozedur: was zuerst geprüft wird, welche Dateien Input sind, welche Outputs sicher geändert werden dürfen, welche Risiken markiert werden müssen und wie das Ergebnis zusammengefasst wird. Für Codex lassen sich die Skill-Ordner in ein Skills-Verzeichnis kopieren; für andere Agents funktionieren sie trotzdem als kompakte Arbeitsanweisungen.

Im Repo gibt es aktuell eine kurze Skills-Übersicht und drei Starter-Skills:

Codex oder Claude: nach Workflow entscheiden

Bei diesem Use Case ist weniger entscheidend, welches Modell “klüger” ist. Wichtiger ist, wo die Arbeit stattfinden soll.

Codex passt gut, wenn das Stream-Deck-Repo neben Scripts, Checks, Render- Kommandos und vielleicht einer kleinen statischen Vorschau liegt. Es fühlt sich in repo-förmiger Arbeit zu Hause: Dateien ändern, Checks ausführen, Assets generieren und den Diff zusammenfassen.

Claude Code passt gut, wenn du bereits mit CLAUDE.md, Hooks, MCP-Servern oder einem Claude-zentrierten Terminal-Workflow arbeitest. Projektinstruktionen und Hooks sind nützlich, wenn nach Icon- oder Profiländerungen automatisch ein Render- oder Audit-Schritt laufen soll.

Beides kann funktionieren. Der grössere Hebel ist, den Workflow agentenlesbar und reversibel zu machen.

Gute erste Prompts

Starte mit engen, prüfbaren Aufgaben:

Audit this Stream Deck repo. Build an inventory of all pages, buttons, labels,
icons, plugin dependencies, and external file references. Do not change profile
files yet. Write findings to inventory/buttons.md.
Create a consistent icon style for the meeting-control buttons in icons/source.
Use tokens/streamdeck-icons.json. Render PNG exports at 144 and 288 px. Do not
change unrelated icons.
Prepare a reviewed profile variant for my work Mac. Keep the exported original
unchanged, update only profiles/reviewed/, and summarize every shortcut or path
that differs from the base profile.

Diese Prompts wirken fast enttäuschend eng. Genau darum sind sie gut. Das Stream Deck ist eine echte Kontrollfläche. Kleine Änderungen sind leichter zu vertrauen.

Was ich nicht automatisieren würde

Erstens: keine Live-Edits im internen Profilordner der Stream-Deck-App. Nutze den Import-/Export-Pfad der App, ausser du baust bewusst eigenes Tooling um das darunterliegende Format.

Zweitens: keine Agent-Verbesserungen an Actions, die Geld, Türschlösser, Alarme, Produktionsdeploys oder klinische Workflows betreffen, ohne menschlichen Approval-Gate. Ein schöneres Icon ist keine überraschende Action wert.

Drittens: visuelles Redesign und Verhaltensänderung nicht mischen. Wenn Icon und Shortcut gleichzeitig wechseln, wird Review unnötig trüb. Eine Dimension pro Änderung.

Ein praktischer Einstieg

Tag eins: vollständiges Backup exportieren, Repo anlegen, AGENTS.md und CLAUDE.md hinzufügen und den Agent nur ein Inventar erstellen lassen.

Tag zwei: eine risikoarme Seite auswählen, meist Meeting-Control oder App- Launcher. Icons und Labels normalisieren. Manuell importieren. Jeden Key testen.

Woche eins: Render-Scripts, Profilvarianten und ein kurzes README ergänzen. Jede Agent-Session bleibt auf eine Seite oder Icon-Familie begrenzt.

Danach ist das Stream Deck nicht mehr nur ein Stapel einzelner Buttons, sondern eine gepflegte Oberfläche. Das ist der eigentliche Gewinn. Der Agent drückt die Buttons nicht für dich; er hält den kleinen Kontrollraum verständlich.


Quellen

Verwandte Notizen