Changelogs Skill
Update CHANGELOG.md files to reflect changes made in the current git branch.
When to Use
- •When asked to update or write changelogs
- •When preparing a PR for merge
- •When documenting recent changes before release
Instructions
Step 1: Analyze Branch Changes
Run these git commands to understand what changed:
bash
# Get the base branch (usually master or main) git log --oneline -1 origin/master # List all commits in current branch not in master git log origin/master..HEAD --oneline # Show changed files with their packages git diff origin/master --name-only
Step 2: Identify Affected Packages
Determine which packages were modified by checking changed file paths:
- •
packages/react/src/atomic/<Component>/*→ Updatepackages/react/src/atomic/<Component>/CHANGELOG.md - •
packages/react/src/composite/<Component>/*→ Updatepackages/react/src/composite/<Component>/CHANGELOG.md - •
packages/core/styles/*→ Updatepackages/core/styles/CHANGELOG.md - •
packages/core/tokens/*→ Updatepackages/core/tokens/CHANGELOG.md - •Any package change → Also update the root
CHANGELOG.md
Step 3: Classify the Change
Determine the change type based on commit messages and diff:
| Type | Category | Version Bump |
|---|---|---|
| Breaking API changes | 🛠 Breaking changes | Major (x.0.0) |
| New props, components, features | 🎉 New features | Minor (0.x.0) |
| Bug fixes, corrections | 🐛 Bug fixes | Patch (0.0.x) |
| Dependency updates | 📚 3rd party library updates | Patch |
| Refactors, docs, tooling | 💡 Others | Patch |
Step 4: Write the Entry
Format:
markdown
## YYYY-MM-DD `version` #### <emoji> <category> - <Summary of the change>. ([#PR](https://github.com/TiendaNube/nimbus-design-system/pull/PR) by [@contributor](https://github.com/contributor))
Writing Guidelines:
- •Be concise: One sentence summarizing the user-facing impact
- •Focus on "what": Describe the outcome, not implementation details
- •Use past tense: "Added", "Fixed", "Updated", not "Add", "Fix", "Update"
- •Avoid code details: No mention of specific functions, variables, or files
Good examples:
- •
Added disabled state styling to Input component. - •
Fixed focus ring not appearing on keyboard navigation. - •
Updated Button to support icon-only variant.
Bad examples:
- •
Update Input.tsx to add handleFocus callback and modify CSS classes. - •
Fixes bug in line 45 of nimbus-input.css.ts where outline was missing.
Step 5: Ask for Missing Information
If any of the following is unknown, ask the user:
- •PR number: Required for the entry link
- •GitHub username: Required for contributor attribution
- •Version number: If not clear from existing changelog
Step 6: Update the Files
- •Read the existing CHANGELOG.md for the affected package(s)
- •Determine the next version based on current version + change type
- •Insert the new entry at the TOP, below the
# Changelogheader - •Use today's date in YYYY-MM-DD format
- •Update package-specific CHANGELOG.md file, and only update the root CHANGELOG.md file if the change is related to the root monorepo.
Reference
Full formatting rules are defined in .cursor/rules/changelogs.mdc.