Ce skill génère le rapport d'estimation final en deux formats : markdown (fichier de travail versionnable) et .xlsx (document client structuré en plusieurs feuilles). Déclenché après la validation utilisateur en Phase 3 du pipeline d'estimation. Inclut le risque par bloc et la sous-décomposition en tâches.
Génération des livrables d'estimation (markdown + .xlsx).
Emplacement : estimations/YYYY-MM-DD-<nom-projet>-estimation.md (dans le projet courant, pas dans le plugin)
Format : Voir ${CLAUDE_PLUGIN_ROOT}/skills/estimation-report/references/format-livrable.md pour le template exact.
Règles de formatage :
12 500 $ (convention québécoise)1.25×1.20)Contenu obligatoire :
Structure du détail par bloc — Mode Formule :
### 1. [Nom du bloc]
- **Type** : CRUD / Intégration API / etc.
- **Complexité** : Simple / Moyen / Complexe
- **Risque** : Complexité X/5 | Dépendances X/5 → Facteur ×X.XX
**Tâches incluses** :
- [Tâche 1]
- [Tâche 2]
- ...
| Rôle | Trad. (j) | Trad. ($) | IA (j) | IA ($) |
|------|-----------|-----------|--------|--------|
| Dev Senior | X | X $ | X | X $ |
| Dev Junior | X | X $ | X | X $ |
| Designer | X | X $ | X | X $ |
| PM | X | X $ | X | X $ |
| QA | X | X $ | X | X $ |
| **Sous-total brut** | **X** | **X $** | **X** | **X $** |
| **Sous-total avec risque (×X.XX)** | | **X $** | | **X $** |
Structure du détail par bloc — Mode Direct :
### 1. [Nom du bloc]
- **Risque** : Complexité X/5 | Dépendances X/5 → Facteur ×X.XX
| Tâche | Type | Jours Trad | Jours IA | Coût Trad | Coût IA |
|-------|------|-----------|----------|-----------|---------|
| [Tâche 1] | crud | X | X | X $ | X $ |
| [Tâche 2] | logique_metier | X | X | X $ | X $ |
| **Sous-total brut** | | **X** | **X** | **X $** | **X $** |
| **Avec risque (×X.XX)** | | | | **X $** | **X $** |
### Overhead projet (bloc fixe, hors risque)
| Rôle | Jours Trad | Jours IA | Coût Trad | Coût IA |
|------|-----------|----------|-----------|---------|
| PM | X | X | X $ | X $ |
| QA | X | X | X $ | X $ |
| Designer | X | X | X $ | X $ |
| Architecte | X | X | X $ | X $ |
| **Total overhead** | **X** | **X** | **X $** | **X $** |
Emplacement : estimations/YYYY-MM-DD-<nom-projet>-estimation.xlsx
Méthode : Générer via Python avec openpyxl. Écrire le script Python inline dans un bloc bash et l'exécuter.
Le fichier contient 5 feuilles :
Documente toutes les décisions prises pendant l'estimation :
#,##0 "$" (ex : 12 500 $)Générer le script inline et l'exécuter via bash :
python3 - <<'PYEOF'
import openpyxl
from openpyxl.styles import Font, PatternFill, Alignment, Border, Side
from openpyxl.utils import get_column_letter
# --- Données d'estimation (injecter depuis le calcul Phase 2) ---
projet = "Nom du projet"
date_str = "YYYY-MM-DD"
source_cdc = "nom-du-cdc.docx"
# blocs = liste de dicts avec :
# name, type, risque_score_complexite, risque_score_dependances,
# risque_facteur, taches (liste de str),
# roles (dict rôle → {jours_trad, cout_trad, ia_factor, jours_ia, cout_ia})
blocs = [ ... ]
taux_journaliers = { ... }
# --- Génération ---
wb = openpyxl.Workbook()
# ... créer les 4 feuilles ...
wb.save(f"estimations/{date_str}-{projet.lower().replace(' ', '-')}-estimation.xlsx")
print("Excel généré.")
PYEOF
openpyxl n'est pas disponible : tenter pip install openpyxl --quiet puis réessayer-traditionnel.csv, -accelere-ia.csv, -comparatif.csv, -risque.csv, -parametres.csv) et informer l'utilisateurestimations/ n'existe pas dans le projet courant, le créer avec mkdir -p estimations