EN DIRECT
Sparks Fly: NVIDIA Accelerates Local AI at IFA 202603/09/26 · NVIDIA|Introducing WeatherNext 3, our most advanced and accurate global weather AI model03/09/26 · Google|Claude outage – Resolved03/09/26 · Anthropic|NeoMME: an efficient Multimodal-native and Multilingual Encoder03/09/26 · Hugging Face|‘NBA 2K27’ With NVIDIA DLSS 5 Leads 28 New Games Coming to GeForce NOW03/09/26 · NVIDIA|NVIDIA to Acquire Hugging Face03/09/26 · NVIDIA|Training a coding model to paint watercolours with TRL and OpenEnv03/09/26 · Hugging Face|Fine-tuning a 350M Model for Better Structured Outputs in 100 GRPO Steps03/09/26 · Hugging Face|Give Your Coding Agents a Memory You Own03/09/26 · Hugging Face|Muse Spark 1.302/09/26|GRADSOLVE: fast exact gradients for ODE ensembles on GPUs02/09/26 · NVIDIA|Proactive cyber defense for governments and enterprises02/09/26 · Google|Sparks Fly: NVIDIA Accelerates Local AI at IFA 202603/09/26 · NVIDIA|Introducing WeatherNext 3, our most advanced and accurate global weather AI model03/09/26 · Google|Claude outage – Resolved03/09/26 · Anthropic|NeoMME: an efficient Multimodal-native and Multilingual Encoder03/09/26 · Hugging Face|‘NBA 2K27’ With NVIDIA DLSS 5 Leads 28 New Games Coming to GeForce NOW03/09/26 · NVIDIA|NVIDIA to Acquire Hugging Face03/09/26 · NVIDIA|Training a coding model to paint watercolours with TRL and OpenEnv03/09/26 · Hugging Face|Fine-tuning a 350M Model for Better Structured Outputs in 100 GRPO Steps03/09/26 · Hugging Face|Give Your Coding Agents a Memory You Own03/09/26 · Hugging Face|Muse Spark 1.302/09/26|GRADSOLVE: fast exact gradients for ODE ensembles on GPUs02/09/26 · NVIDIA|Proactive cyber defense for governments and enterprises02/09/26 · Google|
AvancéNouveau⌨️

CCA-F Domaine 3 — Claude Code Configuration & Workflows (20 %) : la leçon complète

Le domaine le plus factuel de la certification : hiérarchie des CLAUDE.md, @import, .claude/rules/ à globs, commandes vs skills (context: fork, allowed-tools, argument-hint), plan mode vs exécution directe, raffinement itératif, et Claude Code en CI/CD (-p, --output-format json, --json-schema). Schémas, pièges, checklist de la veille, questions-scénario corrigées.

34 min de lecturePublié le 4 septembre 2026 · aujourd'hui

Le domaine 3 pèse 20 % — environ 12 questions sur 60 — et c'est de loin le plus factuel des cinq : la plupart des questions ont une réponse exacte qui se vérifie dans la documentation de Claude Code. Où va un fichier, quel flag active quoi, quelle portée est partagée par le contrôle de version. C'est aussi pour ça qu'il rapporte le plus de points par heure de révision : on ne te demande pas de juger, on te demande de savoir. Les candidats qui y perdent des points confondent presque toujours deux portées (utilisateur vs projet) ou deux mécanismes proches (commande vs skill, CLAUDE.md de répertoire vs règle à glob).

Cette leçon suit les 6 task statements du guide officiel v1.0 (juillet 2026). Les scénarios d'examen qui tirent sur ce domaine sont Code Generation with Claude Code (scénario 2), Developer Productivity (scénario 4) et Claude Code for Continuous Integration (scénario 5).

Où se situe cette leçon. Troisième des cinq leçons domaine par domaine de notre guide complet de la CCA-F, après le Domaine 2 — Tool Design & MCP. Vérifié le 4 septembre 2026 sur le guide d'examen officiel v1.0. Prérequis : avoir utilisé Claude Code au moins une fois sur un vrai dépôt.

La carte du domaine

Les six task statements se rangent en deux groupes : configurer (3.1 CLAUDE.md, 3.2 commandes et skills, 3.3 règles par chemin) et travailler (3.4 plan mode, 3.5 raffinement, 3.6 CI/CD). Le premier groupe est pur fait ; le second demande un jugement de proportion.

