L'écart entre un utilisateur occasionnel de Claude Code et un utilisateur avancé est considérable, selon un guide technique publié par Arpan Patel. Le document détaille comment le terminal d'Anthropic peut être configuré en profondeur pour fonctionner comme un agent autonome avec garde-fous, mémoire persistante et commandes personnalisées.

Principes de base

Le guide insiste sur un principe central, attribué à Boris Cherny et à l'équipe d'Anthropic : donner à Claude un moyen de vérifier son propre travail. Sans cela, l'utilisateur est la seule boucle de rétroaction ; avec cette capacité, l'outil itère jusqu'à obtenir un résultat fonctionnel, ce qui améliorerait la qualité de 2 à 3 fois.

Plusieurs schémas de travail sont recommandés. Le mode plan (accessible avec deux fois la touche Maj+Tab) place Claude en lecture seule : il lit les fichiers, trace les flux et comprend le modèle de données avant d'exécuter. Ce mode est réservé aux modifications touchant plus d'un fichier. Pour les corrections mineures, le plan est inutile.

Une méthode avancée consiste à faire rédiger un plan par un premier Claude, puis à en confier la relecture à un second Claude dans une session vierge, sans biais de contexte, afin de détecter les lacunes. Si l'implémentation dévie, il est recommandé de revenir au mode plan et de le refaire en intégrant des étapes de vérification.

Le guide préconise aussi de référencer les fichiers exacts plutôt que de les décrire : au lieu de « regarde le module d'authentification », taper @src/auth/login.py ; au lieu de coller une erreur, la rediriger via cat error.log | claude. Un contexte exact surpasse toujours une description approximative.

Cat Wu, membre de l'équipe Claude Code, est citée : « Le modèle donne les meilleurs résultats si vous le traitez comme un ingénieur à qui vous déléguez, et non comme un pair programmeur que vous guidez ligne par ligne. »

La hiérarchie des fichiers de configuration

Le guide explique que le dossier .claude/ est en réalité un système de configuration en couches. Deux niveaux de portée existent : la portée projet, dans le dossier .claude/ du dépôt, partagée via git ; et la portée globale, dans ~/.claude/, qui s'applique à tous les projets.

Les fichiers sont détaillés avec leur utilité : CLAUDE.md (instructions chargées à chaque session, partagé), CLAUDE.local.md (notes personnelles, non versionné), settings.json (permissions, hooks, variables d'environnement, modèles par défaut), settings.local.json (surcharges personnelles, auto-gitignoré), .mcp.json (serveurs MCP partagés), skills/<nom>/SKILL.md (prompts réutilisables invoqués avec /nom), commands/*.md (commandes de slash monofichier), agents/*.md (définitions de sous-agents) et rules/*.md (instructions thématiques optionnellement limitées à un chemin).

Plusieurs points sont souvent méconnus : les fichiers CLAUDE.md se cumulent dans un monorepo (un fichier racine et un fichier dans chaque service se chargent simultanément). Les rules/*.md sont limitées par chemin : une règle sur les migrations va dans .claude/rules/migrations.md avec un glob, pas dans CLAUDE.md.

La recommandation est de privilégier les compétences (skills) plutôt que les commandes (commands), car les skills acceptent des fichiers de support supplémentaires et des réglages d'outils.

Rédaction de CLAUDE.md

Le fichier CLAUDE.md est chargé au début de chaque session. Boris Cherny insiste sur deux points : le garder court, car les fichiers longs noient les règles importantes ; pour chaque ligne, se demander si sa suppression ferait commettre une erreur à Claude. Ensuite, ne pas décrire ce que Claude doit faire, mais comment il doit le faire – les règles de style, les conventions, les dépendances.

Le guide présente l'exemple réel du fichier CLAUDE.md utilisé par l'équipe Claude Code, en insistant sur la clarté et la concision. Plusieurs fichiers publics sont référencés comme modèles à étudier.

CLAUDE.local.md comme quotidien

Le fichier CLAUDE.local.md est explicitement destiné à un usage personnel : notes de session, remarques locales, préférences de commandes. Il n'est pas partagé via git, ce qui permet d'y inscrire des instructions propres à son poste de travail sans polluer le dépôt.

Compétences (Skills) en détail

Une compétence (skill) est un répertoire dans .claude/skills/<nom>/ contenant un fichier SKILL.md. Elle se déclenche avec /nom. Contrairement aux commandes, elle peut inclure des fichiers auxiliaires, des modèles, des vérifications. Le guide détaille l'écriture d'une compétence réelle pour les conventions d'API Go, et liste des compétences populaires à installer.

Construction de sous-agents personnalisés

Les sous-agents, définis dans .claude/agents/*.md, sont des profils spécialisés. Le guide présente un agent /pr-review (pour la revue de code) et un agent test-writer, avec leur structure détaillée. Il recommande de consulter les sous-agents publics comme sources d'inspiration.

Plugins et marché

Une section est consacrée aux plugins et au marketplace, mais sans détail technique précis dans les sources fournies.

Commandes Claude Code méconnues

La commande /goal est présentée comme une boucle de rétroaction intégrée, attribuée à Ralph. Elle permet de définir un objectif et de laisser Claude itérer jusqu'à l'atteindre.

Les MCP comme outils de puissance

Le protocole MCP (Model Context Protocol) permet des extensions puissantes. Le guide décrit un flux de travail réel avec Obsidian, où Claude peut lire et écrire dans un coffre de notes via des serveurs MCP.

Optimisation du flux quotidien

Plusieurs conseils pratiques sont donnés : utiliser la commande claude project purge pour nettoyer l'état local d'un projet ; presser Ctrl+G pour éditer le plan de Claude avant exécution. Enfin, l'habitude la plus importante selon Boris Cherny : quand Claude commet une erreur, terminer l'invite par « Mets à jour CLAUDE.md pour que tu ne répètes pas cela. » Claude serait « étrangement bon pour écrire des règles pour lui-même » à partir de ses propres échecs.

Ressources et notes de clôture

Le guide se termine par une liste de ressources et des notes de clôture, encourageant les utilisateurs à voir Claude Code comme un agent programmable et non comme un chatbot.