Claude-skill-registry implementation-planner

Crée un plan d'implémentation détaillé basé sur les requirements et l'analyse du code. Utiliser après l'étape Explain, quand on a besoin de structurer le travail de développement, ou avant de commencer à coder.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/implementation-planner" ~/.claude/skills/majiayu000-claude-skill-registry-implementation-planner && rm -rf "$T"
manifest: skills/data/implementation-planner/SKILL.md
source content

Implementation Planner

📥 Contexte à charger

Au démarrage, rassembler les inputs pour créer le plan.

ContextePattern/ActionPriorité
PRD actif
Glob: docs/planning/prd/*.md
Optionnel
Architecture
Glob: docs/planning/architecture/*.md
Optionnel
Stories liées
Glob: docs/stories/*/STORY-*.md
Optionnel
Analyse codebase
Glob: docs/planning/codebase-analysis-*.md
Read
(50 lignes)
Recommandé

Instructions de chargement

  1. Utiliser
    Glob
    pour lister les documents de planning existants
  2. Charger l'analyse codebase si disponible (output de codebase-explainer)
  3. Vérifier les requirements (de github-issue-reader)
  4. STOP si analyse manquante → utiliser
    codebase-explainer
    d'abord

Activation

Avant de créer un plan :

  1. Vérifier que l'analyse du code existe (output de codebase-explainer)
  2. Avoir les requirements clairs (output de github-issue-reader)
  3. Connaître les contraintes (temps, budget, tech)
  4. STOP si analyse manquante → Utiliser
    codebase-explainer
    d'abord

Rôle & Principes

Rôle : Tech Lead qui transforme une analyse en plan d'action clair, séquencé et réaliste.

Principes :

  • Atomic steps - Chaque étape est indépendante et vérifiable
  • Fail fast - Commencer par les parties risquées pour détecter les blocages tôt
  • Test-first thinking - Prévoir les tests AVANT le code (même si ATDD pas actif)
  • Conservative estimates - Préférer surestimer que sous-estimer
  • Dependency awareness - Séquencer selon les dépendances réelles

Règles :

  • ⛔ Ne JAMAIS planifier sans analyse préalable du code
  • ⛔ Ne JAMAIS faire d'étapes > 30 minutes (trop gros = découper)
  • ⛔ Ne JAMAIS ignorer les risques identifiés
  • ✅ Toujours inclure validation lint/types après chaque étape code
  • ✅ Toujours prévoir les tests (unitaires + intégration si besoin)
  • ✅ Toujours lister les risques avec mitigations

Process

1. Synthèse des inputs

Collecter et vérifier :

- [ ] Requirements (de github-issue-reader)
- [ ] Architecture (de codebase-explainer)
- [ ] Patterns à respecter
- [ ] Fichiers à modifier
- [ ] Risques identifiés

Questions de clarification :

  • Scope clairement défini ?
  • Dépendances externes bloquantes ?
  • Contraintes de temps ?
  • Mode ATDD (tests first) demandé ?

2. Création des Tasks (OBLIGATOIRE si 2+ étapes)

Règle de déclenchement :

Nombre d'étapesAction
1 étapePas de Task (spinner natif suffit)
2+ étapes
TaskCreate
pour chaque étape

Pourquoi utiliser les Tasks :

  • Visualiser la progression en temps réel
  • Reprendre en cas d'interruption (timeout, crash)
  • Coordonner le travail multi-sessions
  • Documenter le travail effectué

Format TaskCreate :

// Pour chaque étape du plan :
TaskCreate({
  subject: "Étape N: [Titre court impératif]",
  description: `
    **Objectif:** [Ce que cette étape accomplit]
    **Fichiers:** [Liste des fichiers à modifier]
    **Validation:** [Commandes de vérification]
    **Dépendances:** [Étapes préalables]
  `,
  activeForm: "[Action]ing [objet]..."  // Ex: "Creating user types..."
})

Exemple concret :

TaskCreate({
  subject: "Étape 1: Créer les types User",
  description: `
    **Objectif:** Définir les interfaces TypeScript pour User
    **Fichiers:** src/types/user.ts (Create)
    **Validation:** npm run typecheck
    **Dépendances:** Aucune
  `,
  activeForm: "Creating User types..."
})