Les 6 task statements du domaine 3
CONFIGURER — table de correspondance 3.1 · CLAUDE.md user / projet / répertoire · @import .claude/rules/ · /memory 3.2 · Commandes & skills .claude/commands/ vs ~/.claude/commands/ SKILL.md : context: fork · allowed-tools · argument-hint 3.3 · Règles par chemin .claude/rules/*.md + paths: [globs] chargé seulement sur fichiers correspondants TRAVAILLER — règle de proportion 3.4 · Plan mode vs direct large, multi-fichiers, architecture → plan délimité, un fichier → direct · Explore 3.5 · Raffinement itératif exemples E/S · tests d'abord · interview un message si interactions, sinon séquentiel 3.6 · CI/CD -p · --output-format json · --json-schema CLAUDE.md contexte · instance de revue indépendante
Le groupe 'configurer' se révise comme une table de correspondance : quel fichier, quelle portée, quel frontmatter. Le groupe 'travailler' se révise comme le domaine 1 : quel mécanisme pour quelle situation, avec une règle de proportion.

3.1 — CLAUDE.md : hiérarchie, portée, modularité

CLAUDE.md est le fichier d'instructions que Claude Code charge automatiquement. Tout le task statement tourne autour d'une question : qui voit quoi, et depuis où.

Les trois niveaux de CLAUDE.md et leur portée
Utilisateur ~/.claude/CLAUDE.md • Préférences personnelles • Tous mes projets • JAMAIS partagé (hors dépôt) Un coéquipier ne le voit pas Projet CLAUDE.md (racine) ou .claude/CLAUDE.md • Standards d'équipe, conventions • Versionné → clone = configuré • Le bon endroit pour l'équipe Ce que teste « un nouvel arrivant » Répertoire packages/api/CLAUDE.md • Conventions d'un sous-dossier • Lié à son emplacement • Aveugle aux fichiers ailleurs Pour du dispersé → .claude/rules/ Garder le projet modulaire @import CLAUDE.md du package : @docs/standards/api-conventions.md @docs/standards/error-handling.md Chaque package n'importe que ce qui le concerne .claude/rules/ testing.md · api-conventions.md deployment.md · security.md (+ paths: pour un chargement conditionnel, §3.3) Alternative à un CLAUDE.md monolithique /memory : affiche quels fichiers mémoire sont chargés — premier réflexe de diagnostic
Le niveau utilisateur n'est jamais partagé : un coéquipier qui clone le dépôt ne le voit pas. Le niveau projet est versionné et s'applique à tout le monde. Le niveau répertoire ne s'applique qu'aux fichiers sous ce dossier. @import et .claude/rules/ permettent de garder chaque fichier court et thématique.

Ce qu'il faut savoir

Trois niveaux. Utilisateur : ~/.claude/CLAUDE.md, s'applique à tous les projets de cet utilisateur, n'est pas partagé par le contrôle de version. Projet : CLAUDE.md à la racine ou .claude/CLAUDE.md, versionné, s'applique à toute l'équipe. Répertoire : un CLAUDE.md dans un sous-dossier, qui ne concerne que ce qu'il y a dessous.

Le diagnostic classique. « Un nouveau membre de l'équipe ne reçoit pas les instructions que les autres ont. » Cause attendue : les instructions sont au niveau utilisateur (chez chacun des anciens) et non au niveau projet. La correction est de les déplacer dans le CLAUDE.md du projet. Même logique que .mcp.json vs ~/.claude.json au domaine 2.

@import. Syntaxe pour référencer un fichier externe depuis un CLAUDE.md, afin de le garder court. Usage attendu : dans un monorepo, le CLAUDE.md de chaque package importe sélectivement les fichiers de standards qui le concernent, choisis par les mainteneurs qui connaissent le domaine.

.claude/rules/. Répertoire de fichiers de règles thématiques (testing.md, api-conventions.md, deployment.md) comme alternative à un CLAUDE.md monolithique. Avec un frontmatter paths:, ils deviennent conditionnels (§3.3).

/memory. Commande qui affiche quels fichiers mémoire sont effectivement chargés. C'est le premier réflexe quand le comportement est incohérent d'une session à l'autre : vérifier ce qui est réellement chargé avant de réécrire quoi que ce soit.

<!-- packages/api/CLAUDE.md — niveau répertoire, importe uniquement les standards pertinents -->
# API package

@../../docs/standards/api-conventions.md
@../../docs/standards/error-handling.md

Handlers en async/await, erreurs via `AppError`, jamais de `console.log` en production.
Le piège 3.1. « Ajouter les instructions au ~/.claude/CLAUDE.md de chaque développeur » ou « les envoyer par message à l'équipe » : les deux contournent le contrôle de version, la réponse attendue est le niveau projet. Autre piège : proposer un CLAUDE.md par sous-dossier pour des conventions qui concernent des fichiers dispersés (tests à côté de leur code partout dans l'arbre) — c'est la question 6 du guide, et la réponse est .claude/rules/ avec un glob (§3.3).
📁
Le réflexe 3.1
Ne le voit qu'une personne → niveau utilisateur, à déplacer au niveau projet. Trop long → @import ou .claude/rules/. Comportement incohérent → /memory d'abord.

3.2 — Commandes et skills : où, et avec quel frontmatter

Deux mécanismes d'invocation à la demande, chacun avec une portée projet et une portée personnelle. L'examen teste la portée et les trois options de frontmatter des skills.

Commandes vs skills, portée projet vs personnelle
Projet · partagé via git Personnel · hors dépôt Commande /review, /deploy… .claude/commands/review.md clone/pull → dispo pour toute l'équipe ~/.claude/commands/review.md moi seulement, tous mes projets Skill dossier + SKILL.md .claude/skills/analyze-codebase/ SKILL.md + fichiers annexes partagée par l'équipe variante perso → autre NOM dans ~/.claude/skills/ ~/.claude/skills/my-analyze/ variante personnelle nom différent = pas d'impact équipe Frontmatter SKILL.md — les trois options testées context: fork → sous-agent isolé, la sortie verbeuse ne pollue pas la session allowed-tools → restreint les outils pendant la skill · argument-hint → invite à saisir les paramètres
Une commande slash est un prompt réutilisable. Une skill est un dossier avec SKILL.md dont le frontmatter contrôle l'isolement (context: fork), les outils autorisés (allowed-tools) et l'aide à l'invocation (argument-hint). Dans les deux cas, le répertoire .claude/ du projet est partagé, le répertoire ~/.claude/ est personnel.

Ce qu'il faut savoir

Commandes. .claude/commands/<nom>.md dans le dépôt : partagée, disponible à tout développeur qui clone ou pull (question 4 du guide). ~/.claude/commands/<nom>.md : personnelle. Ni CLAUDE.md ni un hypothétique .claude/config.json avec un tableau commands — ce dernier n'existe pas et sert de distracteur.

Skills. .claude/skills/<nom>/SKILL.md, avec un frontmatter YAML. Trois options à connaître :

  • context: fork — la skill s'exécute dans un sous-agent au contexte isolé ; sa sortie ne pollue pas la conversation principale. Cas d'usage : une analyse de codebase verbeuse, un brainstorm d'alternatives exploratoire.
  • allowed-tools — restreint les outils accessibles pendant l'exécution de la skill (par exemple, limiter aux écritures de fichiers pour empêcher une action destructive via Bash).
  • argument-hint — texte affiché pour inviter le développeur à fournir les paramètres attendus quand il invoque la skill sans arguments.

Variante personnelle. Pour personnaliser une skill d'équipe sans affecter les autres, on crée une variante dans ~/.claude/skills/ sous un autre nom. Modifier la skill partagée impacte tout le monde.

Skill vs CLAUDE.md. Une skill est invoquée à la demande pour un workflow précis. CLAUDE.md est toujours chargé : standards universels, conventions permanentes. Si la question dit « à chaque session, sans que personne ne le demande », c'est CLAUDE.md ; si elle dit « quand un développeur lance la tâche X », c'est une skill.

<!-- .claude/skills/analyze-codebase/SKILL.md -->
---
name: analyze-codebase
description: Cartographie un module, liste points d'entrée, dépendances et zones à risque.
context: fork
allowed-tools: [Read, Grep, Glob]
argument-hint: "<chemin du module> [--depth N]"
---

Analyse le module fourni. Renvoie UNIQUEMENT un résumé structuré :
points d'entrée, dépendances externes, zones à fort couplage, tests existants.
<!-- .claude/commands/review.md — commande d'équipe, versionnée -->
Relis les changements en cours selon la checklist d'équipe :
sécurité (injections, secrets), gestion d'erreurs, tests couvrant les branches, lisibilité.
Format : fichier · ligne · sévérité · problème · correction proposée.
Le piège 3.2. Quatre confusions fréquentes. Mettre une commande d'équipe dans ~/.claude/commands/ (personnel). Mettre une définition de commande dans CLAUDE.md (c'est pour les instructions, pas les commandes). Modifier la skill partagée pour un besoin perso (impact équipe) au lieu de créer une variante nommée autrement. Et confondre context: fork (isolement de contexte) avec allowed-tools (restriction d'outils) : le premier protège la conversation, le second protège le système.

3.3 — Règles par chemin : le chargement conditionnel

C'est la question 6 du guide officiel, et l'un des items les plus discriminants du domaine. Un codebase avec des conventions différentes par zone (composants React, handlers API, modèles de données), et des fichiers de test dispersés partout à côté du code qu'ils testent. Comment appliquer automatiquement la bonne convention ?

Règle à glob vs CLAUDE.md de répertoire
✗ CLAUDE.md par répertoire src/components/CLAUDE.md Button.tsx · Button.test.tsx ✓ src/api/CLAUDE.md users.ts · users.test.ts ✓ src/models/… (pas de CLAUDE.md) User.test.ts ✗ convention de test absente lib/utils/… (pas de CLAUDE.md) format.test.ts ✗ convention absente Il faudrait un CLAUDE.md dans CHAQUE dossier et dupliquer la convention de test partout ✓ .claude/rules/ + paths: [glob] testing.md paths: ["**/*.test.tsx", "**/*.test.ts"] → tous les tests, où qu'ils soient api-conventions.md paths: ["src/api/**/*"] → async/await, gestion d'erreurs API terraform.md paths: ["terraform/**/*"] → chargé seulement en éditant du Terraform Chargement conditionnel = moins de tokens inutiles Le test : les fichiers concernés sont-ils regroupés (→ répertoire) ou dispersés par TYPE (→ glob) ?
Un CLAUDE.md de répertoire est lié à son emplacement : il ne voit que les fichiers en dessous. Une règle dans .claude/rules/ avec paths: [glob] s'applique à tout fichier correspondant, où qu'il soit dans l'arbre — et ne se charge que quand on édite un tel fichier, ce qui économise du contexte.

