Économie de tokens et anti-cascades. Read/Grep ciblés, fichiers déjà en contexte non relus, Bash avec exit 0, sorties compactes, seuil 70% contexte, subagents pour explorations lourdes, write strategy (sauver en externe), observation masking (élider les outputs anciens).
From codebloomnpx claudepluginhub vendeesign/codebloom --plugin codebloomThis skill uses the workspace's default tool permissions.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Le contexte est une ressource finie (200k tokens). Les tool outputs representent ~84% de l'usage. Chaque Read, chaque Bash consomme du budget. Ce skill guide l'economie a chaque etape.
CLAUDE.md est charge automatiquement comme instructions projet -- ne JAMAIS le relire avec Read| Besoin | Mauvais (tokens++) | Bon (tokens--) |
|---|---|---|
| Trouver une version | Read CHANGELOG.md (260 lignes) | Grep "## \\[" CHANGELOG.md (10 lignes) |
| Verifier une config | Read package.json (100 lignes) | Grep "version|name" package.json (2 lignes) |
| Chercher un pattern | Read fichier.ts (500 lignes) | Grep "functionName" fichier.ts (5 lignes) |
| Localiser un fichier | Read de plusieurs fichiers | Glob "**/*.test.ts" (liste de chemins) |
Regle : si tu as besoin de < 20% du fichier, utilise Grep. Read entier seulement si tu as besoin de comprendre la structure complete.
; exit 0Un Bash qui echoue dans un batch parallele annule TOUS les autres appels du batch (cascade).
# MAL -- si gh absent, cascade sur tout le batch
gh issue list --limit 5
# BIEN -- jamais d'erreur, resultat vide si echec
gh issue list --limit 5 2>/dev/null; exit 0
Regle : toute commande qui peut echouer (reseau, outil optionnel, fichier absent) → 2>/dev/null; exit 0.
# MAL -- si .continue-here.md absent, cascade
Read(TODO.md) + Read(.continue-here.md) + Bash(git status)
# BIEN -- fichier optionnel via Bash
Read(TODO.md) + Bash(cat .continue-here.md 2>/dev/null; exit 0) + Bash(git status)
Regle : Read uniquement sur les fichiers qui existent a coup sur. Fichier incertain → Bash(cat ... 2>/dev/null; exit 0) ou Glob d'abord.
Quand le contexte depasse ~140k tokens (70% de 200k), appliquer des mesures plus agressives :
| Action | Normal | Mode economie (>70%) |
|---|---|---|
| Explorer du code | Read fichiers | Subagent Explore (contexte isole) |
| Recherche large | Grep + Read | Agent en fond (resultat resume) |
| Fichier > 200 lignes | Read entier | Read avec offset/limit sur la zone cible |
| Plan d'implementation | Texte en conversation | Ecrire dans plans/ (hors contexte) |
Les subagents ont leur propre contexte isole. Utiliser un Agent pour :
Le subagent renvoie un resume compact → economie nette.
Quand une analyse, recherche ou exploration produit un resultat volumineux (> 5k tokens) qui sera reutilise plus tard :
plans/, notes/, ou /tmp) plutot que garder en contexteRegle : si le resultat ne sert pas dans les 2-3 prochains messages, le sortir du contexte.
Les tool outputs (Read, Bash, Grep) representent ~84% du contexte consomme. Apres 3+ tours, un output verbeux n'est plus utile tel quel.
Strategie :
Ne jamais elider :
Regle : si tu as besoin d'info d'un output ancien, c'est un Grep cible sur le fichier source -- pas une relecture de l'output en contexte.
Le modele accorde plus d'attention au debut et a la fin du contexte (effet "lost-in-middle"). En pratique :
Les sorties de commandes representent une part massive des tokens consommes. Utiliser les versions compactes par defaut.
| Besoin | Verbeux (tokens++) | Lean (tokens--) |
|---|---|---|
| Etat du repo | git status | git status -s |
| Changements | git diff | git diff --stat d'abord, puis git diff [fichier] cible |
| Historique | git log | git log --oneline -20 |
| Dernier commit | git log -1 | git log --oneline -1 |
| Branches | git branch -a | git branch --list (locales) |
| Diff d'une PR | git diff main...HEAD | git diff --stat main...HEAD d'abord |
| Besoin | Verbeux (tokens++) | Lean (tokens--) |
|---|---|---|
| Installer deps | npm install | npm install --silent |
| Installer deps | pnpm install | pnpm install --silent |
| Installer deps | pip install -r req.txt | pip install -q -r req.txt |
| Installer deps | composer install | composer install -q |
| Audit | npm audit | npm audit --json | node -e "..." (parser les criticals) |
| Besoin | Verbeux (tokens++) | Lean (tokens--) |
|---|---|---|
| Lancer les tests | pytest | pytest -q --tb=short |
| Lancer les tests | vitest run | vitest run --reporter=dot |
| Lancer les tests | go test ./... | go test -short ./... |
| Lancer les tests | phpunit | phpunit --no-progress --compact |
| Un seul test | pytest tests/ | pytest tests/test_x.py::test_name -q |
| Besoin | Verbeux (tokens++) | Lean (tokens--) |
|---|---|---|
| Build | npm run build | npm run build --silent |
| TypeScript | tsc | tsc --noEmit --pretty false |
| ESLint | eslint . | eslint . --format compact |
| Prettier check | prettier --check . | prettier --check . --log-level warn |
| Besoin | Verbeux (tokens++) | Lean (tokens--) |
|---|---|---|
| Containers | docker ps | docker ps --format "table {{.Names}}\t{{.Status}}" |
| Images | docker images | docker images --format "{{.Repository}}:{{.Tag}}\t{{.Size}}" |
| Pods | kubectl get pods | kubectl get pods --no-headers |
| Logs | docker logs [id] | docker logs --tail 50 [id] |
Pour toute commande susceptible de produire une sortie longue (> 100 lignes) :
| head -100 pour les debuts| tail -50 pour les fins (logs, erreurs)2>&1 | head -100 pour capturer stderr aussiRegle : si la sortie depasse 100 lignes, il y a probablement une version lean de la commande. La chercher avant de tronquer.
| Anti-pattern | Impact | Alternative |
|---|---|---|
| Lire CLAUDE.md avec Read | +5-10k tokens gaspilles | Deja en contexte |
| Read entier pour chercher un mot | +2-8k tokens | Grep cible |
Bash sans ; exit 0 en parallele | Cascade = tous les appels annules | Toujours ; exit 0 |
| Read sur fichier peut-etre absent | Cascade si absent | Bash cat ou Glob |
| Tout faire en conversation principale | Contexte sature en 15min | Subagents pour les taches lourdes |
| Relire un fichier deja lu | Doublon pur | Se fier au contexte existant |
| 4+ rounds sequentiels | Lent + tokens | Tout paralleliser en 2 rounds |
git status sans -s | +500 tokens de bruit | git status -s |
git diff complet d'emblee | +2-10k tokens | git diff --stat d'abord, cibler ensuite |
npm install sans --silent | +200 lignes de logs | npm install --silent |
pytest sans -q | +300 lignes de dots | pytest -q --tb=short |
| Commande a sortie longue sans troncature | Contexte sature | | head -100 ou version lean |