TaskCreate({
  subject: "Étape 2: Implémenter UserService",
  description: `
    **Objectif:** Service CRUD pour les utilisateurs
    **Fichiers:** src/services/user.service.ts (Create)
    **Validation:** npm run lint && npm run typecheck
    **Dépendances:** Étape 1
  `,
  activeForm: "Implementing UserService..."
})

Configurer les dépendances entre Tasks :

// Après création, lier les dépendances
TaskUpdate({
  taskId: "2",
  addBlockedBy: ["1"]  // Étape 2 bloquée par Étape 1
})

⚠️ IMPORTANT : Créer TOUTES les Tasks AVANT de commencer l'implémentation. Cela permet à l'utilisateur de voir le plan complet et de valider.


4. Décomposition

Stratégie de découpage :

GranularitéDurée maxExemple
Micro15 minCréer un type, ajouter un import
Small30 minImplémenter une fonction
Medium1hCréer un composant complet

Principes de séquençage :

  1. Foundation first - Types, interfaces, contrats
  2. Core logic - Business logic sans UI
  3. Integration - Connexion des modules
  4. UI/Presentation - Si applicable
  5. Tests - Unitaires puis intégration
  6. Review - 3 passes obligatoires

Pattern de découpage :

Feature X
├── Étape 1: Types/Interfaces (foundation)
├── Étape 2: Service/Logic (core)
├── Étape 3: Controller/Handler (integration)
├── Étape 4: Tests unitaires
├── Étape 5: Tests intégration
└── Étape 6: Review (×3)

5. Estimation de complexité

Matrice de complexité :

FacteurSimple (S)Medium (M)Large (L)
Fichiers1-23-56+
Dépendances0-12-34+
Tests requisUnit only+ Integration+ E2E
RisqueLowMediumHigh

Estimation par étape :

  • S = 15-30 min
  • M = 30-60 min
  • L = Découper en S/M

6. Identification des risques

Catégories de risques :

TypeIndicateursMitigation
TechniqueNouvelle lib, API inconnueSpike/POC d'abord
IntégrationMulti-modules, side effectsTests d'intégration early
PerformanceGrosses données, loopsBenchmark, profiling
SécuritéAuth, données sensiblesReview sécurité

Format risque :

### Risque: [Nom]
**Impact:** High/Medium/Low
**Probabilité:** High/Medium/Low
**Mitigation:** [Action spécifique]
**Plan B:** [Si mitigation échoue]

7. Critères de validation

Pour chaque étape, définir :

  • Comment vérifier que c'est fait ?
  • Quel test prouve le bon fonctionnement ?
  • Quelles commandes exécuter ?

Checklist standard :

# Après chaque étape code
npm run lint        # 0 errors
npm run typecheck   # 0 errors
npm run test        # Pass

⏸️ STOP - Présenter le plan pour validation


Output Template

## Plan d'Implémentation: [Feature Name]

### 📋 Résumé

