💻 Développement

dev-chrome-devtools-debugger

Débogage et automatisation de navigateur via Chrome DevTools MCP. Inspecter des pages, analyser les performances, surveiller le réseau et automatiser des interactions.

⚡ Installation & lancement en 1 commande

Copiez-collez dans votre terminal : le skill s'installe dans ~/.claude/skills et Claude Code se lance directement dessus.

macOS / Linux
curl -fsSL https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.sh | sh -s -- dev-chrome-devtools-debugger --launch
Windows (PowerShell)
iex "& { $(iwr -useb https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.ps1) } dev-chrome-devtools-debugger -Launch"

🚀 Déjà installé ?

claude "/dev-chrome-devtools-debugger"

Ou tapez /dev-chrome-devtools-debugger dans une session Claude Code, ou décrivez simplement votre besoin — le skill se déclenche automatiquement via le skill-router.

🔑 Déclencheurs automatiques

Le skill s'active automatiquement quand votre demande contient :

devtoolsdebug navigateurinspecter la pageperformances webrequêtes réseauconsole chrome

📦 Installation manuelle

git clone https://github.com/khalilbenaz/claude-skills-collection.git cp -r claude-skills-collection/skills/dev-chrome-devtools-debugger ~/.claude/skills/

Payload du plugin : skills/dev-chrome-devtools-debugger · source éditable : dev-skills/chrome-devtools-debugger

📖 Manuel

Débogueur Chrome DevTools

Workflow général (ordre obligatoire)

Naviguer → Attendre chargement → Inspecter (snapshot) → Agir → Vérifier
  1. Naviguer vers la page cible (navigate avec URL complète incluant le protocole).
  2. Attendre que la page soit stable (réseau idle, DOMContentLoaded).
  3. Lister les pages disponibles si plusieurs onglets, sélectionner le bon targetId.
  4. Snapshot de la structure (arbre d'accessibilité) — donne les identifiants uniques pour les interactions.
  5. Agir selon le besoin : clic, saisie, scroll, exécution JS.
  6. Vérifier le résultat : snapshot diff, console, capture si visuel requis.

Scénarios courants

1. Erreurs JavaScript

naviguer → snapshot → getConsoleMessages → evalScript
// Exemples copiables dans evalScript
document.querySelectorAll('[data-error]').length
window.__reactFiber !== undefined  // détecter React
performance.getEntriesByType('resource').filter(r => r.duration > 1000)

2. Problèmes réseau

naviguer → getNetworkRequests → filtrer → analyser

Filtres prioritaires :

SymptômeFiltre à appliquer
Page blanche / données manquantesstatus >= 400
Lenteurduration > 2000ms
Erreur CORSblocked: true, header Access-Control-Allow-Origin absent
CSP violationmessages console de type Content Security Policy
Waterfall lentrequêtes séquentielles au lieu de parallèles

Snippet de diagnostic réseau via evalScript :

// Ressources lentes (> 1s)
performance.getEntriesByType('resource')
  .filter(r => r.duration > 1000)
  .map(r => ({ name: r.name, duration: Math.round(r.duration) }))

3. Analyse de performance

naviguer → startTrace → déclencher l'action → stopTrace → analyser

Points à identifier dans la trace :

Snippet pour identifier le layout thrashing :

// Propriétés qui forcent un reflow
const reflow_props = ['offsetHeight','offsetWidth','clientHeight',
  'scrollTop','getBoundingClientRect']
// Chercher dans le code source les lectures de ces props dans une boucle

4. Automatisation d'interactions

snapshot → récupérer nodeId → click/type/scroll → snapshot de vérification

Règles d'or pour les interactions fiables :


Critères de décision : quel outil utiliser

BesoinOutilRaison
Trouver un élément pour interagirsnapshotRetourne les nodeId uniques, léger
Vérification visuelle (rendu, layout)screenshotSeul moyen de voir le rendu réel
Données hors arbre d'accessibilitéevalScriptAccès direct au DOM/window
Analyser erreurs runtimegetConsoleMessagesMessages filtrables par niveau
Diagnostiquer la lenteur réseaugetNetworkRequestsTiming, status, headers
Mesurer perf (LCP, TTI, FPS)startTrace / stopTraceProfil complet du thread principal

Garde-fous et anti-patterns

Ne jamais faire

Pièges fréquents

PiègeSymptômeSolution
SPA (React/Vue/Angular)snapshot vide ou partielAttendre l'hydratation ; chercher [data-reactroot] ou #app
iframeséléments introuvablesChanger de targetId sur l'iframe
Shadow DOMnodeId absentevalScript avec shadowRoot.querySelectorAll
Auth / cookiesredirections inattenduesVérifier cookies via evalScript(document.cookie) avant navigation
HTTPS self-signedpage blanchePasser --ignore-certificate-errors au démarrage de Chrome

Bonnes pratiques 2026