option

Génère des entrées de journal des modifications à partir des commits effectués depuis la dernière version. À utiliser lorsque l'utilisateur souhaite mettre à jour le fichier CHANGELOG.md, ajouter des entrées au journal des modifications ou documenter les modifications apportées.

...Développer tout
54
Heure mise à jour 29 juin 2026

À propos changelog

La compétence « changelog » automatise le processus de génération des entrées changelog à partir des commits Git effectués depuis la dernière version. Elle est conçue pour aider les équipes de développement à maintenir un historique cohérent et axé sur l’utilisateur des modifications apportées à leurs projets. En analysant les messages de commit et en distinguant les modifications visibles par les utilisateurs de celles internes, cette compétence garantit que le fichier ` CHANGELOG.md` reflète des mises à jour pertinentes pour les utilisateurs finaux. Cela réduit le travail manuel, évite que des modifications ne soient négligées et garantit que la documentation de la version reste précise et à jour.

Cette compétence fournit un workflow structuré pour extraire les informations de commit, catégoriser les modifications et formater les entrées selon un style standardisé. Parmi ses principales fonctionnalités, on peut citer l’identification des modifications destinées aux utilisateurs, telles que les nouvelles fonctionnalités, les corrections de bogues, les améliorations de performances, les dépréciations et les mises à jour de sécurité, tout en excluant les modifications purement internes comme la refactorisation, les tests ou les modifications CI/CD. Elle extrait automatiquement les références aux tickets à partir des messages de commit et organise les entrées en catégories prédéfinies (Ajouté, Modifié, Corrigé, Supprimé, Obsolète, Sécurité). De plus, il détermine la section appropriée de l’ changelog en fonction de la branche actuelle, prenant en charge à la fois les versions publiées et une section « Non publiée ». Cette compétence utilise des commandes Bash et l’outil Edit pour lire et mettre à jour l’ changelog en toute transparence.

Cette skill est idéale pour les développeurs, les responsables de versions et les équipes chargées de la maintenance de projets logiciels open source ou internes qui souhaitent rationaliser la gestion de l’ changelog. Elle est particulièrement utile pour les projets comportant des commits fréquents ou de multiples contributeurs, car elle garantit que toutes les modifications pertinentes pour les utilisateurs sont documentées de manière cohérente. Les utilisateurs bénéficient d’un gain de temps, d’une réduction des erreurs et d’une « changelog » professionnelle et structurée qui communique clairement les mises à jour aux utilisateurs finaux, aux parties prenantes et aux contributeurs.

FAQ

Comment utiliser la compétence « changelog » ?

Commencez par exécuter la skill sur le dépôt de votre projet. Elle détectera automatiquement les commits effectués depuis la dernière version, classera les modifications visibles par les utilisateurs, extraira les références aux tickets et mettra à jour le fichier ` CHANGELOG.md` dans la section appropriée (version non publiée ou version publiée).

Quels types de modifications sont inclus dans le fichier « changelog » ?

La skill inclut les modifications visibles par les utilisateurs, telles que les nouvelles fonctionnalités, les corrections de bogues, les améliorations de performances, les changements de compatibilité, les dépréciations et les correctifs de sécurité. Les modifications internes, telles que la refactorisation, les tests, le CI/CD ou les mises à jour du style de code, sont exclues, sauf si elles affectent le comportement visible par les utilisateurs.

Peut-elle traiter des dépôts ne comportant pas de balises de version antérieures ?

Oui, s’il n’existe aucune balise de version antérieure, la skill analyse les commits les plus récents (jusqu’à 50) pour générer des entrées « changelog » et les place dans la section « Non publié ».

Fusionne-t-il automatiquement les nouvelles entrées avec le contenu existant d’ changelog?

Oui, la skill lit le fichier .md actuel d’ CHANGELOG, crée la section cible si elle n’existe pas et fusionne les nouvelles entrées tout en évitant les doublons.

Les références aux tickets sont-elles obligatoires dans les messages de commit ?