**Issue:** #[NUM] - [Titre]
**Complexité globale:** S/M/L
**Estimation totale:** [X]h
**Mode:** Standard | ATDD (tests first)
**Tasks créées:** [X] (IDs: #1, #2, ...)

### ✅ Checklist rapide

- [ ] Étape 1: [Nom court]
- [ ] Étape 2: [Nom court]
- [ ] Étape 3: [Nom court]
- [ ] Tests unitaires
- [ ] Tests intégration
- [ ] Review #1 (Correctness)
- [ ] Review #2 (Readability)
- [ ] Review #3 (Performance)

---

### 📝 Détail des étapes

#### Étape 1: [Titre descriptif]

**Objectif:** [Ce que cette étape accomplit]

**Fichiers:**
- `path/to/file.ts` - [Action: Create/Modify/Delete]

**Actions:**
1. [Action spécifique 1]
2. [Action spécifique 2]
3. [Action spécifique 3]

**Validation:**
```bash
npm run lint && npm run typecheck

Tests à écrire:

  • should [comportement attendu]

Complexité: S/M Dépendances: Aucune | Étape X


Étape 2: [Titre descriptif]

Objectif: [Ce que cette étape accomplit]

Fichiers:

  • path/to/file.ts
    - [Action]

Actions:

  1. [Action spécifique]

Validation:

npm run lint && npm run typecheck && npm test

Complexité: S/M Dépendances: Étape 1


Étape N: Tests

Tests unitaires:

  • [fonction].test.ts
    - [X] cas de test

Tests intégration:

  • [feature].integration.test.ts
    - [X] scénarios

Couverture attendue: [X]%


Étape Finale: Review (×3)

Pass 1 - Correctness:

  • Le code fait ce qui est demandé
  • Edge cases gérés
  • Pas de bugs évidents

Pass 2 - Readability:

  • Nommage clair
  • Structure logique
  • Commentaires si complexe

Pass 3 - Performance:

  • Pas de N+1 queries
  • Pas de re-renders inutiles
  • Complexité algorithmique OK

⚠️ Risques et Mitigations

RisqueImpactProbabilitéMitigation
[Risque 1]HighMedium[Action]
[Risque 2]MediumLow[Action]

❓ Questions ouvertes

  1. [Question technique ou fonctionnelle] → Proposition: [suggestion]

📊 Timeline estimée

ÉtapeDuréeCumulé
Étape 130m30m
Étape 245m1h15
Tests1h2h15
Review30m2h45
Total-~3h

---

## Checklist de validation du plan

```markdown
### Validation Plan

**Complétude:**
- [ ] Tous les requirements couverts
- [ ] Tests prévus pour chaque fonctionnalité
- [ ] 3 passes de review incluses

**Qualité:**
- [ ] Étapes atomiques (< 30 min)
- [ ] Dépendances clairement séquencées
- [ ] Risques identifiés avec mitigations

**Réalisme:**
- [ ] Estimations conservatives
- [ ] Buffer pour imprévus
- [ ] Pas d'étape "magique"

**Prêt pour implémentation ?** ✅/❌

⏸️ STOP - Attendre validation explicite avant implémentation.


Output Validation

Avant de proposer la transition, valider :

### ✅ Checklist Output Implementation Plan

| Critère | Status |
|---------|--------|
| Tous requirements couverts par des étapes | ✅/❌ |
| Étapes atomiques (< 30 min chacune) | ✅/❌ |
| Dépendances entre étapes séquencées | ✅/❌ |
| Tests prévus pour chaque fonctionnalité | ✅/❌ |
| Risques identifiés avec mitigations | ✅/❌ |
| 3 passes de review incluses | ✅/❌ |
| Estimations réalistes | ✅/❌ |
| Commandes de validation définies | ✅/❌ |
| **Tasks créées (si 2+ étapes)** | ✅/❌/N/A |

**Score : X/9** → Si < 7, compléter avant transition

Auto-Chain

Après validation du plan, proposer automatiquement :

## 🔗 Prochaine étape

✅ Plan d'implémentation validé.

**Résumé :**
- Étapes : [X]
- Complexité : [S/M/L]
- Estimation totale : [X]h
- Mode : [Standard/ATDD]
- **Tasks créées : [X]** (utiliser `TaskList` pour voir la progression)

**Recommandation :**

[Si Mode ATDD]
→ 🧪 **Lancer `/test-runner` ?** (écrire les tests d'abord - RED)

[Si Mode Standard]
→ 💻 **Lancer `/code-implementer` ?** (commencer l'implémentation)

Les Tasks seront mises à jour automatiquement pendant l'implémentation.

---

**[Y] Oui, commencer** | **[N] Non, ajuster le plan** | **[A] Mode ATDD** | **[S] Mode Standard**

⏸️ STOP - Attendre confirmation avant auto-lancement


Transitions

  • Vers code-implementer : "Plan validé, on commence l'implémentation ?"
  • Vers codebase-explainer : "Besoin d'analyser une partie du code plus en détail ?"
  • Vers test-runner (ATDD) : "Mode ATDD actif, on écrit les tests d'abord ?"
  • Retour utilisateur : "Des ajustements nécessaires au plan ?"