Borcioo/claude-skills

Cartographiez les fichiers d'un projet par types donnés en un seul appel, groupés par répertoire, avec optionnellement les classes/fonctions/exports de chaque fichier. À utiliser avant de lire des fichiers lorsque vous avez besoin de tous les fichiers d'un type (ex. tous les contrôleurs .php, toutes les sources .css/.scss) ou d'un aperçu de ce qu'un répertoire définit. Pour un nom de fichier connu ou un glob unique, utilisez plutôt Glob.

Qu'est-ce que claude-skills ?

Cette compétence permet d'obtenir une vue d'ensemble structurée du code source d'un projet en une seule opération, sans avoir à parcourir manuellement les répertoires. Elle est particulièrement utile pour les agents IA qui doivent rapidement comprendre la structure d'un projet, localiser tous les fichiers d'un type donné (par exemple, tous les contrôleurs PHP, tous les fichiers CSS/SCSS) ou obtenir un aperçu des symboles (classes, fonctions, exports) définis dans chaque fichier. La compétence fonctionne en exécutant un script fourni (codemap) qui lit l'arborescence de travail à jour à chaque appel et imprime une carte compacte et triée, sans jamais rien écrire sur le disque. Elle prend en charge de nombreuses options, telles que le filtrage par extension (`--ext`), la limitation à un répertoire (`--dir`), l'affichage des symboles (`--symbols`), une limite de lignes de sortie (`--max`), et l'exclusion de fichiers via une expression régulière (`--exclude`). Elle respecte les fichiers .gitignore et ignore les dossiers de dépendances (vendor, node_modules, les fichiers de build). Les symboles sont détectés via des motifs basés sur les lignes (classes PHP, fonctions, exports JS/TS, classes/définitions Python, types/fonctions Go, propriétés CSS personnalisées, mixins SCSS/Less), offrant une table des matières fonctionnelle, puis un agent peut lire directement le fichier pertinent.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Borcioo/claude-skills/tree/HEAD/experiments/codemap/skills/codemap

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

codemap

Exécutez le script fourni. Il lit l'arborescence de travail à jour à chaque appel et imprime une carte compacte et triée ; il n'écrit jamais rien.

${CLAUDE_SKILL_DIR}/scripts/codemap --ext php,blade.php --dir app
${CLAUDE_SKILL_DIR}/scripts/codemap --ext css,scss --symbols
${CLAUDE_SKILL_DIR}/scripts/codemap --ext ts,tsx --dir src --symbols --max 150

Options : --ext (séparé par des virgules, pas de points nécessaires), --dir, --symbols, --max (limite de lignes de sortie, défaut 300), --exclude REGEX (répétable).

La sortie ressemble à :

# codemap : 12 fichiers dans 3 répertoires (dir : app, ext : php, via rg)
Http/Controllers/
  UserController.php : class UserController, fn index, fn store

Quand l'utiliser

  • Vous avez besoin de tous les fichiers d'un ou plusieurs types et ne savez pas où ils se trouvent.
  • Vous êtes sur le point de lire plusieurs fichiers uniquement pour apprendre ce qu'ils définissent : exécutez d'abord avec --symbols et lisez uniquement les fichiers importants.
  • Un sous-agent commence à travailler dans une zone inconnue : passez-lui la codemap de ce répertoire au lieu de le laisser chercher à partir de zéro.

Quand ne pas l'utiliser

  • Vous connaissez le nom du fichier ou un motif précis : utilisez Glob.
  • Vous avez besoin du texte contenu dans les fichiers : utilisez Grep.
  • Vous avez besoin des définitions ou des références d'un symbole et un plugin LSP est activé : utilisez l'outil LSP.

Pièges

  • .gitignore est respecté lorsque ripgrep ou git est disponible ; vendor/, node_modules/, les sorties de build, les fichiers minifiés et les source maps sont toujours ignorés.
  • Les symboles proviennent de motifs basés sur les lignes, pas d'un analyseur syntaxique : classes/fonctions PHP de premier niveau, export JS/TS, class/def Python de premier niveau, type/func Go, propriétés CSS personnalisées (sous forme de compteur) et mixins SCSS/Less. Traitez-les comme une table des matières, puis lisez le fichier.
  • Lorsque la sortie se termine par # ... tronqué, réduisez avec --dir, --ext ou --exclude au lieu d'augmenter fortement --max.

Skills associés