Ce qu'il faut savoir

Le mécanisme. Un fichier dans .claude/rules/ avec un frontmatter YAML contenant paths: et une liste de globs. La règle ne se charge que lorsque Claude édite un fichier correspondant.

Deux bénéfices. Un fonctionnel : la convention s'applique par type de fichier, quel que soit l'emplacement (**/*.test.tsx attrape tous les tests). Un économique : le contexte non pertinent n'est pas chargé, ce qui réduit les tokens.

Quand choisir le glob plutôt que le répertoire. Dès que les fichiers concernés sont dispersés dans plusieurs dossiers. Un CLAUDE.md de répertoire reste valable pour un périmètre réellement délimité par un dossier.

Pourquoi pas les autres options de la question 6. Tout consolider dans le CLAUDE.md racine « en laissant Claude déduire quelle section s'applique » : repose sur l'inférence, pas sur un matching explicite. Des skills par type de code : nécessitent une invocation, contredisent le « automatiquement ».

<!-- .claude/rules/testing.md -->
---
paths: ["**/*.test.tsx", "**/*.test.ts", "**/__tests__/**"]
---

Tests avec Vitest. Un `describe` par fonction publique. Cas nominal, cas limites, erreurs.
Pas de mocks de la base : utiliser les fixtures de `test/fixtures/`.
Nommer : `it("returns X when Y")`.
Le piège 3.3. Le distracteur le plus tentant est « un CLAUDE.md par sous-dossier » — ça marche pour une zone, ça ne marche pas pour un type de fichier dispersé. Repère les mots spread throughout, alongside, regardless of location : ils désignent le glob. Et attention à la syntaxe : c'est paths: en frontmatter YAML, pas un commentaire dans le corps.
🧭
Le réflexe 3.3
Dispersé par type → .claude/rules/*.md avec paths: [glob]. Regroupé dans un dossier → CLAUDE.md de répertoire. Universel → CLAUDE.md projet.

3.4 — Plan mode ou exécution directe

Question 5 du guide : restructurer un monolithe en microservices, des dizaines de fichiers, des décisions de frontières de services. Réponse : plan mode d'abord. La difficulté n'est pas cette question-là, c'est de reconnaître les cas où le plan mode est inutile.

Plan mode vs exécution directe : le test de complexité
Périmètre clair ? Une seule approche valable ? Peu de fichiers ? oui Exécution directe bug avec stack trace clair ajout d'une validation non Plan mode monolithe → microservices migration 45+ fichiers Le pattern complet sur une tâche complexe 1 · Plan mode explorer, comparer, concevoir Explore (sous-agent) découverte verbeuse → résumé 2 · Exécution directe implémenter le plan validé Explore renvoie un résumé au contexte principal : la lecture de 200 fichiers ne le sature pas Distracteur : « commencer en direct et passer en plan si ça se complique » — la complexité est déjà dans l'énoncé
Le plan mode sert à explorer et concevoir avant de toucher au code, quand l'erreur coûte cher. L'exécution directe sert quand le périmètre est clair et le changement local. Le sous-agent Explore isole la découverte verbeuse pour préserver le contexte principal. Le pattern complet : plan pour investiguer, direct pour implémenter.

Ce qu'il faut savoir

Plan mode. Pour les tâches à changements larges, plusieurs approches valables, décisions d'architecture, modifications multi-fichiers. Il permet d'explorer le codebase et de concevoir avant de s'engager, ce qui évite un rework coûteux. Exemples du guide : restructuration en microservices, migration de bibliothèque touchant 45+ fichiers, choix entre deux approches d'intégration aux besoins d'infrastructure différents.

Exécution directe. Pour un changement simple et bien délimité : un correctif dans un fichier avec une stack trace claire, l'ajout d'une condition de validation de date.

Le sous-agent Explore. Pendant les phases de découverte verbeuses (lire des dizaines de fichiers), il isole la sortie et ne renvoie qu'un résumé au contexte principal, ce qui évite l'épuisement de la fenêtre sur les tâches multi-phases.

La combinaison. Plan mode pour l'investigation et la conception, puis exécution directe pour l'implémentation de l'approche planifiée.

Le piège 3.4. Deux distracteurs symétriques. « Commencer en direct, laisser l'implémentation révéler les frontières » : rework garanti quand les dépendances apparaissent tard. « Commencer en direct, passer en plan mode seulement si ça se complique » : la complexité est déjà dans l'énoncé (dizaines de fichiers, décisions de frontières). Et le troisième : « exécution directe avec des instructions exhaustives d'emblée » présuppose qu'on connaît déjà la bonne structure sans avoir exploré.

3.5 — Raffinement itératif : faire converger Claude Code

Section plus « méthode » que « configuration ». Quatre techniques, et surtout la règle pour décider entre un message groupé et des itérations séquentielles.

Quatre techniques de raffinement et leur déclencheur

 SymptômeTechnique attendue
Exemples E/SLa description en prose est interprétée de façon inconsistante2-3 exemples concrets entrée → sortie attendue
Tests d'abordLe code « marche » mais rate des cas limites ou des perfsÉcrire la suite de tests (nominal, limites, perf), puis itérer en partageant les échecs
Pattern interviewDomaine peu familier, considérations non anticipées (invalidation de cache, modes de défaillance)Demander à Claude de poser ses questions AVANT d'implémenter
Cas de test cibléUn cas limite précis échoue (null dans une migration)Fournir l'entrée exacte et la sortie attendue pour ce cas
Groupé vs séquentielPlusieurs problèmes à corrigerUn seul message détaillé s'ils INTERAGISSENT ; séquentiel s'ils sont indépendants

Ce qu'il faut savoir

Exemples entrée/sortie. Le moyen le plus efficace de communiquer une transformation attendue quand la prose est interprétée de façon inconsistante. Deux ou trois exemples concrets valent mieux qu'un paragraphe de description.

Itération pilotée par les tests. Écrire d'abord la suite de tests couvrant le comportement attendu, les cas limites et les exigences de performance ; puis itérer en partageant les échecs de tests, qui guident la correction de façon précise.

Le pattern interview. Avant d'implémenter dans un domaine peu familier, demander à Claude de poser des questions pour faire émerger les considérations que le développeur n'avait pas anticipées : stratégie d'invalidation de cache, modes de défaillance, contraintes de cohérence.

Groupé ou séquentiel. Si les problèmes interagissent (corriger l'un change la solution de l'autre), on les décrit tous dans un seul message détaillé pour que la solution soit cohérente. S'ils sont indépendants, on les traite l'un après l'autre.

Le piège 3.5. « Réécrire la description en prose de façon plus détaillée » quand la prose a déjà échoué : la réponse attendue est l'exemple concret. Et sur le groupement : traiter séquentiellement des problèmes qui interagissent produit des correctifs qui se contredisent ; grouper des problèmes indépendants noie le signal. Le mot-clé dans l'énoncé est interacting / interdépendants.

3.6 — Claude Code en CI/CD

Le scénario 5 (revue automatisée de PR, génération de tests) repose sur cette section. Elle contient l'item le plus « gratuit » de l'examen — le flag -p — et l'un des plus subtils — la relecture par une instance indépendante.

Claude Code dans un pipeline CI : les briques
PR ouverte diff + fichiers claude -p "…" --output-format json --json-schema review.schema.json non interactif · sortie parsable JSON validé findings[] · severity Commentaires inline sur la PR CLAUDE.md — le contexte que le CI ne devine pas • Critères de revue : quoi signaler, quoi ignorer • Standards de test, fixtures disponibles, ce qui a de la valeur • → moins de faux positifs, moins de tests sans valeur Contexte à injecter pour éviter les doublons • Relecture après nouveaux commits : les findings précédents → « ne remonter que le nouveau ou le non résolu » • Génération de tests : les tests existants → pas de doublon Isolement de session : qui relit ? L'instance qui a généré le code garde son raisonnement en contexte et remet peu en cause ses propres choix. Une instance INDÉPENDANTE, sans ce contexte, attrape les problèmes subtils que l'auto-revue rate.
Sans -p, Claude Code attend une saisie interactive et le job pend. --output-format json avec --json-schema produit des résultats structurés que le pipeline peut poster en commentaires de PR. CLAUDE.md fournit les standards de revue et de test. L'instance qui relit n'est pas celle qui a généré.

Ce qu'il faut savoir

-p / --print. Mode non interactif : Claude Code traite le prompt, écrit sur stdout et sort. Sans ce flag, le job attend une saisie et pend indéfiniment (question 10 du guide). Les distracteurs sont des fonctionnalités inexistantes (CLAUDE_HEADLESS=true, --batch) ou des bricolages Unix (< /dev/null).

--output-format json et --json-schema. Pour produire des résultats structurés et validés, exploitables par le pipeline : poster chaque finding comme commentaire inline sur la PR, filtrer par sévérité, compter.

CLAUDE.md comme contexte du CI. Standards de test, conventions de fixtures, critères de revue : c'est là que le CI apprend ce qui compte pour l'équipe. Documenter les standards de test et les fixtures disponibles réduit directement les tests de faible valeur générés.

Éviter les doublons. Sur une relecture après de nouveaux commits, on inclut les findings précédents en contexte avec l'instruction de ne remonter que le nouveau ou le non résolu. Pour la génération de tests, on fournit les fichiers de tests existants pour ne pas proposer des scénarios déjà couverts.

L'isolement de session. Une session qui a généré du code est moins efficace pour relire ses propres changements qu'une instance indépendante : elle conserve son raisonnement et tend à ne pas remettre en cause ses décisions. Pour la revue, on lance une instance fraîche sans le contexte de génération (thème repris au domaine 4, revue multi-instances).

# Étape CI : revue non interactive, sortie structurée, contexte des findings précédents
claude -p "Relis cette PR selon les critères de CLAUDE.md. \
Findings précédents (ne remonter que le nouveau ou le non résolu) : $(cat prev-findings.json)" \
  --output-format json \
  --json-schema review.schema.json \
  > findings.json

# Le pipeline parse findings.json et poste des commentaires inline
jq -c '.findings[] | select(.severity != "info")' findings.json | while read f; do
  post_pr_comment "$f"
done
{
  "type": "object",
  "properties": {
    "findings": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "file": {"type": "string"},
          "line": {"type": "integer"},
          "severity": {"type": "string", "enum": ["critical", "high", "medium", "low", "info"]},
          "issue": {"type": "string"},
          "suggested_fix": {"type": "string"},
          "detected_pattern": {"type": "string"}
        },
        "required": ["file", "line", "severity", "issue"]
      }
    }
  },
  "required": ["findings"]
}
Le piège 3.6. Sur le job qui pend : toute option autre que -p / --print est un distracteur (variable d'environnement inventée, flag inventé, redirection stdin). Sur la revue : « demander à la même session de relire son code avec une instruction d'auto-critique renforcée » ou « activer le raisonnement étendu pour l'auto-revue » ne remplacent pas une instance indépendante. Sur les doublons : « réduire la fréquence des relectures » n'est pas la réponse — c'est l'injection des findings précédents.
⚙️
Le réflexe 3.6
Pend → -p. Parsable → --output-format json + --json-schema. Trop de bruit → critères et standards dans CLAUDE.md. Doublons → findings précédents / tests existants en contexte. Relecture → instance indépendante.

Les pièges transversaux du domaine 3

Grille de lecture d'une question du domaine 3
La paire en jeu Le mot qui tranche Réponse utilisateur vs projet « partagé », « clone », « nouvel arrivant » niveau projet, versionné répertoire vs glob « dispersé », « regardless of location » .claude/rules/ + paths skill vs CLAUDE.md « à la demande » vs « toujours » skill / CLAUDE.md plan mode vs direct « dizaines de fichiers », « architecture » plan mode (puis direct) groupé vs séquentiel « interagissent » vs « indépendants » un message / séquentiel même session vs instance indépendante « relire ses propres changements » instance indépendante Règle d'or : les fonctionnalités inventées (--batch, CLAUDE_HEADLESS, config.json commands) sont toujours des distracteurs
Le domaine 3 se joue sur des paires : deux portées, deux mécanismes, deux modes. Identifie la paire en jeu, puis le mot de l'énoncé qui tranche.
  1. Partagé = versionné = projet. Tout ce qui doit atteindre un coéquipier via git clone vit sous .claude/ ou à la racine du dépôt. Tout ce qui est sous ~/ est personnel.
  2. Le matching explicite bat l'inférence. Une règle à glob s'applique par construction ; « Claude déduira la bonne section » ne s'applique que par chance.
  3. La complexité annoncée ne se découvre pas. Si l'énoncé décrit une tâche large, on planifie d'emblée.
  4. Les fonctionnalités inventées sont des distracteurs. --batch, CLAUDE_HEADLESS, un tableau commands dans config.json : n'existent pas.

Checklist de la veille

À relire la veille de l'examen — domaine 3
- ~/.claude/CLAUDE.md = utilisateur, jamais partagé ; CLAUDE.md racine ou .claude/CLAUDE.md = projet, versionné ; sous-dossier = répertoire, lié à l'emplacement. - Nouvel arrivant sans instructions → elles sont au niveau utilisateur, à déplacer au niveau projet. - @import pour référencer des fichiers de standards et garder CLAUDE.md modulaire. - .claude/rules/*.md = règles thématiques ; avec paths: [globs] = chargement conditionnel. - /memory pour voir ce qui est chargé — premier réflexe de diagnostic. - Commandes : .claude/commands/ (projet) vs ~/.claude/commands/ (perso) ; jamais dans CLAUDE.md, jamais config.json. - Skills : .claude/skills/<nom>/SKILL.md ; context: fork (isolement), allowed-tools (restriction), argument-hint (paramètres). - Variante perso d'une skill d'équipe → ~/.claude/skills/ sous un autre nom. - Skill = à la demande, CLAUDE.md = toujours chargé. - Fichiers dispersés par type → règle à glob (**/*.test.tsx), pas CLAUDE.md par dossier. - Plan mode : large, multi-fichiers, architecture, plusieurs approches. Direct : délimité, un fichier, stack trace claire. - Explore : isole la découverte verbeuse, renvoie un résumé. - Combiner : plan pour investiguer, direct pour implémenter. - Prose inconsistante → 2-3 exemples E/S. Cas limites → tests d'abord. Domaine inconnu → interview. - Problèmes qui interagissent → un message ; indépendants → séquentiel. - CI : -p / --print sinon le job pend ; --output-format json + --json-schema. - CLAUDE.md = critères de revue, standards de test, fixtures. - Doublons → findings précédents / tests existants en contexte. - Relecture → instance indépendante, pas la session qui a généré.

