retrospecting

Effectue une analyse complète des sessions Claude Code en examinant l'historique git, les journaux de conversation, les modifications de code et en recueillant les retours des utilisateurs, afin de générer des rapports rétrospectifs exploitables avec des insights pour une amélioration continue.

npx skills add https://github.com/bitwarden/ai-plugins --skill retrospecting

Skill de Rétrospective de Session

Contexte Auto-Chargé

Session Analytics: contexts/session-analytics.md - Fournit un cadre complet pour l'analyse des sessions, incluant les sources de données, métriques et méthodes d'analyse.

Modèles de Rétrospective: templates/retrospective-templates.md - Modèles de rapport standardisés pour différentes profondeurs de rétrospective.

Responsabilités Principales

1. Collecte de Données Multi-Sources

Rassembler systématiquement les données de toutes les sources disponibles :

  • Historique Git: Commits, diffs, changements de fichiers durant la session
  • Logs Claude: Transcriptions de conversation, utilisation d'outils, patterns de décision
  • Fichiers Projet: Couverture de tests, qualité du code, statut de compilation
  • Feedback Utilisateur: Retours directs sur les objectifs, satisfaction, points de friction
  • Interactions avec Sous-agents: Si des sous-agents ont été utilisés, récupérer leurs retours

2. Analyse Quantitative

Calculer les métriques mesurables :

  • Étendue de la session (durée, tâches complétées, fichiers modifiés)
  • Indicateurs de qualité (taux de compilation, couverture de tests, respect des standards)
  • Métriques d'efficacité (taux de succès des outils, taux de retouches, taux de complétude)
  • Données d'expérience utilisateur (satisfaction, points de friction)

3. Évaluation Qualitative

Identifier les patterns et insights :

  • Approches réussies ayant mené à de bons résultats
  • Patterns problématiques ayant causé des problèmes ou retards
  • Solutions réutilisables à extraire pour un usage futur
  • Apprentissages spécifiques au contexte applicables à ce type de projet

4. Génération de Rapport

Créer un rapport de rétrospective structuré en utilisant le modèle approprié :

  • Rétrospective Rapide: Résumés de session brefs (5-10 minutes)
  • Rétrospective Complète: Analyse détaillée pour les sessions significatives
  • Choisir le modèle basé sur la complexité de la session et les besoins de l'utilisateur

Processus de Travail

Étape 0: Évaluation Rapide de la Session

Avant de rassembler les données, déterminer la profondeur d'analyse appropriée :

  1. Vérifier la taille de la session:

    # Compter les commits récents
    git log --oneline --since="1 hour ago" | wc -l
    
    # Lister les fichiers de logs de session avec métadonnées
    ${CLAUDE_PROJECT_DIR}/.claude/skills/extracting-session-data/scripts/list-sessions.sh --sort date | head -5
  2. Suggérer une profondeur à l'utilisateur basée sur les métriques :

    • Rapide (<10 commits, <5MB logs): "5-10 min d'analyse légère"
    • Standard (10-25 commits, 5-20MB logs): "15-20 min d'analyse équilibrée"
    • Complète (>25 commits, >20MB logs): "30+ min d'analyse approfondie"
  3. Laisser l'utilisateur overrider: "Basé sur [X commits, Y MB logs], je recommande une rétrospective [MODE] (~Z minutes). Cela te convient-il, ou préfères-tu une autre profondeur?"

  4. Clause de sortie anticipée: Si l'utilisateur dit "juste un résumé rapide" ou "un aperçu haut niveau", utiliser automatiquement le mode Rapide indépendamment de la taille de la session.

Étape 1: Établir la Portée de la Session

  1. Demander à l'utilisateur de définir les limites de la session (plage horaire ou plage de commits)
  2. Clarifier les objectifs de la session: "Qu'essayais-tu d'accomplir?"
  3. Confirmer la profondeur de rétrospective de l'Étape 0

Étape 2: Rassembler les Données

Exécuter la collecte de données basée sur le mode de profondeur confirmé :

Collecte de Données Spécifique à la Profondeur

Mode Rapide:

  • Git: git diff <start>..<end> --stat uniquement (pas de diffs complets)
  • Logs: Extraire les statistiques et erreurs uniquement via la skill extracting-session-data
  • Fichiers: Vérifier le statut de compilation uniquement
  • Utilisateur: 2-3 questions ciblées
  • Ignorer: Feedback de sous-agents, analyse détaillée de fichiers

Mode Standard:

  • Git: Historique complet des commits + stats, diffs sélectifs pour les fichiers clés
  • Logs: Extraire métadonnées, statistiques, utilisation d'outils et erreurs via la skill extracting-session-data
  • Fichiers: Métriques de qualité pour les fichiers modifiés
  • Utilisateur: 5-7 questions couvrant les domaines principaux
  • Inclure: Feedback de sous-agents si applicable

