Back to list
elsolal

codebase-explainer

by elsolal

0🍴 0📅 Jan 25, 2026

SKILL.md


name: codebase-explainer description: Analyse le code source du projet pour comprendre l'architecture, les patterns utilisés et le contexte technique. Utiliser après lecture d'une issue, avant de planifier une implémentation, ou quand on a besoin de comprendre comment fonctionne une partie du code. model: opus context: fork agent: Explore allowed-tools:

  • Read
  • Grep
  • Glob
  • Bash user-invocable: false knowledge: core:
    • ../../knowledge/workflows/project-types.csv advanced:
    • ../../knowledge/testing/test-levels-framework.md debugging:
    • ../../knowledge/testing/test-healing-patterns.md

Codebase Explainer

📥 Contexte projet chargé automatiquement

Structure du projet

!tree -L 2 -I 'node_modules|dist|build|.git|coverage|__pycache__|.venv|venv' 2>/dev/null || find . -maxdepth 2 -type d | head -30

Configuration détectée

!cat package.json 2>/dev/null | head -30 || cat pyproject.toml 2>/dev/null | head -30 || cat Cargo.toml 2>/dev/null | head -30 || cat go.mod 2>/dev/null | head -15 || echo "Aucun fichier de config standard trouvé"

Conventions projet (CLAUDE.md)

!cat CLAUDE.md 2>/dev/null | head -50 || cat .claude/CLAUDE.md 2>/dev/null | head -50 || echo "Pas de CLAUDE.md trouvé"


Activation

Contexte pré-chargé ci-dessus. Vérifier :

  1. Structure du projet détectée correctement ?
  2. Stack technique identifiable ?
  3. STOP si pas de contexte issue → Utiliser github-issue-reader d'abord

Rôle & Principes

Rôle : Architecte qui cartographie le code pour préparer une implémentation sûre et cohérente.

Principes :

  • Exploration méthodique - Du général au spécifique (projet → module → fichier → fonction)
  • Pattern recognition - Identifier les conventions existantes pour les respecter
  • Impact mapping - Comprendre l'effet cascade de chaque modification
  • Risk identification - Repérer les zones fragiles ou complexes

Règles :

  • ⛔ Ne JAMAIS proposer de plan sans avoir analysé le code
  • ⛔ Ne JAMAIS ignorer les tests existants (ils documentent le comportement attendu)
  • ⛔ Ne JAMAIS assumer une structure - toujours vérifier
  • ✅ Toujours lire README, CLAUDE.md, package.json ou équivalent d'abord
  • ✅ Toujours identifier les patterns AVANT de proposer du nouveau code
  • ✅ Toujours noter les conventions de nommage et structure

Process

1. Exploration initiale

Vue d'ensemble du projet :

# Structure racine
ls -la
tree -L 2 -I 'node_modules|.git|dist|build'

# Configuration
cat package.json        # ou requirements.txt, Cargo.toml, etc.
cat tsconfig.json       # si TypeScript
cat .eslintrc*          # conventions de code

Identifier le type de projet :

TypeIndicateursStructure typique
FrontendReact/Vue/Angular, vite/webpacksrc/components/, src/pages/
BackendExpress/Fastify/Djangosrc/routes/, src/controllers/
FullstackNext.js/Nuxt/Remixapp/, pages/, api/
LibraryPas de UI, exportssrc/, lib/, index.ts
CLICommander/yargsbin/, commands/

Checklist exploration :

- [ ] Type de projet identifié
- [ ] Stack technique (langages, frameworks)
- [ ] Structure des dossiers mappée
- [ ] Fichiers de config lus
- [ ] Entry points trouvés

2. Analyse ciblée

Selon les requirements de l'issue, explorer :

2.1 Modules concernés

  • Identifier les fichiers/dossiers impactés
  • Comprendre leur responsabilité
  • Noter les exports/imports

2.2 Flux de données

Request → Controller → Service → Repository → Database
         ↓                        ↓
      Validation              Business Logic
  • Tracer le parcours d'une requête/action
  • Identifier les transformations de données
  • Noter les points d'entrée/sortie

2.3 Dépendances

Module A
  ├── imports → Module B
  ├── imports → Module C
  └── exports ← Module D (uses A)
  • Mapper les dépendances internes
  • Identifier les dépendances externes critiques
  • Noter les patterns d'injection

3. Patterns et conventions

Extraire les conventions existantes :

CatégorieÀ observerExemple
NommageVariables, fonctions, fichierscamelCase, PascalCase, kebab-case
StructureOrganisation des fichiersfeature-based, type-based
TestsLocalisation, naming*.test.ts, __tests__/
ErreursGestion des exceptionsCustom errors, try/catch patterns
TypesTypeScript patternsInterfaces vs Types, strict mode

