| name | diagnostic |
| description | Scanne un projet/dossier, détecte la stack, classifie l'état et retourne un rapport structuré YAML. |
| version | 1.0.0 |
| platforms | ["linux","macos"] |
| metadata | {"hermes":{"tags":["diagnostic","scan","stack","read-only","entry-point"],"related_skills":["spec-writer","fix-errors","project-audit"],"model":"deepseek-v4-full"}} |
diagnostic
Adaptation de godspeed (00) — ULK → Hermes. Carte :
docs/backlog/2026-06-28-SPEC-HERMES-DIAGNOSTIC/CARD.md (P1, GitHub #264).
Point d'entrée de toute chaîne (diagnostic → spec-writer / fix-errors). En une passe,
scanne un dossier, détecte la stack par patterns de fichiers, classe l'état sur 5 valeurs.
Read-only par défaut.
Runtime & modèles
- DeepSeek V4 full : pattern-matching pur, classification. Pas de code produit → aucune
délégation vibe/Mistral. (Tier ULK haiku → DeepSeek full, cf. routage 2026-07-06.)
Sortie
Bloc YAML inline dans la note appelante :
stacks: [swift, node]
state: NEW|PLANNED|IN_PROGRESS|DONE|BLOCKED
files_scanned: 47
Procédure
- Liste les fichiers racine → mappe vers une stack connue (
package.json→node, go.mod→go,
Package.swift→swift, pubspec.yaml→flutter, astro.config→astro, pyproject.toml→python).
- Classe l'état depuis
CARD.md (status: du frontmatter PARA).
- Émet le bloc YAML. Écrit
state: dans le frontmatter seulement si sollicité.
Implémentation (v1 runnable)
Cœur déterministe livré : diagnostic.sh (à côté de ce SKILL.md). Détecte les stacks
par patterns de fichiers racine, lit l'état depuis CARD.md (status: → NEW/PLANNED/
IN_PROGRESS/DONE/BLOCKED), émet un bloc YAML. Read-only, aucun LLM.
diagnostic.sh "$HERMES_VAULT/01_PROJETS/<projet>"
Testé via hermes/tests/diagnostic.test.sh (2 cas verts). Le modèle (DeepSeek V4 full)
n'intervient que pour l'interprétation/narration au-dessus de ce bloc.
Critères d'acceptation
Pièges
- « État projet » (frontmatter CARD.md) ≠ « état code » (tests/CI) — la v1 n'inspecte que le frontmatter.
- Monorepo → retourner un tableau de stacks, pas une valeur unique.
- Stacks exotiques → liste de fallback explicite, ne pas laisser le modèle inférer.