Gérer les icônes Stream Deck avec Codex ou Claude

Illustration aquarelle d’un bureau avec Stream Deck, diff sur laptop et checklist de review pour gérer des icônes avec des agents de code.

Un Stream Deck commence comme un petit accessoire pratique. Puis il devient un deuxième clavier, une console de réunion, un panneau Home Assistant, un launcher, un tableau de focus mode et, parfois, un petit musée de boutons dont les icônes ne parlent plus la même langue.

C’est exactement le type de maintenance où Codex ou Claude peuvent aider. Pas parce que l’agent connaît un secret Stream Deck, mais parce que le travail est structuré, répétitif et manipulable sous forme de fichiers: renommer, refaire des séries d’icônes, comparer des exports de profils, documenter les boutons et maintenir des variantes selon les machines.

La règle importante: laisser l’agent gérer des artefacts, pas la configuration live du Stream Deck.

Diagramme d’un workflow Stream Deck sûr avec agent: export du profil, dépôt Git, édition par Codex ou Claude, review du diff, import manuel.

À qui s’adresse ce workflow?

Aux personnes qui utilisent vraiment un Stream Deck: développeurs, admins, créateurs, cliniciens avec trop d’outils de visioconférence, ou gens de homelab qui ont transformé un accessoire de bureau en panneau d’exploitation.

Il n’est pas nécessaire d’écrire un plugin Stream Deck. Il faut surtout être à l’aise avec un dossier de fichiers, Git, et de petits changements proposés par un agent puis relus avant import.

La règle de sécurité: exporter d’abord, modifier des copies

Je n’enverrais pas un agent écrire directement dans le dossier live de support applicatif de Stream Deck. Ce dossier est un détail d’implémentation; avec des droits d’écriture, un assistant rapide peut créer du désordre rapidement.

Utilise l’application Stream Deck comme source de vérité pour importer et exporter:

  • créer un backup complet avant les changements importants
  • exporter le profil ou l’action à modifier
  • placer cet export dans un petit dépôt Git
  • laisser Codex ou Claude modifier uniquement ce dépôt
  • relire le diff
  • importer manuellement via l’application Stream Deck
  • tester sur l’appareil

La documentation de backup d’Elgato donne une bonne base: les backups de profils exportés utilisent .StreamDeckProfilesBackup, et les backups automatiques sont stockés dans le dossier de backup Stream Deck sur macOS et Windows. Action Sharing est utile pour des unités plus petites, car il permet d’exporter des touches, dossiers, Multi Actions, dials et types d’actions proches.

Là où les agents sont utiles

Les meilleures tâches sont ennuyeuses de la bonne manière.

Cohérence des icônes. Donne à l’agent un dossier de sources SVG, un petit fichier de design tokens et une taille cible. Demande-lui de normaliser l’épaisseur du trait, le padding, la couleur de fond et les noms. La guidance générale d’Elgato indique que les images personnalisées de touches doivent être carrées et faire au moins 72 x 72 pixels; les guidelines Marketplace recommandent 144 x 144 pixels pour les packs d’icônes et des fichiers légers. Pour un dépôt personnel, je garderais les sources SVG éditables et des exports PNG en 144 x 144 ou 288 x 288.

Nettoyage de profils. Les agents peuvent inspecter les exports, lister les labels répétés, repérer les quasi-doublons et produire un inventaire des boutons. C’est utile quand trois touches s’appellent “Mute”, “Mic” et “Audio Off”, mais qu’une seule fait ce que tu imagines.

Gestion des variantes. Un laptop de travail, un Mac à la maison et une machine Windows demandent souvent des raccourcis légèrement différents. Garde un profil base, documente les écarts par machine, et laisse l’agent préparer la variante. L’import reste manuel.

Documentation. C’est sec, jusqu’au jour où c’est indispensable. Un README.md qui explique les pages, les plugins requis et les scripts externes fait la différence entre une surface maintenue et une jolie fouille archéologique.

Diagramme d’un système d’icônes Stream Deck: design tokens, sources SVG, exports PNG et mapping dans un profil relu.

Une petite structure de dépôt qui marche

Je commencerais avec quelque chose comme ceci:

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 sert à Codex et aux agents qui lisent cette convention. CLAUDE.md sert à Claude Code. Je les garderais très simples:

# 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.