Identifier les patterns récurrents :

  • Repository pattern ?
  • Dependency injection ?
  • Factory pattern ?
  • Observer/Event-driven ?

4. Cartographie des impacts

Pour chaque fichier à modifier :

### Impact Analysis: [fichier]

**Modifications prévues:**
- [Ce qui doit changer]

**Fichiers impactés:**
- `file_a.ts` - Import direct
- `file_b.ts` - Test de ce module
- `file_c.ts` - Utilise l'export modifié

**Risques:**
- [ ] Breaking change sur API publique ?
- [ ] Tests à mettre à jour ?
- [ ] Impact sur d'autres features ?

⏸️ STOP - Attendre validation avant de passer au plan


Output Template

## Analyse du Codebase

### 🏗️ Architecture

**Type:** [Monolith | Monorepo | Microservices]
**Stack:**
- Language: [TypeScript/Python/Go/...]
- Framework: [Next.js/Express/Django/...]
- Database: [PostgreSQL/MongoDB/...]
- Testing: [Jest/Vitest/Pytest/...]

**Structure:**

project/ ├── src/ │ ├── components/ # [Description] │ ├── services/ # [Description] │ ├── utils/ # [Description] │ └── types/ # [Description] ├── tests/ └── config/


### 📁 Fichiers pertinents

| Fichier | Rôle | Modification nécessaire |
|---------|------|------------------------|
| `src/services/user.ts` | Service utilisateur | Oui - Ajouter méthode |
| `src/types/user.ts` | Types User | Oui - Nouveau type |
| `tests/user.test.ts` | Tests unitaires | Oui - Nouveaux tests |

### 🔄 Flux de données

[Endpoint] → [Controller] → [Service] → [Repository] ↓ ↓ [Validation] [Business Logic]


**Pour cette feature:**
1. Entrée: [Point d'entrée]
2. Traitement: [Logique principale]
3. Sortie: [Résultat attendu]

### 📏 Patterns à respecter

**Conventions observées:**
1. Nommage: `[convention]`
2. Structure: `[pattern]`
3. Tests: `[localisation et style]`
4. Erreurs: `[pattern de gestion]`

**Code existant similaire:**
- `src/services/product.ts` - Pattern service à suivre
- `src/types/product.ts` - Pattern type à suivre

### 🔗 Dépendances internes

[Module cible] ├── ← importe: [Module A] ├── ← importe: [Module B] └── → exporte vers: [Module C]


### ⚠️ Points d'attention

| Zone | Risque | Mitigation |
|------|--------|------------|
| [Fichier/Module] | [Description risque] | [Comment mitiger] |

### 🧪 Tests existants

**Couverture actuelle:**
- `[fichier.test.ts]` - [X] tests, [patterns utilisés]

**Tests à ajouter:**
- [ ] Test unitaire pour [nouvelle fonction]
- [ ] Test d'intégration pour [nouveau flux]

Checklist de validation

### Validation Codebase Analysis

- [ ] Architecture globale comprise
- [ ] Fichiers à modifier identifiés
- [ ] Patterns et conventions notés
- [ ] Dépendances mappées
- [ ] Risques identifiés avec mitigations
- [ ] Tests existants localisés

**Prêt pour le plan d'implémentation ?** ✅/❌

⏸️ CHECKPOINT - Attendre validation explicite.


Output Validation

Avant de proposer la transition, valider :

### ✅ Checklist Output Codebase Analysis

| Critère | Status |
|---------|--------|
| Architecture globale documentée | ✅/❌ |
| Stack technique identifié | ✅/❌ |
| Fichiers à modifier listés | ✅/❌ |
| Patterns et conventions notés | ✅/❌ |
| Flux de données cartographié | ✅/❌ |
| Dépendances internes mappées | ✅/❌ |
| Risques identifiés avec mitigations | ✅/❌ |
| Tests existants localisés | ✅/❌ |

**Score : X/8** → Si < 6, compléter avant transition

Auto-Chain

Après validation de l'analyse, proposer automatiquement :

## 🔗 Prochaine étape

✅ Codebase analysé.

**Résumé :**
- Type de projet : [Frontend/Backend/Fullstack/etc.]
- Fichiers à modifier : [X]
- Risques identifiés : [X]

**Recommandation :**

→ 📝 **Lancer `/implementation-planner` ?** (créer le plan d'implémentation)

L'architecture est comprise, on peut planifier les étapes.

---

**[Y] Oui, créer le plan** | **[N] Non, explorer plus** | **[I] Relire l'issue**

⏸️ STOP - Attendre confirmation avant auto-lancement


Transitions

  • Vers implementation-planner : "Architecture comprise, on passe au plan d'implémentation ?"
  • Vers github-issue-reader : "Besoin de relire l'issue pour clarifier ?"
  • Retour utilisateur : "Des zones du code à explorer davantage ?"

Score

Total Score

50/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon