🌱 Green Claude, un skill IA éco-conçu
Un skill pour Claude Code qui guide Claude vers un code éco-conçu selon le RGESN 2024 et le GR491, installé une fois et appliqué automatiquement.
Coder avec un agent IA a un coût énergétique, pendant la session et dans le code qu'il produit. Le RGESN 2024 en fait une famille à part entière (« Algorithmie, dont IA ») : justifier le recours à l'IA, dimensionner le modèle à la tâche, mesurer son impact. Green Claude relie cette exigence de sobriété numérique à l'usage quotidien d'un assistant de code IA générative, plutôt que de traiter les deux sujets séparément.
Comment ça marche
Pendant que Claude code
107 règles d'éco-conception alignées sur les 9 familles du RGESN 2024 : 38 règles renvoient à des critères précis, 67 à une famille et 2 à la Green Software Foundation. Claude les applique de lui-même en écrivant du code, sans qu'on le lui demande à chaque fois.
Sur demande, un audit
« Audit éco-conception de ce fichier » lance un script déterministe (grep sur les règles), zéro coût de raisonnement, qui détecte les motifs contraires à l'éco-conception (SELECT *, bibliothèques lourdes, autoplay…).
Le détail de ton langage
127 règles propres à Python, SQL, JavaScript/TypeScript, Java, C#, PHP, Ruby, Rust, C, C++, Go, Kotlin, Swift et Shell. Une requête N+1 se corrige avec select_related en Django et JOIN FETCH en JPA : l'audit sait lequel te concerne, d'après l'extension du fichier.
À chaque écriture, sans y penser
Un hook optionnel relance l'audit après chaque fichier écrit par Claude Code, sans passer par une décision du modèle. Charger un skill dépend du modèle ; exécuter un hook, non.
Exemple concret
Ce code, tout à fait banal :
import _ from 'lodash';
app.get('/api/users', (req, res) => {
db.query('SELECT * FROM users', (err, rows) => {
res.json(rows);
});
});
eco-audit.sh api.js (sortie réelle, non retouchée ; les règles sont en anglais) :
[High] ECO-FRONT-01 — No heavy library for a minor need
File : api.js
Category : 6. Frontend
RGESN : 6.x
Recommendation : Prefer the language's native functions or lighter alternatives (date-fns, Alpine.js).
[High] ECO-BACK-01 — Optimise SQL queries
File : api.js
Category : 7. Backend
RGESN : 7.x
Recommendation : Select only the columns you need, index the filtered columns, and avoid functions in WHERE clauses and N+1 queries.
[High] ECO-JS-01 — Whole-library import
File : api.js
Category : JS/TS — dependencies and weight
RGESN : 6.1, 6.2
Recommendation : Targeted imports (import { x } from 'lib/x'); native APIs first (fetch, Intl, URL, structuredClone, Date/Temporal) before adding a dependency.
3 ecodesign issue(s) found.
En pratique, pas besoin de lancer l'audit toi-même sur ce genre de code : en mode proactif, Claude évite lodash pour une seule fonction et SELECT * dès l'écriture, avant même qu'un audit ait lieu.
En 30 secondes
/plugin marketplace add Institut-du-Numerique-Responsable/green-claude
/plugin install green-claude@green-claude
Rien d'autre à faire : Claude Code charge le skill automatiquement dans les sessions suivantes et gère ses mises à jour. Tape /green-claude pour voir la checklist complète.
Alternative via install.sh, nécessaire pour câbler en plus les hooks (audit après écriture, cache local) :
git clone https://github.com/Institut-du-Numerique-Responsable/green-claude.git
cd green-claude && ./install.sh
Pour Claude.ai et l'API Skills, qui attendent une archive plutôt qu'un dépôt, scripts/package-skill.sh fabrique les deux zips attendus.
Ce que contient le projet
- Un skill Claude Code qui s'invoque tout seul dès qu'il s'agit d'écrire ou de revoir du code.
- 107 règles d'éco-conception couvrant les 9 familles du RGESN 2024, dont l'Algorithmie et l'IA frugale, reliées au GR491, avec des règles complémentaires sourcées du W3C Web Sustainability Guidelines et des seuils repris de YellowLabTools.
- 127 règles propres à un langage (Python, SQL, JavaScript/TypeScript, Java, C#, PHP, Ruby, Rust, C, C++), chargées seulement quand un fichier de ce langage est en jeu.
- 13 pratiques d’usage responsable maintenues par le projet, sans attribution personnelle non vérifiée.
- 30 règles de sobriété des tokens de l’INR (NR-TOK) pour les agents IA : réponses, contexte, opérations, choix du modèle, mesure et bilan de session.
- Des hooks optionnels, proposés à l'installation et jamais imposés : cadrage avant écriture, audit après chaque écriture de code, audit avant commit, cache local des questions autonomes préfixées
[cache], avertissement aux heures de pointe. - Un score de densité (
eco-score.sh) pour suivre l'évolution d'un dépôt dans le temps, et une intégration continue qui vérifie les règles à chaque contribution.
Pourquoi c'est important
Le code généré par l'IA va tourner pendant des années chez des utilisateurs qu'on ne verra jamais. C'est là que se joue l'essentiel de l'empreinte du « coder avec l'IA », pas pendant la session de génération. Green Claude s'attaque à ce moment précis, en s'appuyant sur des référentiels publics français et internationaux plutôt que sur des règles maison.
Ce que l'équipe décide, l'audit s'en souvient
Un candidat écarté une fois revient au tour suivant. Écarté six fois, il apprend à toute l'équipe à survoler l'audit, ce qui coûte plus cher que la règle ne rapporte. Deux fichiers versionnés à la racine du dépôt ferment la question : .green-claude/decisions.md pour ce qui a été tranché, où ACCEPTED fait taire une règle sur un fichier précis et TODO garde la dette visible, et .green-claude/ignore pour les fichiers hors périmètre, comme une suite de tests ou un corpus de règles qui contiennent du code fautif sans jamais l'exécuter. L'audit annonce combien de constats il a tus et où, donc rien ne disparaît sans trace.
Pourquoi un skill, pas une checklist
Une checklist RGESN en PDF dépend de la mémoire de qui l'a lue une fois, et personne ne la rouvre avant chaque ligne de code. Un skill Claude Code se charge à chaque session sans rappel, sélectionne les règles pertinentes pour ce qui s'écrit à l'instant plutôt que d'imposer les 250 règles à chaque échange, et vérifie le code déjà produit via un script déterministe. La checklist reste un document consulté ; le skill s'exécute dans la session de travail elle-même.
Reste que charger un skill est une décision du modèle. Pour les équipes qui veulent une vérification qui ne dépende de personne, le hook d'audit s'exécute après chaque écriture de fichier de code et renvoie ses trouvailles à Claude, qui corrige avant de continuer.