Ce fichier d’instructions est plus important qu’un prompt brillant. Il donne à l’agent un modèle de travail stable, et à toi un diff propre à relire.

Dépôt compagnon

J’ai créé un petit dépôt public pour accompagner ce workflow: PatrickIsenegger/streamdeck-agent-workflows.

Il contient des fichiers de départ AGENTS.md et CLAUDE.md, de la documentation de sécurité, des templates de prompts, des exemples d’icônes SVG, des design tokens, de petits scripts d’audit/rendu et des consignes de contribution. Il contient aussi de petits skills d’agent pour l’audit de profils, le travail sur le système d’icônes et la création de workflows d’exemple. L’idée est d’en faire un toolkit évolutif, pas un dépôt d’exports privés.

Le premier workflow d’exemple est déjà disponible: un bouton Capture text to webhook qui ouvre une petite fenêtre de saisie locale, puis envoie la note capturée à un webhook en JSON. Il est volontairement petit, parce qu’il montre le motif de travail: script local, gestion explicite des secrets, notes de plateforme documentées, et idée de bouton vérifiable plutôt qu’une boîte noire.

Illustration aquarelle: un bouton Stream Deck ouvre une fenêtre de capture et envoie une note vers un endpoint webhook.

À mon avis, ces skills sont la couche la plus intéressante à long terme. Un prompt fonctionne bien pour une demande ponctuelle, mais un skill donne à l’agent une procédure réutilisable: quoi inspecter d’abord, quels fichiers sont des entrées, quels outputs peuvent être modifiés sans danger, quels risques signaler et comment résumer le résultat. Avec Codex, les dossiers de skills peuvent être copiés dans un répertoire de skills; avec d’autres agents, ils restent utiles comme instructions de travail compactes.

Le dépôt contient maintenant une courte vue d’ensemble des skills et trois skills de départ:

Codex ou Claude: choisir selon le workflow

Ici, la vraie question n’est pas seulement “quel modèle est le plus fort?”. Elle est plutôt: où veux-tu que le travail se fasse?

Codex convient bien si le dépôt Stream Deck vit avec des scripts, des checks, des commandes de rendu et peut-être une petite prévisualisation statique. Il est à l’aise avec le travail en dépôt: modifier des fichiers, lancer des vérifications, générer des assets et résumer le diff.

Claude Code convient bien si tu utilises déjà CLAUDE.md, des hooks, des serveurs MCP ou un workflow terminal centré sur Claude. Les instructions de projet et les hooks sont utiles si tu veux imposer un rendu ou un audit après chaque changement d’icônes ou de profil.

Les deux peuvent fonctionner. Le plus gros levier est de rendre le workflow lisible par l’agent et réversible par l’humain.

Bons premiers prompts

Commence par des tâches étroites et vérifiables:

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.

Ces prompts semblent presque trop limités. C’est volontaire. Le Stream Deck est une vraie surface de contrôle; les petits changements sont plus faciles à faire confiance.

Ce que je n’automatiserais pas

D’abord, pas d’édition live du dossier interne de profils de l’application Stream Deck. Utilise le chemin export/import de l’app, sauf si tu construis volontairement de l’outillage autour du format sous-jacent.

Ensuite, je ne laisserais pas un agent “améliorer” des actions liées à de l’argent, des serrures, des alarmes, des déploiements de production ou des workflows cliniques sans validation humaine. Une plus belle icône ne vaut pas une action surprenante.

Enfin, je ne mélangerais pas redesign visuel et changement de comportement. Si l’icône et le raccourci changent en même temps, la review devient confuse. Une dimension à la fois.

Plan d’adoption simple

Jour un: exporter un backup complet, créer le dépôt, ajouter AGENTS.md et CLAUDE.md, puis demander uniquement un inventaire.

Jour deux: choisir une page à faible risque, souvent les contrôles de réunion ou les lanceurs d’apps. Normaliser icônes et labels. Importer manuellement. Tester chaque touche.

Semaine un: ajouter les scripts de rendu, les variantes de profils et un README court. Chaque session agent reste limitée à une page ou une famille d’icônes.

Après cela, le Stream Deck cesse d’être une pile de boutons isolés et devient une interface maintenue. C’est le vrai gain. L’agent n’appuie pas sur les boutons pour toi; il garde la petite salle de contrôle compréhensible.


Sources

Notes liées