Mode Complet:

  • Git: Tout (logs complets, diffs, analyse de fichiers)
  • Logs: Extraire tous les types de données via la skill extracting-session-data, peut lire les logs complets si <500 lignes
  • Fichiers: Analyse approfondie incluant tests, respect de l'architecture
  • Utilisateur: Feedback extensif (8-10 questions)
  • Inclure: Tous les feedbacks de sous-agents, extraction de patterns

Analyse Git

Utiliser la skill analyzing-git-sessions pour collecter les données git :

Mode Rapide: Demander une sortie "concise" (stats uniquement, pas de diffs) Mode Standard: Demander une sortie "detailed" pour les fichiers clés Mode Complet: Demander un format "code review" pour une analyse complète

Invoquer la skill avec la plage temporelle de la session :

Skill: analyzing-git-sessions
Input: "<start-time> to <end-time>" ou "<start-commit>..<end-commit>"
Depth: [concise|detailed|code-review] basé sur le mode de rétrospective

La skill retournera les métriques git structurées nécessaires pour l'analyse de rétrospective.

Traitement des Logs (Sensible à la Taille)

Utiliser la skill extracting-session-data pour accéder efficacement aux logs de session natifs de Claude Code.

  1. Lister les Sessions Disponibles:

    # Lister toutes les sessions avec métadonnées (taille, lignes, date, branche)
    ${CLAUDE_PROJECT_DIR}/.claude/skills/extracting-session-data/scripts/list-sessions.sh
  2. Vérifier la Taille de la Session:

    # Obtenir les statistiques pour une session spécifique
    ${CLAUDE_PROJECT_DIR}/.claude/skills/extracting-session-data/scripts/extract-data.sh \
        --type statistics --session SESSION_ID
  3. Extraire les Données Basé sur la Taille de la Session et le Mode:

    Mode Rapide (ou n'importe quelle session >2000 lignes):

    # Extraire uniquement les statistiques et erreurs
    extract-data.sh --type statistics --session SESSION_ID
    extract-data.sh --type errors --session SESSION_ID --limit 10

    Mode Standard (sessions 500-2000 lignes):

    # Extraire métadonnées, statistiques, utilisation d'outils et erreurs
    extract-data.sh --type metadata --session SESSION_ID
    extract-data.sh --type statistics --session SESSION_ID
    extract-data.sh --type tool-usage --session SESSION_ID
    extract-data.sh --type errors --session SESSION_ID

    Mode Complet (sessions <500 lignes):

    # Extraire toutes les données disponibles
    extract-data.sh --type all --session SESSION_ID
    
    # Ou lire le fichier de log complet si nécessaire pour une analyse détaillée
    # (Uniquement pour les petites sessions - vérifier le nombre de lignes d'abord!)
  4. Analyse Multi-Sessions:

    # Filtrer les sessions par critères
    filter-sessions.sh --since "7 days ago" --branch main
    
    # Extraire les données de toutes les sessions filtrées (omettre le drapeau --session)
    extract-data.sh --type statistics  # Exécute sur toutes les sessions
  5. Synthétiser les Données Extraites: Après l'extraction, synthétiser les données en un résumé compact (max 200 lignes) avant de continuer l'analyse.

Calcul de Chemin: La skill extracting-session-data gère tous les calculs de chemin automatiquement. Les logs de session sont stockés dans ~/.claude/projects/{project-identifier}/ où l'identifiant est dérivé du chemin du répertoire de travail.

Analyse du Projet

Examiner les fichiers modifiés, tests, documentation (selon la profondeur)

Feedback Utilisateur

Inviter à fournir un feedback direct sur l'expérience de session (nombre de questions basé sur le mode de profondeur)

Feedback de Sous-agents

Si des sous-agents ont été utilisés, les invoquer pour rassembler leur perspective (modes Standard/Complet uniquement)

Étape 3: Analyser les Données

Appliquer le cadre de session-analytics.md :

  • Calculer les métriques quantitatives
  • Identifier les indicateurs de succès et de problèmes
  • Extraire les patterns (approches réussies et anti-patterns)
  • Évaluer l'efficacité de la communication et la qualité technique

Étape 4: Générer des Insights

Synthétiser l'analyse en insights exploitables :

  • Ce qui a bien marché et pourquoi (preuves spécifiques)
  • Ce qui a causé des problèmes et leurs causes racines
  • Opportunités d'amélioration (priorisées par impact)
  • Patterns à répliquer ou éviter dans les futures sessions

Étape 5: Créer le Rapport

Utiliser le modèle approprié de retrospective-templates.md :

  • Structurer les résultats clairement avec preuves
  • Inclure des références spécifiques fichier:ligne si pertinent
  • Prioriser les recommandations par impact et faisabilité
  • Rendre toutes les suggestions exploitables et spécifiques

Étape 6: Rassembler la Validation Utilisateur

Présenter le rapport et demander :

  • Cela correspond-il à ton expérience?
  • Y a-t-il d'autres points de friction que nous avons manqués?
  • Quelles améliorations seraient les plus utiles pour toi?

Étape 7: Suggérer les Améliorations de Configuration

Si la rétrospective identifie des domaines d'amélioration dans les interactions Claude ou Agent :

  1. Analyser si les améliorations pourraient être codifiées dans les fichiers de configuration :
    • CLAUDE.md: Directives principales, pratiques de workflow, patterns de communication
    • Fichiers SKILL.md: Instructions spécifiques aux skills, processus de travail, anti-patterns
    • Fichiers de définition d'agents: Prompts d'agents, utilisation d'outils, patterns de coordination
  2. Rédiger des suggestions spécifiques et exploitables pour les mises à jour de configuration :
    • Citer le texte actuel qui devrait être modifié (si mise à jour du contenu existant)
    • Fournir le texte proposé nouveau ou supplémentaire
    • Expliquer le rationnelle basé sur les résultats de rétrospective
  3. Présenter les suggestions à l'utilisateur :
    • "Basé sur cette rétrospective, j'ai identifié des améliorations potentielles pour [file]. Voudrais-tu que j'implémente ces changements?"
    • Montrer les changements spécifiques qui seraient faits
  4. Si l'utilisateur approuve :
    • Appliquer les changements en utilisant l'outil Edit
    • Confirmer ce qui a été mis à jour
  5. Si l'utilisateur refuse :
    • Documenter les suggestions dans le rapport de rétrospective pour considération future

Étape 8: Informations d'Archive de Session

Après la création et la validation du rapport de rétrospective :

  1. Informer l'utilisateur où les logs de session sont stockés :
    • "Les logs de session sont stockés de façon permanente dans ~/.claude/projects/{project-dir}/{session-id}.jsonl"
    • "Ces logs sont gérés par Claude Code et ne doivent pas être supprimés manuellement"
  2. Expliquer que les rapports de rétrospective sont sauvegardés séparément dans :
    • ${CLAUDE_PROJECT_DIR}/.claude/skills/retrospecting/reports/
  3. Noter que Claude Code gère automatiquement la rétention des logs de session

Standards de Sortie

Exigences de Qualité du Rapport

  • Basé sur les Preuves: Chaque affirmation soutenue par des exemples spécifiques
  • Exploitable: Toutes les recommandations incluent des conseils d'implémentation
  • Spécifique: Éviter les déclarations vagues; utiliser des exemples concrets
  • Priorisé: Indication claire des éléments à haut vs bas impact
  • Équilibré: Reconnaître les succès tout en identifiant les améliorations

Références de Fichiers

Utiliser le format file:line_number quand on référence des emplacements de code spécifiques.

Présentation des Métriques

Présenter les métriques en tables ou listes claires avec contexte pour l'interprétation.

Format des Recommandations

Chaque recommandation devrait inclure :

  • Quoi: Action spécifique à prendre
  • Pourquoi: Cause racine ou rationnelle
  • Comment: Approche d'implémentation
  • Impact: Bénéfice attendu

Intégration avec Sous-agents

Quand des sous-agents ont été utilisés durant la session :

Collecte de Feedback

Invoquer chaque sous-agent qui a participé avec des prompts comme :

  • "Quels aspects de cette session ont bien fonctionné pour toi?"
  • "Quelles instructions ou contextes étaient peu clairs?"
  • "Quels outils ou capacités aurais-tu voulu avoir?"
  • "Comment la coordination avec Claude pourrait-elle être améliorée?"

Synthèse

Incorporer le feedback de sous-agents dans la rétrospective :

  • Identifier les problèmes de coordination ou de handoff
  • Noter les lacunes en clarté d'instructions ou contexte
  • Reconnaître les patterns de collaboration réussie
  • Recommander les améliorations à l'utilisation de sous-agents

Gestion du Budget de Contexte

Monitorer l'usage du contexte tout au long de la rétrospective pour prévenir le débordement :

Seuils de Budget

  • Instructions de skill: ~6-8K tokens (ce fichier + contextes auto-chargés)
  • Petit fichier de log: 2-5K tokens par fichier
  • Gros fichier de log: 10-50K+ tokens si lu complètement
  • Diffs Git: 5-20K tokens pour les gros changements
  • Conversation utilisateur: Variable (2-10K tokens)

Stratégie Adaptative Basée sur le Budget Restant

Budget Élevé (>100K tokens restants):

  • Sûr d'utiliser le mode Complet
  • Lire les logs complets si <2000 lignes
  • Inclure les diffs git complets
  • Charger les métriques détaillées de session-analytics.md si nécessaire

Budget Moyen (50-100K tokens restants):

  • Utiliser le mode Standard par défaut
  • Résumer les logs avant de les lire (utiliser l'extraction bash)
  • Diffs git sélectifs pour les fichiers clés uniquement
  • Ignorer le chargement de contexte étendu

Budget Faible (<50K tokens restants):

  • Forcer le mode Rapide indépendamment de la taille de la session
  • Résumé de log bash uniquement (pas de lectures complètes)
  • Git stats uniquement, pas de diffs
  • Avertir l'utilisateur: "Contexte limité disponible - fournissant une analyse focalisée sur les domaines clés uniquement"

Tactiques de Préservation du Contexte

  1. Extraire et rejeter: Tirer les métriques clés des gros fichiers, rejeter la source verbose immédiatement
  2. Synthétiser tôt: Créer des résumés compacts (max 200 lignes) avant de continuer
  3. Raffinement progressif: Commencer haut-niveau, approfondir uniquement où l'utilisateur indique son intérêt
  4. Échantillonnage au hasard: Lire les sections représentatives plutôt que les fichiers entiers

Secours d'Urgence

Si on approche la limite de contexte durant l'analyse :

  1. Arrêter la collecte de données immédiatement
  2. Générer le rapport à partir des données rassemblées jusqu'à présent
  3. Noter dans le rapport: "Analyse limitée par les contraintes de contexte - [domaines spécifiques non couverts]"
  4. Offrir à l'utilisateur un suivi ciblé sur des aspects spécifiques dans une nouvelle conversation

Anti-Patterns à Éviter

Ne Pas:

  • Générer des rétrospectives sans rassembler les données réelles
  • Faire des recommandations vagues et non-exploitables
  • Se concentrer uniquement sur les négatifs; reconnaître ce qui a bien marché
  • Ignorer les priorités et objectifs déclarés de l'utilisateur
  • Créer des rapports trop longs qui enterrent les insights clés
  • Analyser les sessions sans comprendre le contexte et les objectifs

À Faire:

  • Fonder l'analyse sur des preuves concrètes des données de session
  • Fournir des recommandations spécifiques et exploitables avec conseils d'implémentation
  • Équilibrer la reconnaissance positive avec les opportunités d'amélioration
  • Aligner les recommandations avec les priorités de l'utilisateur
  • Créer des rapports concis qui mettent en avant les insights clés
  • Comprendre le contexte de session avant d'analyser l'efficacité

Enrichissement Cross-Plugin

Quand les plugins Bitwarden frères sont installés, les rétrospectives gagnent une analyse spécialisée :

Rétrospectives Conscientes de la Sécurité (plugin bitwarden-security-engineer)

Après rassemblement des diffs git de la session :

  • Scanner les identifiants commités → activer Skill(detecting-secrets) contre les diffs git de la session pour avertir si des secrets ont été accidentellement commités
  • Évaluer la posture de sécurité du nouveau code → si la session a introduit du code d'auth, crypto ou de traitement d'entrée, activer Skill(analyzing-code-security) pour signaler les vulnérabilités potentielles dans le rapport de rétrospective

Classification de la Qualité (plugin bitwarden-code-review)

  • Classifier les changements de session par impact → activer Skill(classifying-review-findings) pour catégoriser les changements de la session en utilisant le cadre CRITICAL/IMPORTANT/DEBT/SUGGESTED, donnant aux utilisateurs une vision claire de ce qui nécessite de l'attention

Ces skills sont optionnelles. Si indisponibles, procéder avec l'analyse de rétrospective standard.

Critères de Succès

Une bonne rétrospective devrait :

  1. Informer: L'utilisateur apprend quelque chose de nouveau sur son workflow
  2. Guider: Des prochaines étapes claires pour l'amélioration
  3. Motiver: La reconnaissance des succès encourage les bonnes pratiques continues
  4. Focaliser: La priorisation aide l'utilisateur à savoir où investir l'effort
  5. Habiliter: Fournir les cadres/patterns que l'utilisateur peut appliquer aux futures sessions

Stockage du Rapport

Répertoire: ${CLAUDE_PROJECT_DIR}/.claude/skills/retrospecting/reports/

Format du nom de fichier: YYYY-MM-DD-session-description-SESSION_ID.md

  • Utiliser le format ISO date (YYYY-MM-DD) pour le tri chronologique
  • Garder la description brève (3-5 mots, séparés par tirets)
  • Inclure l'ID de session des fichiers logs pour la traçabilité

Exemple de chemin: ${CLAUDE_PROJECT_DIR}/.claude/skills/retrospecting/reports/2025-10-23-authentication-refactor-3be2bbaf.md

Skills similaires