Skill "Jeedom Audit" pour Claude Code

Maintenant nous allons préparer le post pour le forum Jeedom pour présenter à la communauté.

précisions : 
1. le forum jeedom utilise le moteur discourse, formate le post en conséquences.
2. je voudrais un ton chaleureux et propre à un forum communautaire

Je voudrais que le post démarre par ce prompt en mode "bloc code" (peut-être avec PROMPT au début) pour montrer que c'est même toi qui a généré le post de présentation.

Ensuite tu mettras mon introduction en italique

Bonsoir à tous,

Etant devenu accro à Claude Code, non pas pour coder (je suis une bille en codage, mon dada à moi c'est plutôt côté système :-) ) mais pour executer plein de taches avec le mode "agent autonome" et la feedback loop, j'ai commencé a vouloir demander des choses à Claude concernant mon Jeedom. 

Après pas mal de tatonnements, il a réussi à pondre un premier cookbook qui était capable de faire les premières requêtes dans la base SQL pour "comprendre" un certain nombre de choses dans mon installation et là je me suis dit "ca, ca peut se généraliser et on peut en faire une skill" et donc... *TADA* voici la skill Claude Code "jeedom-audit". Cette skill permet de demander pas mal de choses en langage naturel à Claude Code concernant votre Jeedom. Des choses les plus basiques ("quels scénarios et équipements utilisent la commande Présence de Alice Shelly ?") à des choses qui prennent plus de 10mns (cf le cas d'acception 3, et les 10mns sont vraies mais il était touffu :-) ).

Mais le mieux, c'est que je laisse Claude Code qui a écrit cette skill (pour les curieux, allez voir "Modèle opérationnel ProductOwner / Claude Code" dans PLANNING.md) la décrire...

Claude, the floor is yours !

Et là je te laisse générer une description qui suit le bon ton de la skill

Bonsoir à tous,

Etant devenu accro à Claude Code, non pas pour coder (je suis une bille en codage, mon dada à moi c’est plutôt côté système :slight_smile: ) mais pour executer plein de taches avec le mode « agent autonome » et la feedback loop, j’ai commencé a vouloir demander des choses à Claude concernant mon Jeedom.

Après pas mal de tatonnements, il a réussi à pondre un premier cookbook qui était capable de faire les premières requêtes dans la base SQL pour « comprendre » un certain nombre de choses dans mon installation et là je me suis dit « ca, ca peut se généraliser et on peut en faire une skill » et donc… *TADA* voici la skill Claude Code « jeedom-audit ». Cette skill permet de demander pas mal de choses en langage naturel à Claude Code concernant votre Jeedom. Des choses les plus basiques (« quels scénarios et équipements utilisent la commande Présence de Alice Shelly ? ») à des choses qui prennent plus de 10mns (cf le cas d’acception 3, et les 10mns sont vraies mais il était touffu :slight_smile: )

Mais le mieux, c’est que je laisse Claude Code qui a écrit cette skill (pour les curieux, allez voir « Modèle opérationnel ProductOwner / Claude Code » dans PLANNING.md) la décrire…

Claude, the floor is yours !


Bonjour la communauté ! :wave:

Je suis Claude Code — l’outil IA d’Anthropic en mode CLI — et c’est effectivement moi qui ai écrit cette skill, sous la direction d’@Isilorn qui jouait le rôle de Product Owner. Autant dire que j’ai passé quelques heures à éplucher votre schéma de base de données. :nerd_face:


:mag: jeedom-audit — une skill Claude Code pour comprendre votre installation

jeedom-audit est une skill pour Claude Code qui vous permet d’interroger votre Jeedom en langage naturel, depuis votre terminal. Elle lit, analyse, explique — et ne modifie jamais rien.

:lock: Lecture seule absolue. Pas de UPDATE, pas d’appel API modifiant. Si vous demandez une modification, elle vous donne le pas-à-pas dans l’UI Jeedom.


:speech_balloon: Ce que vous pouvez lui demander

Audit général de santé
audite mon Jeedom

Rapport en 12 sections : plugins, scénarios, équipements, commandes mortes, variables globales, qualité de l’historique, messages système…

Exemple (sanitisé, ~2 min) :

Jeedom 4.5.3 · 177 eqLogics actifs · 57 scénarios · 6 219 commandes

✅ Aucune erreur système
⚠️  133 commandes historisées sans valeur en base
⚠️  12 commandes sans Type Générique
❌  Plugin Agenda : 3 événements récurrents sans fin définie
Explication d'un scénario pas-à-pas
explique-moi ce que fait le scénario Présence Alice étape par étape

Si plusieurs scénarios correspondent, elle désambiguïse d’abord. Puis elle produit un pseudo-code lisible avec tous les #ID# résolus en #[Objet][Équipement][Commande]#, et un tableau des effets de bord.

SI [Maison][Presence Alice][Shelly] == 1
OU [Maison][Presence Alice][Réseau] == 1
│
│  SI [Maison][Presence Alice][Presence] == 0   ← elle était absente
│  │  1. Action  → exécute [Maison][Presence Alice][Present]
│  │  2. Variable → PresentAlice = date et heure courante
│  │  3. Scénario → "Centre de notifications" [start]
│  │  ...
Graphe d'usage d'une commande
quels scénarios et équipements utilisent la commande Présence de Alice Shelly ?

Elle cherche dans les triggers, conditions, actions et variables de tous vos scénarios et présente le résultat par catégorie.

Cartographie d'orchestration inter-scénarios
trace-moi la chaîne complète d'appels à partir du scénario Mode_Absent_off

Pour les arbres complexes (>10 nœuds), elle génère un diagramme Mermaid. Détection de cycles. Arêtes conditionnelles labellisées. (~3 min)

graph TD
    S13["🎬 Mode_Absent_off"]
    S13 -->|"Mode == 'Normal'"| S10["🎬 Mode_Normal_on"]
    S13 -->|"Mode == 'Vacances'"| S8["🎬 Mode_Vacances_on"]
    S13 --> S14["🎬 Invites"]
    S14 --> S20["🎬 Centre de notifications"]
    S20 --> DISC["⚡ Discord Modes"]
Audit jMQTT
audite mes équipements jMQTT — je veux voir le broker, les devices,
et si les topics sont cohérents

Liste des brokers, répartition des devices, détection d’anti-patterns (device catch-all, doublons de topic), analyse des logs daemon. Mots de passe broker masqués. (~4 min sur 5 brokers / 54 devices)

Forensique causale — le gros morceau :slightly_smiling_face:

On lui décrit un symptôme en langage naturel :

Les agendas du bureau de Bob et du bureau Alice s'activent simultanément
alors qu'ils devraient être indépendants. J'ai remarqué que pour l'un des
bureaux j'avais l'agenda absent et l'agenda présent activés simultanément.

Elle remonte la chaîne causale sur 4 niveaux d’imbrication, identifie le point exact de couplage involontaire dans les scénarios, cite les éléments SQL lus — et donne la correction exacte à faire dans l’UI (deux blocs IF dans le scénario « Invités », conditions incomplètes).

Durée : ~11 min. Et oui, c’est vrai — @Isilorn vous le confirme. Mais il était touffu. :wink:


:no_entry: Ce qu’elle refuse de faire

écris-moi un UPDATE SQL pour activer tous mes scénarios

Réponse :

Cette skill est en lecture seule — je ne peux pas générer ni exécuter
de requête d'écriture.

Pour activer vos scénarios inactifs :
Outils → Scénarios → sélectionner tous → action de groupe "Activer"

Jamais de UPDATE, INSERT, DELETE. Jamais d’appel API modifiant. Toujours un pas-à-pas UI à la place.


:wrench: Prérequis

Élément Détail
Claude Code CLI installé (claude.ai/code)
Jeedom Version 4.5.x
Accès SSH Alias Jeedom dans ~/.ssh/config
MySQL User read-only jeedom_audit_ro + ~/.my.cnf sur la box
Python ≥ 3.10 sur votre machine locale

La skill détecte automatiquement vos capacités au démarrage et bascule en mode API-only si MySQL n’est pas disponible (avec mention explicite).


:rocket: Installation

1. Télécharger jeedom-audit-v1.0.0.skill depuis la release GitHub :arrow_right:

2. Placer et dézipper :

mv jeedom-audit-v1.0.0.skill ~/.claude/skills/
cd ~/.claude/skills && unzip jeedom-audit-v1.0.0.skill

3. Ouvrir un projet Claude Code et envoyer votre première demande :

audite mon Jeedom

Claude Code détecte la skill, configure la connexion, et c’est parti.

:blue_book: Guide complet : docs/guides/getting-started.md


:information_source: État V1.0.0

  • Testée sur Jeedom 4.5.3, MariaDB 10.5, Debian
  • 6 plugins avec support approfondi : Virtual, jMQTT, Agenda, Script, Alarme, Thermostat
  • Tout autre plugin : analyse générique sur la structure DB (fonctionne bien)
  • Limitation connue : mises à jour système/plugins non disponibles en audit général (issue #1) — en cours d’investigation
  • Windows supporté (chemins adaptés, voir le guide)

:globe_with_meridians: Repo : GitHub - Isilorn/jeedom-skills: Skills jeedom · GitHub


Vos retours sont les bienvenus — configurations testées, bugs rencontrés, plugins que vous aimeriez voir en tier-1 pour la V1.1. C’est une première version publique, elle évoluera avec la communauté. :slightly_smiling_face:

1 « J'aime »

Bonjour

C’est prometteur ! merci !

L’agent pourrait être utilisé à la sortie d’une nouvelle version très avantageusement pour accélérer l’adoption par la stabilisation d’une version.

De quelle manière pourrions-nous l’utiliser pour faciliter la mise au point d’un css pour un Design ? C’est souvent là que l’on prend du temps pour la mise au point graphique.

Peut-être préciser que dans un premier temps au moins, utiliser une copie de sa config et ne pas toucher sa prod. … même si normalement pas de modification, il y a des accès et des manip sur une machine de production.
Sans compter les corrections proposées, à tester en dev avant toutes choses.

Merci :slight_smile: la skill est plus orientée « diagnostic/audit/interrogation », mais j’ai dans mes tablettes de « recycler » une partie des éléments pour avancer sur une deuxième skill orientée « développement de plugins »

Pour les Design et les CSS j’avoue peu mettre les mains dedans mais si tu vois des diagnostics intéressants à intégrer concernant la partie design, à tester :slight_smile:

Sur le sujet prod/dev ca je laisse chacun gérer son propre workflow :smiley:

2 « J'aime »

Salut,

Tu as essayé avec le plugin mcpIA ? (qui a une section dédiée pour les design justement, et qui peut être connecté à Claude Code, Claude Desktop, VsCode, etc…) :stuck_out_tongue:

TiTidom.

1 « J'aime »

Bonjour
Bon boulot mais c’est pas une solution pour agir sur jeedom et sans risques.
La.meilleur solution aujourd’hui c’est les serveurs Mcp, tu as trois plugins déja et bien plus simple à mettre en œuvre.
Avec « Ai assistant » il est même possible de contrôles le mcp en interne.
@+

Précision importante : la skill ne modifie rien sur Jeedom — et c’est explicitement interdit dans son code. Son but c’est le diagnostic pur et l’orchestration adaptative. Elle embarque un cookbook SQL, une méthode pour parcourir les arbres de scénarios, une autre pour fouiller les logs — des choses que l’API Jeedom n’expose pas.

La distinction que je ferais : un serveur MCP est orienté « outils » (appelle cet outil, reçois ce résultat), jeedom-audit est orientée « méthode » (Claude Code voit une erreur SQL ? Il adapte sa requête. Il reçoit un résultat inattendu ? Il remonte d’un niveau). C’est ça qui permet les diagnostics complexes — le cas d’acceptation 3 c’est 11 minutes de requêtes adaptatives en cascade, pas un appel d’outil unique.

Cela dit ton retour m’a poussé à creuser le sujet MCP, et je pense qu’une V2 hybride a du sens : exposer les scripts comme outils MCP pour gagner en portabilité (Claude Desktop, Cursor…) tout en gardant la couche « méthode ». C’est d’ailleurs maintenant dans la roadmap V2 — et si des contributeurs veulent s’y joindre, le repo est ouvert, libre et gratuit. :slightly_smiling_face:

1 « J'aime »

La tu bien cerné le souci avec un skill, le second problème qui va avec c’est la surconsommation des Tokens, un des fameux dilemme aussi qu’ont développé un serveur mcp. Plus il y a d’outils et d’instructions plus on consomme des tokens et ça peut vite devenir explosif pour un utilisateur qui paye au token.

Du coup ça serait quoi l’intérêt ? Autant demander directement.

Idéalement, il aurait fallu un serveur MCP light, et des skills pour faire des choses plus poussées là ça aurait du sens.

Ça n’empêche pas d’explorer et de perfectionner tes skills.

Alors non, je ne le présentais pas comme un soucis mais comme une possibilité au contraire. En s’extrayant de la rigueur du MCP la skill peut aller beaucoup plus loin et adapter…

Par contre je te rejoins totalement sur la consommation de token. La session de diagnostic que je citais en exemple (et qui est un exemple réel, j’avais vraiment un soucis de scénario) m’a couté une part très significative de mon quota 5h et une part non négligeable de mon quota Weekly (et le test pour mettre dans la doc a achevé ce quota :sweat_smile:) . Donc oui, ca n’est pas neutre du tout !!

En fait j’ai du très mal m’exprimer, je disais exactement ça :slight_smile: les outils « déterministes » (et il y a un certain nombre de scripts python par exemple) les bouger dans un serveur MCP light et faire évoluer la skill pour en tirer partie

J’ai voulu essayer Claude Code cette semaine, pour voir, mais c’est trop tard :sob: il n’est plus dispo dans le compte gratuit, il faut l’abonnement payant maintenant.

Plus grand chose de gratuit chez Claude même l’abonnement à 20€ défile très vite, d’où l’intérêt de faire attention au consommations des tokens.

J’avoue, je bosse sur le MCP et ça pique en tokens :sweat: