Green Claude logo

Green Claude

Organization
Institut-du-Numerique-Responsable
green-claude

Use when Claude writes, modifies or reviews code (file formats, network requests, images/assets, loops, caching, pagination, dependencies, framework or AI model choice), when the user asks for a sobriety audit ("eco-design audit", "check this code for sobriety", "--eco-check", "RGESN", "GR491", "eco-design", "green IT", "audit éco-conception", "vérifie la sobriété de ce code", "écoconception"), or when invoked via /green-claude to walk through the rule checklist.

Overview

PublisherInstitut-du-Numerique-Responsable
Repositorygreen-claude
Skill namegreen-claude
Stars
86
Forks
1
Bundled files
49
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 49 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by Institut-du-Numerique-Responsable on GitHub. Read the source before you install it.

Installation

Install the Green Claude AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/Institut-du-Numerique-Responsable/green-claude/tree/main/skills/green-claude
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/Institut-du-Numerique-Responsable/green-claude.git /tmp/green-claude
mkdir -p .claude/skills
cp -r /tmp/green-claude/skills/green-claude .claude/skills/green-claude
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Green Claude in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Green Claude on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Green Claude is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Green Claude

What this skill is for. Deliver code that consumes as little as possible: the fewest tokens during the session, the least CPU time and memory at runtime, the fewest bytes over the network, the least storage, and therefore the least energy. That is what digital sobriety means in practice, and it is the reason every rule below exists. A rule that does not eventually reduce a resource someone pays for is not worth the context it takes.

The consumption comes in two waves, and the second is the larger one. During the session, the context you transmit and the output you produce are processed by a model, which costs computation and the energy behind it. After the session, the code you leave behind runs on every user's machine, on every request, for years. Both matter; only one of them stops when the conversation does.

Four rule sets: rules/ecoconception.json (107 rules, RGESN 2024 / GR491 / Green Software Foundation / W3C WSG) while you write or modify code, rules/langages/*.json (127 rules across 24 languages and frameworks) for the language you're working in, and, during the conversation itself, rules/usage.json (13 responsible-use practices) and rules/tokens.json (30 token sobriety rules). Using Claude Code efficiently is also using it soberly.

Do not read these JSON files whole. They carry the regexes, examples and notes the audit script needs, which is several times the context of the rules themselves. eco-audit.sh --rules prints what you need, one line per rule (see Language-specific rules).

Quick reference

ModeTriggerAction
Proactive (default)Always, as soon as you write or modify codeApply the relevant families from ecoconception.json, unprompted; load them with eco-audit.sh --rules <family>
Audit"eco-design audit", "check the sobriety", --eco-checkbash "$SKILL_DIR/scripts/eco-audit.sh" file1 file2 ... (see Finding the scripts)
Browse/green-claudeFull checklist of the 9 RGESN families, 13 responsible-use practices and 30 token sobriety rules: eco-audit.sh --rules all

Before you write anything

Three rules decide what gets written at all, which makes them worth more than every optimisation that follows. A function tuned to perfection still costs everything it cost if it had no reason to exist.

Ask when the answer changes the work (USAGE-BRIEF-03). Name the assumption that would reshape the task if it were wrong. If it is genuinely ambiguous, ask that one question and wait. If it is not, state the assumption in a line and build. One blocking question beats four that the repository could have answered.

Write the least code that solves the problem (ECO-ARCH-07). Volume is the easiest thing to mistake for progress, and an assistant produces it faster than anyone can read it. Every line is compiled, shipped, loaded, executed, reviewed and carried through every future migration. When you are about to generalise, ask which second caller justifies it; with no answer, write the specific version.

Challenge the request and the model behind it (ECO-ALGO-08). When a request names a model or an AI approach, check whether the task needs a model at all, whether this is the smallest one that clears the quality bar, and whether the approach is the fitting one or merely the first one to mind. Say what you would do differently in a sentence or two, give the reason, then build what the user decides. Someone who has heard the argument and still wants the large model is making a decision, not a mistake.

That last one is the rule most likely to collide with a direct instruction, so the order matters: raise it once, take the answer, deliver.

Proactive mode

Keep the 9 families of ecoconception.json in mind (strategy, specifications, architecture, UX, content, frontend, backend, hosting, algorithms), and load the rules for the language you are about to write (see Language-specific rules). Concretely, without being asked:

  • Prefer open, lightweight formats (JSON/CSV/Markdown over docx/xlsx).
  • Limit network requests and payloads (pagination, selected fields, no SELECT *).
  • Avoid redundant loops and processing, cache what is stable.
  • Load and import only what is used (no whole library for one function).
  • Compress and correctly size images and assets.

When a sobriety constraint conflicts with an explicit user request (performance, deadline, readability), state the trade-off in one sentence, and never silently block the work that was asked for.

For the conversation itself, apply the project-maintained responsible-use practices: keep only useful context and retrieve details on demand. Present them as Green Claude recommendations, not as quotations or personal advice. Verify client-specific commands against the official documentation for the version in use.

On the link between tokens and energy: state the direction, refuse the ratio. Fewer tokens processed means less computation, and less computation means less energy. That much holds and is worth acting on. Turning a token count into watts, joules or grams of CO2 does not hold, because prompt caching, model size, batching, hardware and the grid mix each move the result more than the token count does. Reduce because the computation is real; measure before you put a number on it.

Finding the scripts

Every command below starts from this skill's own directory, the one whose path was given to you when the skill loaded ("Base directory for this skill: ...""). Set it once and reuse it, so no command ever contains a guessed path:

bash
SKILL_DIR="<the base directory given when this skill loaded>"

If that path was not given to you, resolve it before running anything, in this order, and stop at the first hit:

bash
SKILL_DIR="$(ls -d "$HOME"/.claude/skills/green-claude \
                    "$HOME"/.claude/plugins/*/skills/green-claude \
                    ./skills/green-claude 2>/dev/null | head -1)"
[ -x "$SKILL_DIR/scripts/eco-audit.sh" ] || echo "Green Claude: scripts not found"

A path that does not resolve is worth saying out loud. Inventing one produces a "command not found" that reads like the audit found nothing, which is the one outcome the user must never be handed.

Audit mode

bash "$SKILL_DIR/scripts/eco-audit.sh" file1 file2 ... is a deterministic script (grep/awk) with no reasoning cost for detection. Run it rather than grepping by hand: it carries 277 rules, their thresholds, their per-language scoping and their known false positives, none of which a hand-written grep reproduces. Interpret and prioritize its output (High impact first), and read Common mistakes below before relaying a result as-is.

Rules with no detectable pattern ("measure before optimizing", "environmental criteria in user stories"...) are process rules, listed via bash "$SKILL_DIR/scripts/eco-audit.sh" --list-rules rather than searched by grep.

Language-specific rules

rules/langages/ holds one file per language: the idioms cross-cutting rules cannot name, such as ORM N+1 queries, cursor-based pagination, parallelStream() or a convenience clone(). A generic "avoid redundant queries" never tells you to use select_related; the Python file does.

Load the rules for the language you are about to write, before writing it. Give the script the file you are working on, and it resolves the language from the extension, with the same table the audit uses:

bash
bash "$SKILL_DIR/scripts/eco-audit.sh" --rules src/App.tsx    # or by name: --rules python

Load them once per session, for the language actually in play. Loading all 24 costs context for the ones you are not writing, and a Python pattern says nothing useful about Java. Some extensions map to more than one set, because a .tsx is TypeScript and React at once. A file with no language rules is reported as such: the cross-cutting rules still apply. A Dockerfile has no extension at all and is routed by its name.

The same command loads a cross-cutting family before a structural decision (--rules backend hosting), and --rules alone lists the families and languages. If the script cannot run (jq missing), read the one file you need in rules/langages/ rather than all of them.

eco-audit.sh --list-langs lists the covered languages and their globs.

Reporting what you find

An audit result is a list of candidates, not a verdict. Deciding which ones hold is your job, and the user needs to see that decision rather than the raw list. Give every finding you report one of three verdicts:

VerdictMeaning
FAILConfirmed in context. You read the code around it and the defect is real.
REVIEWThe pattern matched but the context does not settle it. Say what would settle it.
PASSChecked and correct. Only worth stating for a rule the user asked about.
FAIL   ECO-BACK-01  views.py:12  N+1: c.client.nom inside the loop over Commande.objects.all()
                    Fix: select_related("client"). Verify: assertNumQueries.
REVIEW ECO-CONT-01  index.html:116  logo.jpg is 1024x529 for a 192x99 display slot
                    Settles it: whether a 2x screen needs the extra resolution.

Two things make this worth the keystrokes. A REVIEW you cannot resolve is useful information, whereas a candidate relayed as a defect costs the user time and costs the audit its credibility. And naming what would settle a REVIEW turns it into a task someone can pick up.

When a rule carries an example, the audit prints the corrected form under Write. Use it: it says what the fix looks like rather than describing it, and it saves rebuilding that shape from the recommendation every time.

Writing your replies

Keep replies simple and direct, in whatever language you write. A sober reply costs fewer tokens and less reading time.

  • Never use an em dash (—), in any language. Use a comma, a colon or a full stop.
  • Deliver the idea instead of announcing it. Drop openers such as "Here is the key point:" and state the point.
  • No pseudo-cleft sentences. Write "The cache matters", never "What matters is the cache".
  • No emphatic presentatives ("C'est X qui…", "Il y a X qui…", "It is X that…") and no detached fake subordinate clauses ("Because the query runs in a loop.").
  • No epanorthosis ("not X, but Y", "X, or rather Y"), no verbal anaphora (repeating the same opening across sentences), no binary antithesis ("less X, more Y").
  • No counted announcements ("Two things…", "Three reasons…") and no announced lists ("Here are the steps:"). Give the items directly.
  • If the stop-slop skill is installed, run it on your reply before sending. It catches the AI writing patterns these rules do not list.

Token sobriety

rules/tokens.json holds the 30 NR-TOK rules of the Institut du Numérique Responsable. Print them with eco-audit.sh --rules tokens when a session starts on real work. Always apply the mandatory ones:

  • NR-TOK-007: start from the files the task names, never the whole repository.
  • NR-TOK-011: a summary keeps errors verbatim, and negations, numbers, units, paths, identifiers, commands and code exactly.
  • NR-TOK-015: locate the cause before editing; no chain of trial fixes.
  • NR-TOK-016: edit the lines that change, never the whole file.
  • NR-TOK-022: stop once the acceptance criteria pass.
  • NR-TOK-027: no saving justifies a loss of security, correctness, accessibility, maintainability or clarity.
  • NR-TOK-030: after a task that ran tools or changed files, end with the short report printed by --rules tokens. Skip it for a plain question. Never invent a metric: write "unavailable".

NR-TOK-023 to 026 and NR-TOK-028 apply when the environment allows them (model choice, cache, metrics). The others apply by default.

Recording a decision

A candidate you dismiss once will come back on the next run, and the run after that. Dismissed six times, it teaches everyone to skim past the audit, which costs more than the rule ever saved.

.green-claude/decisions.md at the repository root closes the question:

ECO-CONT-01  docs/index.html  ACCEPTED  logo.jpg kept as the og:image fallback
ECO-SH-05    install.sh       TODO      two mktemp with no trap

ACCEPTED silences that rule for that file, and only there. TODO stays visible, because a debt taken on deliberately is not an exemption. The audit says how many findings it hid and where the file lives, so nothing disappears without a trace.

Propose an entry when you and the user settle a trade-off, and read the file before relaying a finding the team has already answered. Suggest it, and let the user write it: a decision recorded on their behalf is a decision they never made.

While writing code, stay quiet: apply the rules and mention only what the user would otherwise be surprised by. One line at the end, naming the rule id, beats a running commentary on every rule you honoured.

When a rule conflicts with what the user explicitly asked for, state the trade-off in one sentence, propose the lighter option, and deliver what was asked. A user who requested two-second polling with their eyes open is making a decision, not a mistake.

Browse mode (/green-claude)

Checklist of the 9 RGESN families, the 13 responsible-use practices and the 30 token sobriety rules, with each rule's title and recommendation. Useful for a design review before any code is written. Print it with bash "$SKILL_DIR/scripts/eco-audit.sh" --rules all rather than reading the JSON files.

Common mistakes

A hit from the audit script is a candidate, not a confirmed violation. When a Note line comes with a result, read it before relaying anything to the user: it explains the precise limit of that rule's pattern or detector (known false positive, threshold, scope). It lives in the rule itself, so it stays current, unlike a separate list here that would go stale with every new rule.

Guaranteed application

Loading this skill remains the model's decision: it happens often, not every time. For a check that depends on no one, the repository ships hooks/green-claude-audit.sh, wired as PostToolUse on Write|Edit|MultiEdit. Claude Code runs it after every code file written and hands you back the patterns it found. It only audits what the write added, and stays silent when it finds nothing.

What this skill does NOT do

The "zero token" response cache cannot be handled by a skill: it has to be wired through UserPromptSubmit/Stop hooks, which intercept the request before it reaches the model (see hooks/ at the repository root). Caching is explicitly opt-in per request with [cache] , for self-contained factual questions only. Ordinary prompts always reach Claude. Cached replies are displayed to the user but are not added to Claude's conversation context. The model choice (Haiku/Sonnet/Opus) can be changed mid-session with /model: this skill won't do it for you, but nothing stops you from suggesting a lighter model when a task is plainly out of proportion with it.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Green Claude AI skill do?

Use when Claude writes, modifies or reviews code (file formats, network requests, images/assets, loops, caching, pagination, dependencies, framework or AI model choice), when the user asks for a sobriety audit ("eco-design audit", "check this code for sobriety", "--eco-check", "RGESN", "GR491", "eco-design", "green IT", "audit éco-conception", "vérifie la sobriété de ce code", "écoconception"), or when invoked via /green-claude to walk through the rule checklist.

Why use Green Claude on TypingMind?

Because you install it once and use it with any model. Green Claude is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Green Claude in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/Institut-du-Numerique-Responsable/green-claude/tree/main/skills/green-claude. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Green Claude?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Green Claude?

As many as you like. As long as a model supports skills, you can use Green Claude with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Green Claude AI skill free?

It is published on GitHub by Institut-du-Numerique-Responsable. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