SuperAPI AI Directory

changelog

Deployment & operations

View repository

Updated 10-15 20:04

About this skill

Changelog Writer

Organize changes and change owners (contact persons) in CHANGELOG.md, and bump the package.json version as well.

Activation Conditions

  • When requested with "write a changelog", "organize change history"
  • When "update CHANGELOG", "write release notes" is mentioned
  • When requested for work related to "changelog while bumping version"

Execution Steps

Step 1: Assess current state

# 1. 현재 버전 확인
grep -m 1 '"version"' package.json
2. Check commits since the latest tag (if no tag, all commits)

git tag --sort=-v:refname | head -1 git log $(git tag --sort=-v:refname | head -1)..HEAD --oneline --no-merges 2>/dev/null ||
git log --oneline --no-merges -20

3. Check existing CHANGELOG.md

head -30 CHANGELOG.md 2>/dev/null || echo "No CHANGELOG.md - create new"


### 2단계: 버전 유형 선택

사용자에게 버전 유형을 확인합니다.

| 유형 | 변환 | 사용 시점 |
|------|------|----------|
| `patch` | `X.Y.Z` → `X.Y.(Z+1)` | 버그 수정, 작은 변경 |
| `minor` | `X.Y.Z` → `X.(Y+1).0` | 기능 추가 (하위 호환) |
| `major` | `X.Y.Z` → `(X+1).0.0` | 대규모 변경 (하위 호환 X) |

### 3단계: 변경 사항 분석

커밋 로그를 분석하여 카테고리별로 분류합니다.

**커밋 분류 기준:**

| 카테고리 | 커밋 타입 | 아이콘 |
|----------|----------|--------|
| 새 기능 | `feat` | ✨ |
| 버그 수정 | `fix` | 🐛 |
| 리팩토링 | `refactor` | ♻️ |
| 문서 | `docs` | 📝 |
| 스타일 | `style` | 💄 |
| 테스트 | `test` | ✅ |
| 빌드/설정 | `chore`, `build`, `ci` | 🔧 |

**담당자 추출:**

```bash
# 커밋별 작성자 확인
git log $(git tag --sort=-v:refname | head -1)..HEAD --format="%s|%an" --no-merges

Step 4: Write CHANGELOG.md

Add a new version section at the top of CHANGELOG.md in the format below.

Format: CHANGELOG Format Guide reference

## [X.Y.Z] - YYYY-MM-DD

### ✨ 새 기능
- 기능 설명 — @담당자

### 🐛 버그 수정
- 수정 내용 — @담당자

### ♻️ 리팩토링
- 변경 내용 — @담당자

Writing rules:

  • At the end of each item, — @담당자이름 indicate the contact person in the format
  • Omit categories with no changes
  • The date is YYYY-MM-DD (today's date)
  • Insert at the top so existing content is not pushed down

Step 5: Update package.json version

# package.json의 version 필드를 새 버전으로 수정
# Edit 도구를 사용하여 "version": "이전버전" → "version": "새버전" 변경

In case of a monorepo: Modify only the package.json of that package.

Step 6: Verify results

Show the changed files to the user:

# 변경된 파일 확인
git diff --stat

# CHANGELOG.md 상단 확인
head -30 CHANGELOG.md

Initial CHANGELOG.md structure

If CHANGELOG.md does not exist or is empty, start with the header below:

# Changelog

이 프로젝트의 주요 변경 사항을 기록합니다.
형식은 [Keep a Changelog](https://keepachangelog.com/ko/1.1.0/)를 기반으로 합니다.

## [X.Y.Z] - YYYY-MM-DD
...

Precautions

  • Always confirm with the user before modifying package.json
  • The commit author and the actual owner may differ, so confirm with the user
  • Add to the top without overwriting existing CHANGELOG.md content
  • Use the Git commit author as the default for the owner name, but the user can modify it