opção

Gera entradas no changelog a partir dos commits realizados desde o último lançamento. Use essa função quando o usuário quiser atualizar o arquivo CHANGELOG.md, adicionar entradas ao changelog ou documentar as alterações.

...Expandir tudo
54
Tempo atualizado 29 de Junho de 2026

Sobre changelog

A habilidade “ changelog ” automatiza o processo de geração de entradas no arquivo ` changelog ` a partir dos commits do Git realizados desde o último lançamento. Ela foi projetada para ajudar as equipes de desenvolvimento a manter um registro consistente e focado no usuário das alterações em seus projetos. Ao analisar mensagens de commit e distinguir entre alterações visíveis ao usuário e alterações internas, essa skill garante que o arquivo CHANGELOG.md reflita atualizações significativas e relevantes para os usuários finais. Isso reduz o trabalho manual, evita que alterações sejam ignoradas e garante que a documentação de lançamento permaneça precisa e atualizada.

A skill oferece um fluxo de trabalho estruturado para extrair informações de commits, categorizar alterações e formatar entradas em um estilo padronizado. Os principais recursos incluem a identificação de alterações voltadas para o usuário, como novos recursos, correções de bugs, melhorias de desempenho, descontinuações e atualizações de segurança, ao mesmo tempo em que exclui alterações puramente internas, como refatoração, testes ou modificações de CI/CD. Ela extrai automaticamente referências a issues a partir de mensagens de commit e organiza as entradas em categorias predefinidas (Adicionado, Alterado, Corrigido, Removido, Obsoleto, Segurança). Além disso, determina a seção apropriada do changelog com base no branch atual, oferecendo suporte tanto a versões lançadas quanto a uma seção “Não lançado”. A skill utiliza comandos Bash e a ferramenta Edit para ler e atualizar o changelog de maneira integrada.

Essa skill é ideal para desenvolvedores, gerentes de lançamento e equipes que mantêm projetos de software de código aberto ou internos e desejam otimizar a manutenção do changelog. É especialmente útil para projetos com commits frequentes ou vários colaboradores, pois garante que todas as alterações relevantes para o usuário sejam documentadas de forma consistente. Os usuários se beneficiam da economia de tempo, da redução de erros e de um “ changelog ” profissional e estruturado, que comunica as atualizações de forma clara aos usuários finais, partes interessadas e colaboradores.

Perguntas frequentes

Como uso a skill “ changelog ”?

Comece executando a skill no repositório do seu projeto. Ela detectará automaticamente os commits desde o último lançamento, categorizará as alterações visíveis ao usuário, extrairá referências a issues e atualizará o arquivo ` CHANGELOG.md` na seção apropriada (Lançamento não publicado ou lançamento versionado).

Que tipos de alterações estão incluídas no ` changelog`?

A skill inclui alterações visíveis ao usuário, como novos recursos, correções de bugs, melhorias de desempenho, alterações compatíveis, descontinuações e correções de segurança. Alterações internas, como refatoração, testes, CI/CD ou atualizações de estilo de código, são excluídas, a menos que afetem o comportamento visível ao usuário.

Ela consegue lidar com repositórios sem tags de lançamento anteriores?

Sim, se não houver nenhuma tag de lançamento anterior, a skill analisa os commits mais recentes (até 50) para gerar entradas de “ changelog ” e as coloca na seção “Não lançado”.

Ele mescla automaticamente novas entradas com o conteúdo existente do ` changelog `?

Sim, a skill lê o arquivo .md atual de “ CHANGELOG ”, cria a seção de destino caso ela não exista e mescla as novas entradas, evitando duplicatas.

As referências a issues são obrigatórias nas mensagens de commit?

Não, as referências a issues são opcionais. Quando presentes, elas são incluídas na entrada no formato ‘(#123)’. Várias referências são mescladas como ‘(#123, #124)’.

Ver no 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.

Todos os arquivos

1 arquivos
SKILL.md 4.3k
Ver

Instalar changelog

Baixe e extraia os arquivos de habilidades para o diretório .claude/skills/.

Baixar ZIP

Clone o repositório e copie os arquivos da habilidade para o seu projeto.

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

Copiar Copiar
Configuração rápida: Copie a pasta da habilidade para .claude/skills/. O Claude detectará e utilizará automaticamente a habilidade
Repositório sakuro/dotfiles

Habilidades relacionadas

code-simplify
Tempo atualizado 2 de Julho de 2026
requesting-code-review
Tempo atualizado 29 de Junho de 2026
commit-standards
Tempo atualizado 29 de Junho de 2026
Git Commit Helper
Tempo atualizado 29 de Junho de 2026
OR