Non, les références aux tickets sont facultatives. Lorsqu’elles sont présentes, elles sont incluses dans l’entrée au format « (#123) ». Les références multiples sont fusionnées sous la forme « (#123, #124) ».

Voir sur GitHub

Changelog Generation Skill

Analyzes commits since the last release and adds user-facing changes to CHANGELOG.md.

Instructions

IMPORTANT: When using this skill, announce to the user: "Using changelog skill to generate changelog entries."

1. Get Last Release Tag

# Get the most recent release tagLAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")if [ -z "$LAST_TAG" ]; then  echo "No previous release tag found. Will analyze all commits."fi

2. Get Commits Since Last Release

# If tag existsgit log --format="%H %s" "$LAST_TAG"..HEAD# If no tag, get recent commitsgit log --format="%H %s" -50

3. Analyze Each Commit

For each commit, determine if it has user-facing impact:

Include (user-facing):

  • New features (:sparkles:)
  • Bug fixes (:bug:)
  • Performance improvements (:zap:)
  • Breaking changes (:boom:)
  • Deprecations
  • Security fixes (:lock:)

Exclude (internal):

  • Refactoring (:recycle:) - unless it changes behavior
  • Tests (:white_check_mark:)
  • CI/CD changes (:construction_worker:)
  • Documentation (:memo:) - unless user-facing docs
  • Code style (:art:)
  • Merge commits

4. Extract Issue References

Look for issue references in commit messages:

  • #123
  • Fixes #123
  • Closes #123
  • Related to #123

5. Categorize Changes

Group entries by category:

### Added- New features### Changed- Changes to existing functionality### Fixed- Bug fixes### Removed- Removed features### Deprecated- Soon-to-be removed features### Security- Security fixes

6. Format Entries

Each entry should:

  • Start with imperative verb (Add, Fix, Change, Remove)
  • Be concise (one line)
  • Include issue reference at end if available

Examples:

- Add list formatting support (#42)- Fix memory leak in data provider (#88)- Change default locale to en-US

7. Determine Target Section

# Get current branchBRANCH=$(git branch --show-current)# Determine target sectionif [[ "$BRANCH" =~ ^release-v([0-9]+\.[0-9]+\.[0-9]+)$ ]]; then  # On release branch → target is that version  TARGET_SECTION="[${BASH_REMATCH[1]}]"else  # Not on release branch → target is Unreleased  TARGET_SECTION="[Unreleased]"fi

8. Update CHANGELOG.md

  1. If target section doesn't exist, create it
  2. Add/merge entries under the target section

Creating new section if needed:

  • For [Unreleased]: Add after the header, before first version section
  • For version [X.Y.Z]: Add after [Unreleased], before previous versions

Example structure:

## [Unreleased]## [0.7.0] - 2024-01-15### Added- New feature description (#123)## [0.6.0] - 2024-01-01...

Use the Edit tool to update CHANGELOG.md.

Workflow

  1. Get last release tag
  2. List commits since that tag
  3. For each commit:
    • Read commit message
    • Determine if user-facing
    • Extract issue references
    • Categorize (Added/Changed/Fixed/etc.)
  4. Determine target section:
    • On release-vX.Y.Z branch → [X.Y.Z]
    • Otherwise → [Unreleased]
  5. Read current CHANGELOG.md
  6. Create target section if it doesn't exist
  7. Merge new entries with existing content in target section
  8. Update CHANGELOG.md using Edit tool

Guidelines

Entry Writing

  • Use imperative mood: "Add" not "Added" or "Adds"
  • Be specific but concise
  • Focus on user impact, not implementation details
  • One logical change per entry

Issue References

  • Always include if available
  • Format: (#123) at end of line
  • Multiple issues: (#123, #124)

Avoiding Duplicates

  • Check existing [Unreleased] entries before adding
  • Merge or update if similar entry exists

Example Output

## [Unreleased]### Added- Implement DecimalFormatter for number formatting (#42)- Add locale fallback support### Changed- Update default collation strength to tertiary### Fixed- Fix crash when parsing invalid locale string (#55)- Resolve memory leak in DataProvider (#58)

Arguments

This skill takes no arguments. It always analyzes commits from the last release tag to HEAD.

Tous les fichiers

1 fichiers
SKILL.md 4.3k
Voir

Installer changelog

Téléchargez et décompressez les fichiers de compétences dans votre répertoire .claude/skills/.

Télécharger le ZIP

Clonez le dépôt et copiez les fichiers de compétence dans votre projet.

git clone https://github.com/sakuro/dotfiles/blob/main/.config/claude/skills/changelog/SKILL.md # Copy SKILL.md to your .claude/skills/ directory

Copier Copier
Configuration rapide: Copiez le dossier de la compétence dans .claude/skills/ ; Claude la détectera automatiquement et l'utilisera.
Dépôt sakuro/dotfiles

Compétences similaires

code-simplify
Heure mise à jour 2 juillet 2026
requesting-code-review
Heure mise à jour 29 juin 2026
commit-standards
Heure mise à jour 29 juin 2026
Git Commit Helper
Heure mise à jour 29 juin 2026
OR