Cinq questions-scénario originales, corrigées

Questions écrites par nAIvigate dans l'esprit de l'examen, sans reproduction d'items réels.

Question 1 — Scénario code generation. Trois développeurs seniors obtiennent des revues conformes aux conventions d'équipe ; le stagiaire arrivé hier obtient des revues génériques. Les conventions sont dans le ~/.claude/CLAUDE.md de chacun des seniors. Correction ?

A. Envoyer le fichier au stagiaire pour qu'il le copie dans son ~/.claude/. B. Déplacer les conventions dans le CLAUDE.md à la racine du dépôt, versionné. C. Créer une skill /conventions que chacun invoque en début de session. D. Ajouter les conventions dans .mcp.json.

📚Correction Q1

B. Instructions d'équipe → niveau projet, partagé par le contrôle de version. A ne passe pas à l'échelle et se désynchronise. C impose une invocation manuelle pour des standards universels (c'est le rôle de CLAUDE.md). D confond configuration MCP et instructions.

Question 2 — Scénario productivité. Une skill d'analyse de codebase produit 4 000 lignes de sortie qui saturent la conversation principale, et elle a un jour supprimé un fichier via Bash. Quel frontmatter ?

A. context: fork et allowed-tools: [Read, Grep, Glob]. B. argument-hint et allowed-tools: [Bash]. C. context: fork seulement. D. Déplacer la skill dans ~/.claude/skills/.

📚Correction Q2

A. Deux problèmes, deux options : context: fork isole la sortie verbeuse dans un sous-agent ; allowed-tools sans Bash empêche l'action destructive. C ne traite que la moitié. B et D sont hors sujet.

Question 3 — Scénario code generation. Les conventions Terraform doivent s'appliquer aux fichiers .tf présents dans infra/, modules/ et envs/prod/. Approche la plus maintenable ?

A. Un CLAUDE.md dans chacun des trois dossiers. B. Un fichier .claude/rules/terraform.md avec paths: ["**/*.tf"]. C. Tout dans le CLAUDE.md racine sous un titre « Terraform ». D. Une skill /terraform à invoquer avant chaque édition.

📚Correction Q3

B. Fichiers dispersés par type → règle à glob, chargée uniquement en éditant du .tf. A duplique et rate le prochain dossier. C repose sur l'inférence. D contredit l'application automatique.

Question 4 — Scénario CI. Le job de revue génère les mêmes 12 commentaires à chaque push sur la PR, y compris pour des points déjà corrigés. Correction ?

A. Ne lancer la revue qu'à l'ouverture de la PR. B. Inclure les findings précédents dans le prompt avec l'instruction de ne remonter que le nouveau ou le non résolu. C. Passer en --output-format text. D. Demander à Claude d'être « plus concis ».

📚Correction Q4

B. Le pattern attendu est l'injection des findings précédents. A supprime la relecture des correctifs. C dégrade la parsabilité. D est probabiliste et ne traite pas la cause.

Question 5 — Scénario CI. Le pipeline génère du code avec Claude Code puis lui demande, dans la même session, de relire ce code « avec un œil très critique ». Les revues ne relèvent presque jamais de problème. Que faire ?

A. Activer le raisonnement étendu pour la phase de revue. B. Renforcer l'instruction d'auto-critique. C. Lancer la revue dans une instance indépendante, sans le contexte de génération. D. Faire trois relectures dans la même session et fusionner.

📚Correction Q5

C. Une session qui a généré conserve son raisonnement et remet peu en cause ses choix ; l'isolement de session est la réponse. A et B restent dans la même session. D triple le biais au lieu de le supprimer.

Quiz de validation

🧠 Quiz
Question 1 sur 8

Où placer une commande /review disponible pour toute l'équipe au clone du dépôt ?

📚Lexique du domaine 3 (déroulez)

CLAUDE.md — Fichier d'instructions chargé automatiquement par Claude Code ; existe aux niveaux utilisateur, projet et répertoire.

Niveau utilisateur~/.claude/CLAUDE.md : s'applique à tous les projets de l'utilisateur, jamais partagé par le contrôle de version.

Niveau projetCLAUDE.md à la racine ou .claude/CLAUDE.md : versionné, partagé par l'équipe.

Niveau répertoireCLAUDE.md dans un sous-dossier : ne s'applique qu'aux fichiers en dessous.

@import — Syntaxe pour référencer un fichier externe depuis CLAUDE.md et le garder modulaire.

.claude/rules/ — Répertoire de fichiers de règles thématiques ; alternative à un CLAUDE.md monolithique.

paths (frontmatter) — Liste de globs dans un fichier de .claude/rules/ ; la règle ne se charge que sur les fichiers correspondants.

/memory — Commande affichant les fichiers mémoire chargés ; premier outil de diagnostic.

Commande slash — Prompt réutilisable : .claude/commands/ (projet) ou ~/.claude/commands/ (perso).

Skill — Dossier .claude/skills/<nom>/ avec SKILL.md et frontmatter ; invoquée à la demande.

context: fork — Option de frontmatter exécutant la skill dans un sous-agent isolé.

allowed-tools — Option de frontmatter restreignant les outils utilisables pendant la skill.

argument-hint — Option de frontmatter affichant une invite de paramètres quand la skill est invoquée sans arguments.

Variante personnelle — Copie d'une skill d'équipe dans ~/.claude/skills/ sous un autre nom, pour ne pas affecter les autres.

Plan mode — Mode d'exploration et de conception avant modification, pour les tâches larges ou à décisions d'architecture.

Exécution directe — Mode par défaut pour les changements simples et bien délimités.

Explore (sous-agent) — Sous-agent isolant la découverte verbeuse et renvoyant un résumé au contexte principal.

Exemples entrée/sortie — Technique de raffinement : 2-3 cas concrets quand la prose est interprétée inconsistamment.

Itération pilotée par les tests — Écrire les tests d'abord, puis itérer en partageant les échecs.

Pattern interview — Demander à Claude de poser des questions avant d'implémenter, pour faire émerger les considérations non anticipées.

-p / --print — Flag de mode non interactif pour les pipelines ; sans lui le job pend.

--output-format json — Sortie JSON parsable par le pipeline.

--json-schema — Schéma imposé à la sortie JSON pour des findings structurés.

Isolement de session — Principe selon lequel une instance indépendante relit mieux que la session qui a généré.

Pour aller plus loin

La suite est le Domaine 4 — Prompt Engineering & Structured Output (20 %), qui approfondit les critères de revue explicites, le few-shot, la sortie structurée via tool_use et la revue multi-instances évoquée ici. Pour un panorama d'outils réels de l'écosystème Claude Code et MCP, notre fiche 40 outils Claude Code / MCP est mise à jour en continu.

Si tu veux certifier une équipe entière — ou mettre Claude Code en place proprement sur un vrai dépôt (hiérarchie CLAUDE.md, règles, skills, pipeline CI avec revue indépendante) — c'est ce que nAIvigate Studio fait en Sprint.

Tags
certificationclaudeccacca-fclaude-codeci-cdskillsmcpagentsformationsdk
⚡ FICHE #005Skills & MCP : la fiche qui référence tout le parcours2 MIN

À lire ensuite