Back to Skills

changelog-update

verified

Use when managing CHANGELOG entries. Check for undocumented commits, format and apply new entries safely.

View on GitHub

Marketplace

awesome-slash

avifenesh/awesome-slash

Plugin

sync-docs

development

Repository

avifenesh/awesome-slash
290stars

plugins/sync-docs/skills/changelog-update/SKILL.md

Last Verified

February 1, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/avifenesh/awesome-slash/blob/main/plugins/sync-docs/skills/changelog-update/SKILL.md -a claude-code --skill changelog-update

Installation paths:

Claude
.claude/skills/changelog-update/
Powered by add-skill CLI

Instructions

# changelog-update

Manage CHANGELOG.md updates for the repository.

## Input

Arguments: `check | apply <commits-json> | format <entry-json>`

### Commands

- **check**: Scan for undocumented commits
- **apply**: Add entries to CHANGELOG
- **format**: Format a single entry (dry-run)

## Check Mode

Scan recent commits and identify those missing from CHANGELOG.

```bash
# Get commits since last CHANGELOG update
git log --oneline --since="$(git log -1 --format=%ci CHANGELOG.md)" --no-merges
```

### Categorization

Commits are categorized by conventional commit prefix:

| Prefix | Category | CHANGELOG Section |
|--------|----------|-------------------|
| `feat:` | Feature | Added |
| `fix:` | Bug Fix | Fixed |
| `perf:` | Performance | Changed |
| `docs:` | Documentation | (skip) |
| `chore:` | Chore | (skip) |
| `refactor:` | Refactor | Changed |
| `breaking:` | Breaking | Breaking Changes |

### Output Format

```json
{
  "changelogPath": "CHANGELOG.md",
  "lastUpdateDate": "2024-01-15",
  "undocumented": [
    {
      "sha": "abc1234",
      "message": "feat: add user authentication",
      "category": "Added",
      "date": "2024-01-20"
    },
    {
      "sha": "def5678",
      "message": "fix: resolve memory leak in cache",
      "category": "Fixed",
      "date": "2024-01-18"
    }
  ],
  "documented": 12,
  "status": "needs-update"
}
```

## Apply Mode

Add new entries to CHANGELOG.md.

### Input

```json
[
  {
    "sha": "abc1234",
    "message": "feat: add user authentication",
    "category": "Added"
  }
]
```

### Process

1. Parse existing CHANGELOG structure
2. Find or create section for current version
3. Add entries under appropriate categories
4. Preserve existing formatting

```javascript
function applyEntries(changelogPath, entries) {
  const content = fs.readFileSync(changelogPath, 'utf8');
  const parsed = parseChangelog(content);

  // Find unreleased section or create one
  let unreleased = parsed.sections.find(s => s.title === 'Unreleased');
 

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
3999 chars