plugins/somtech-estimator/skills/estimation-report/SKILL.md
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.
npx skillsauth add SomtechSolutionMAxime/somtech-pack estimation-reportInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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 estimationstools
Documentation de référence SomCraft — DMS Markdown-native avec AI, MCP server, et Studio. À consulter pour toute question sur l'architecture, les APIs, les concepts, ou l'exploitation d'une instance SomCraft. TRIGGERS : somcraft, dms, document management, workspace somcraft, studio somcraft, mcp somcraft, api somcraft
tools
Déployer une instance SomCraft pour un client existant (migrations Supabase + Fly.io + skills). Orchestre 7 phases : pré-flight, plan, migrations, seed, déploiement, smoke tests, installation des skills. TRIGGERS : deploy-somcraft, déployer somcraft, installer somcraft, somcraft client, setup somcraft, upgrade somcraft, status somcraft
tools
Génère l'intégralité de la configuration d'un silo SomTech : docker-compose, services Fly.io, constitutions d'agents, et templates d'environnement. Valide les métadonnées d'application avant génération. À utiliser après validation initiale du client et avant déploiement.
development
Exécute le déploiement complet d'une silo après sa génération : conteneurs Docker, environnement de développement Fly.io, branche Git, et configuration Netlify. Transforme les configs générées en infrastructure active avec URLs stables et builds automatisés.