Guide Recap
Générez du contenu pour les réseaux sociaux à partir des entrées du CHANGELOG.md. Produit par défaut 8 sorties (4 formats × 2 langues).
Quand l'utiliser
- Après avoir exécuté
/releasepour créer des annonces sociales - Chaque semaine pour résumer plusieurs versions
- Avant de publier sur LinkedIn, Twitter/X, newsletter ou Slack
Utilisation
/guide-recap latest # Dernière version publiée
/guide-recap v3.20.5 # Version spécifique
/guide-recap week # Semaine en cours (lundi à aujourd'hui)
/guide-recap week 2026-01-27 # Semaine spécifique (lundi à dimanche)
Drapeaux
| Drapeau | Effet | Défaut |
|---|---|---|
--interactive | Mode guide : choisir l'angle, le public, le point fort | Désactivé (auto-draft) |
--format=X | Format unique : linkedin, twitter, newsletter, slack | Les 4 formats |
--lang=X | Langue unique : fr, en | Les deux FR + EN |
--save | Enregistrer la sortie dans claudedocs/social-posts/ | Affichage uniquement |
--force | Générer même si seulement des entrées de maintenance | Ignorer les faibles scores |
Flux de travail (7 étapes)
Étape 1 : Analyser l'entrée
Analyser $ARGUMENTS pour déterminer le mode :
| Entrée | Mode | Cible |
|---|---|---|
latest | Version unique | Première ## [X.Y.Z] après [Unreleased] |
vX.Y.Z ou X.Y.Z | Version unique | Correspondance exacte de la version |
week | Plage de semaine | Lundi de la semaine courante -> aujourd'hui |
week AAAA-MM-JJ | Plage de semaine | Ce lundi -> dimanche suivant |
Si aucun argument ou argument invalide, afficher l'utilisation et quitter.
Étape 2 : Extraire les entrées du CHANGELOG
Lire CHANGELOG.md depuis la racine du projet.
Version unique :
- Trouver la ligne correspondant à
## [{version}] - Extraire tout le contenu jusqu'à la ligne
## [suivante - Analyser les sections
### Added,### Changed,### Fixed
Plage de semaine :
- Collecter toutes les entrées
## [X.Y.Z] - AAAA-MM-JJdont la date se trouve dans la plage - Analyser toutes les sections de toutes les versions correspondantes
Erreur : version introuvable -> Lister les 5 dernières versions, suggérer latest.
Erreur : semaine sans entrées -> Afficher la date de la dernière version, suggérer cette version.
Étape 3 : Catégoriser les entrées
Pour chaque entrée de premier niveau (première puce sous ###), attribuer une catégorie :
| Catégorie | Poids | Détection |
|---|---|---|
NEW_CONTENT | 3 | Nouveaux fichiers, nouvelles sections, nouveaux diagrammes, nouvelles questions de quiz |
GROWTH_METRIC | 2 | Croissance du nombre de lignes, changements dans le nombre d'éléments |
RESEARCH | 1 | Évaluations de ressources, intégrations de sources externes |
FIX | 1 | Sous ### Fixed, corrections |
MAINTENANCE | 0 | Mises à jour README, synchronisations de badges, synchronisations de landing, mises à jour de compteurs |
Voir references/changelog-parsing-rules.md pour les règles de classification détaillées.
Étape 4 : Transformer en valeur utilisateur
Appliquer les correspondances de references/content-transformation.md :
- Langage technique -> bénéfice utilisateur
- Extraire les chiffres concrets
- Créditer les sources nommées
- Regrouper les entrées connexes
Valider avec la liste DO/DON'T de references/tone-guidelines.md.
Étape 4b : Mode interactif (--interactive uniquement)
Si le drapeau --interactive est défini, insérer entre les étapes 4 et 5 :
-
Afficher les points forts candidats avec leurs scores :
Points forts (par score) : [14] 4 nouveaux diagrammes ASCII (16 -> 20) [NEW_CONTENT] [ 9] 30 nouvelles questions de quiz (227 -> 257) [NEW_CONTENT] [ 6] Guide d'isolation sandbox Docker [NEW_CONTENT] [ 1] README mis à jour [MAINTENANCE] -
Demander l'angle :
- Auto (le plus haut score = accroche)
- L'utilisateur choisit une entrée spécifique comme accroche
- Angle personnalisé (l'utilisateur fournit un thème)
-
Demander le public cible :
devs(profondeur technique)tech-leads(focus impact)general(langage accessible)all(par défaut, équilibré)
-
Demander le point fort principal :
- Auto (meilleur score)
- L'utilisateur sélectionne dans la liste
-
Confirmer la sélection et passer à l'étape 5.
Étape 5 : Noter et sélectionner
Calculer le score pour chaque entrée :
score = (poids_catégorie * 3)
+ (a_un_chiffre * 2)
+ (source_nommée * 1)
+ (nouveau_fichier * 1)
+ (min(fichiers_impact, 3))
+ (breaking * 2)
Sélectionner les 3-4 meilleures entrées par score. Le score le plus élevé = ligne d'accroche.
Si tous les scores < 3 : Afficher "Aucun contenu social recommandé pour cette version. Utilisez --force pour générer quand même." et quitter (sauf si --force).
Étape 6 : Générer le contenu
Pour chaque format demandé (par défaut : les 4) et chaque langue (par défaut : les deux) :
- Lire le template correspondant dans
assets/ - Remplir les champs du template avec les entrées notées et transformées
- Appliquer la liste de contrôle qualité de tone-guidelines.md
Liens :
| Format | Cible du lien |
|---|---|
| URL du site de landing | |
| URL du dépôt GitHub | |
| Newsletter | Les deux (landing + GitHub) |
| Slack | URL du dépôt GitHub |
URLs :
- Landing :
https://florianbruniaux.github.io/Codex-ultimate-guide-landing/ - GitHub :
https://github.com/FlorianBruniaux/Codex-ultimate-guide
Étape 7 : Sortie
Afficher chaque publication générée dans un bloc de code délimité, étiqueté par format et langue :
## LinkedIn (FR)
```texte
[contenu]
`` ```
## LinkedIn (EN)
```texte
[contenu]
`` ```
## Twitter/X (FR)
```texte
[contenu]
`` ```
...
Si le drapeau --save : écrire toutes les sorties dans claudedocs/social-posts/AAAA-MM-JJ-vX.Y.Z.md (pour une version) ou claudedocs/social-posts/AAAA-MM-JJ-semaine.md (pour une semaine). Créer le répertoire claudedocs/social-posts/ s'il n'existe pas.
Gestion des erreurs
| Erreur | Réponse |
|---|---|
| Aucun argument | Afficher le bloc d'utilisation |
| Argument invalide | Afficher le bloc d'utilisation avec des exemples |
| Version introuvable | Lister les 5 versions les plus récentes, suggérer latest |
| Semaine sans entrées | Afficher la date de la dernière version, suggérer la version |
| Toutes les entrées sont MAINTENANCE (score 0) | "Aucun contenu social recommandé. Utilisez --force pour passer outre." |
| CHANGELOG.md introuvable | "CHANGELOG.md introuvable à la racine du projet." |
Fichiers de référence
references/tone-guidelines.md- Règles DO/DON'T, budget émoji, registre de languereferences/changelog-parsing-rules.md- Format CHANGELOG, extraction, algorithme de notationreferences/content-transformation.md- Correspondances technique -> valeur utilisateur (30+)assets/linkedin-template.md- ~1300 caractères, accroche + puces + CTA + hashtagsassets/twitter-template.md- 280 caractères simple ou filet de 2-3 tweetsassets/newsletter-template.md- ~500 mots, sections structuréesassets/slack-template.md- Compact, riche en émojis, formatage Slackexamples/version-output.md- Exemple complet de sortie pour v3.20.5examples/week-output.md- Exemple complet de sortie pour semaine 2026-01-27
Conseils
- Exécutez
/guide-recap latestjuste après/releasepour préparer les publications sociales - Utilisez
--interactiveles premières fois pour comprendre le système de notation - Utilisez
--format=linkedin --lang=frlorsque vous n'avez besoin que d'une seule sortie spécifique - Les sorties
--savesont ignorées par git via la conventionclaudedocs/ - Relisez et personnalisez avant de publier (ce sont des brouillons, pas des textes finaux)