Files
MaksTinyWorkshop fc0bec0e2b capitalisation: intégrer 12 entrées depuis app-alexandrie et app-template-resto
- backend/risques/nestjs : guard multi-statut READ_METHODS avant statut
- backend/patterns/nestjs : fusionner lastSeenAt dans la réconciliation
- backend/risques/contracts : pas de process.env dans services/helpers
- backend/risques/nextjs : self-request Server Action + EXDEV atomic write
- backend/risques/prisma : champ enum-like stocké en String
- frontend/risques/general : Alert.prompt iOS-only
- frontend/risques/tests : 3 anti-patterns (helpers copiés, test indirect, test façade)
- workflow/risques/story-tracking : 2 entrées (hors périmètre, File List approximative)
- skill capitalisation-triage : nouveau format de rapport (tableaux par domaine)
- 95_a_capitaliser.md : purgé
2026-03-31 14:47:42 +02:00

6.9 KiB
Raw Permalink Blame History

name, description
name description
capitalisation-triage Analyse et trie les propositions de `95_a_capitaliser.md` pour décider si elles doivent être intégrées dans la base globale `Lead_tech` ou déplacées vers le `CLAUDE.md` du projet source. Utiliser ce skill quand il faut : (1) détecter les doublons avec `knowledge/`, (2) filtrer ce qui est réellement global et réutilisable, (3) préparer des propositions dintégration propres par fichier cible, et (4) router les apprentissages trop spécifiques vers la mémoire projet.

Objectif

Décider, pour chaque FILE_UPDATE_PROPOSAL de 95_a_capitaliser.md, lune des issues suivantes:

  • INTEGRER_KNOWLEDGE: à intégrer dans knowledge/ ou un fichier global racine
  • A_DEPLACER_CLAUDE_PROJET: pertinent mais trop spécifique au projet
  • REJETER: bruit, redondance, ou formulation non exploitable

Entrées à lire systématiquement

  1. 95_a_capitaliser.md
  2. knowledge/<domaine>/(patterns|risques)/README.md correspondant au sujet
  3. Le fichier cible indiqué dans chaque proposition
  4. _projects.conf
  5. 70_templates/projet_CLAUDE.md
  6. 10_conventions_redaction.md

Workflow opératoire

  1. Extraire les blocs FILE_UPDATE_PROPOSAL de 95_a_capitaliser.md.
  2. Pour chaque bloc, identifier:
  • project_name
  • target_file
  • idée centrale (1 phrase)
  • signal technique principal (bug, anti-pattern, pattern, décision)
  1. Vérifier lexistence dun doublon dans la base:
  • dabord dans target_file
  • puis dans les fichiers voisins du même domaine (via le README.md dindex)
  1. Classer le niveau de nouveauté:
  • DOUBLON_EXACT: déjà documenté explicitement
  • DOUBLON_SEMANTIQUE: même règle exprimée autrement
  • COMPLEMENT: ajoute une nuance utile à une règle existante
  • NOUVEAU: absent de la base
  1. Évaluer la portée:
  • GLOBAL: réutilisable inter-projets
  • PROJET: dépend trop du contexte local
  1. Décider le routage final (INTEGRER_KNOWLEDGE, A_DEPLACER_CLAUDE_PROJET, REJETER).
  2. Reformuler tous les textes retenus pour respecter les conventions de rédaction actives.

Règles de décision (obligatoires)

1) Filtre doublon (priorité absolue)

Si DOUBLON_EXACT ou DOUBLON_SEMANTIQUE sans nouvelle mitigation concrète: REJETER.

Si doublon partiel avec amélioration exploitable (ex: condition manquante, contre-exemple utile): COMPLEMENT possible vers INTEGRER_KNOWLEDGE.

2) Test de globalité

Classer GLOBAL seulement si la proposition respecte au moins 3 critères:

  • décrit un mécanisme technique générique (pas une feature nommée)
  • sapplique à plusieurs repos/projets du même stack
  • reste valable hors contexte temporel local
  • réduit clairement un risque de bug/régression
  • propose une mitigation actionnable en review/dev

Sinon classer PROJET.

3) Routage des infos spécifiques

Si PROJET mais pertinent: router vers CLAUDE.md du projet source, section:

  • Leçons apprises (par défaut)
  • ou Points sensibles si risque récurrent et critique

Résoudre le chemin projet via _projects.conf. Sur Linux NUC, destination attendue: /srv/projects/<project_name>/CLAUDE.md. Sur macOS, destination attendue: /Volumes/TeraSSD/Projets_Dev/<project_name>/CLAUDE.md, ou demander une confirmation si le projet est introuvable.

Si le projet est introuvable ou sans CLAUDE.md, produire une proposition prête à coller et le signaler explicitement.

Heuristiques de spécificité projet

Indicateurs forts PROJET:

  • noms de routes, écrans, composants, modules internes nommés
  • dépendance à une version précise dun outil non généralisée
  • wording produit/UI local (langue, copy, labels métier)
  • apprentissage valable uniquement pour une architecture locale

Indicateurs forts GLOBAL:

  • piège structurel du framework
  • invariant de robustesse (erreur, contrat, navigation, session, etc.)
  • règle de validation applicable en code review partout

Conformité rédactionnelle (obligatoire avant proposition finale)

Avant de proposer l'intégration effective:

  • Vérifier la langue: documentation en français, identifiants de code en anglais.
  • Respecter la structure du fichier cible (sections, style, niveau de détail).
  • Préférer une rédaction factuelle, courte, orientée risque/mitigation.
  • Éviter les formulations vagues ou non testables.
  • Harmoniser le vocabulaire avec les entrées déjà présentes dans le fichier cible.

Format de sortie attendu

Produire trois sections, une par décision. Omettre une section si aucune entrée dans la catégorie. Le texte final intégrable n'apparaît pas dans le rapport — il est produit lors de l'exécution (option 1) ou sur demande (option 2).

Légende confiance : 🟢 HIGH / 🟡 MEDIUM / 🔴 LOW

INTEGRER_KNOWLEDGE

Un tableau par domaine (backend, frontend, workflow, etc.), trié par flux puis fichier. La colonne Domaine est remplacée par le sous-en-tête de section.

🔧 Backend

Projet Flux Fichier Titre court Patch Nouveauté Confiance
patterns/risques ajout/remplacement/fusion NOUVEAU/COMPLEMENT/DOUBLON_SEMANTIQUE 🟢/🟡/🔴

🖥️ Frontend

Projet Flux Fichier Titre court Patch Nouveauté Confiance

⚙️ Workflow

Projet Flux Fichier Titre court Patch Nouveauté Confiance

(autres domaines si applicable : 🎨 UX, 🔁 n8n, 📦 Product)

📁 À déplacer vers CLAUDE.md

Projet Titre court Section Confiance
Leçons apprises/Points sensibles 🟢/🟡/🔴

🗑️ Rejetées

Projet Titre court Motif
doublon / bruit / non-actionnable

Contraintes de qualité

  • Ne jamais inventer un fichier cible absent de la taxonomie Lead_tech.
  • Ne jamais promouvoir en global une règle purement locale.
  • Préférer une reformulation courte, testable, orientée mitigation.
  • Si une proposition est mal formulée mais utile, la réécrire au lieu de la rejeter.

Sortie décisionnelle utilisateur (obligatoire)

Après le rapport de tri, toujours proposer un menu d'action:

Choix d'action :

1. Suivre les recommandations : intégrer les entrées retenues + purger `95_a_capitaliser.md` pour les éléments traités.
2. Ajuster avant intégration : appliquer mes modifications sur les entrées ciblées, puis me re-soumettre la version finale.
3. N'intégrer que les entrées `INTEGRER_KNOWLEDGE` (sans déplacement projet pour l'instant).
4. N'intégrer aucune entrée : conserver le rapport uniquement.

Si l'utilisateur choisit l'option 2, demander les modifications ciblées et réémettre une proposition consolidée avant tout patch.

Commandes utiles (optionnel)

# lire la base en ciblant le domaine
find knowledge -maxdepth 3 -type f | sort

# ouvrir le fichier projet depuis son nom
scripts/resolve-project-path.sh <project_name>