askill
fill-changelog

fill-changelogSafety 90Repository

Fill changelog entries for the current branch. Use when the user asks to fill changelog, write changelog entries, update changelog, or prepare changelog for a PR.

0 stars
1.2k downloads
Updated 2/2/2026

Package Files

Loading files...
SKILL.md

fill-changelog

Automate filling changelog entries based on the changes in the current branch.

Prerequisites

Version bumps MUST be configured before running this skill. If yarn version check fails, version files need to be adjusted first using yarn version patch/minor/major or yarn bumpVersions (interactive).

Workflow

Step 1: Validate Version Configuration

Run yarn version check to validate version manifests exist:

yarn version check

If fails: Stop and report error. The user must run yarn version patch, yarn version minor, yarn version major, or yarn bumpVersions first to configure version bumps.

Step 2: Create/Recreate Changelog Drafts

Run with force flag to ensure all drafts are created or recreated:

yarn changelog create -f

This creates files in .yarn/changelogs/ with the pattern {package-name}.{manifest-id}.md.

Step 3: Analyze Branch Changes

Gather information about changes:

git diff master...HEAD --stat
git log master...HEAD --oneline

Read the changed files to understand what was actually modified.

Step 4: Read Changelog Drafts

Use Glob to find .yarn/changelogs/*.md files, then Read to load their content.

Step 5: Fill Changelog Entries

Map changes to the appropriate sections and fill the changelog drafts.

Section Mapping

SectionWhen to Use
✨ FeaturesNew functionality, new files, new capabilities
πŸ› Bug FixesCorrections to existing behavior
πŸ“š DocumentationREADME, comments, documentation files
⚑ PerformanceOptimizations
♻️ RefactoringCode restructuring without behavior change
πŸ§ͺ TestsTest additions/modifications
πŸ“¦ BuildBuild system, dependencies configuration
πŸ‘· CICI/CD configuration changes
⬆️ DependenciesDependency updates
πŸ”§ ChoresOther maintenance tasks
πŸ’₯ Breaking ChangesMajor version only (REQUIRED)
πŸ—‘οΈ DeprecatedMinor/Major versions only

Quality Guidelines

Writing Style: Documentation, NOT Git Log

Write for package consumers, not as git history.

Avoid vague terms:

  • "improved", "updated", "refactored", "fixed bugs", "changed internal implementation"

Use specific, actionable language:

  • "Added pagination support to getUserList() with page and limit parameters"
  • "Fixed date picker not respecting user timezone in profile settings"

Version-Specific Requirements

Major Versions:

  • Document ALL breaking changes with descriptive titles
  • Explain WHAT changed and WHY
  • Include before/after code examples using ❌/βœ… markers
  • Provide migration guide with step-by-step instructions
  • Explain impact (who is affected)

Minor Versions:

  • Document new features with descriptive titles
  • Provide usage examples
  • Explain benefits/use cases

Patch Versions:

  • Be specific about bug fixes (not vague "fixed bugs")
  • Describe what was broken

List Items Need Descriptions

When listing multiple items (features, agents, tools, etc.), each item should include a brief description of what it does and why it matters:

// ❌ Bad - just names without context

- Added `reviewer-changelog`
- Added `reviewer-eslint`
- Added `reviewer-prettier`

// βœ… Good - each item explains its purpose

- Added `reviewer-changelog` - Validates changelog entries have high-quality, descriptive content
- Added `reviewer-eslint` - Runs ESLint checks to catch linting violations automatically
- Added `reviewer-prettier` - Validates code formatting matches project standards

Even for simple list items, the reader should understand what the item does without needing to look elsewhere.

Entry Format Examples

Simple List (straightforward changes)

## ✨ Features

- Added `exportToCSV()` function for data export
- Implemented multi-select filtering in list views

Detailed Entry (complex changes)

## ✨ Features

### New Data Export Feature

Export data in multiple formats for analysis and reporting.

**Usage:**

\`\`\`typescript
import { exportData } from 'common';

const result = await exportData(items, { format: 'csv' });
\`\`\`

Breaking Changes (major versions)

## πŸ’₯ Breaking Changes

### API Methods Now Use Object Parameters

Methods now accept object parameters instead of positional arguments.

**Examples:**

\`\`\`typescript
// ❌ Before
await injector.getInstance(MyService, arg1, arg2);

// βœ… After
await injector.getInstance(MyService, { arg1, arg2 });
\`\`\`

**Impact:** All callers of the affected methods need to be updated.

**Migration:** Search for method calls with `grep -r "getInstance"` and update to object syntax.

Validation

After filling entries, run:

yarn changelog check

This validates:

  • Every release has a changelog file
  • Major releases have filled "πŸ’₯ Breaking Changes" section
  • At least one section has content
  • Version type matches the manifest

Reference

For detailed guidelines, see:

  • .cursor/agents/reviewer-changelog.md (will review the filled entries)

Install

Download ZIP
Requires askill CLI v1.0+β–Ά

AI Quality Score

92/100Analyzed 2/12/2026

A high-quality, comprehensive skill for automating changelog generation. It provides clear steps, specific commands, and excellent stylistic guidelines for different version types.

90
100
70
95
98

Metadata

Licenseunknown
Version-
Updated2/2/2026
Publisherfurystack

Tags

apici-cdgithub-actionstesting