roll-.changeloglisted
Install: claude install-skill seanyao/roll
# WK Generate Changelog
After successful Build & Deploy, extracts completed Stories from .roll/backlog.md to generate a user-friendly `CHANGELOG.md`.
## When Triggered
- **Auto-triggered**: After successful deploy of `$roll-build` or `$roll-fix`
- **Manual trigger**: When user requests "update changelog" / "更新 changelog"
## When Not to Use
- Generating commit messages or PR descriptions — this skill only runs post-deploy
- Recording dev diary / moments (use `$roll-notes`)
- Bumping package version (use the project's release script — Roll's lives in `roll-meta/ops/release.sh`)
## Workflow
### 1. Check CHANGELOG.md
```
CHANGELOG.md exists?
├── Yes → Append mode (add current deploy's changes)
└── No → Create mode (backfill all historical completed Stories)
```
### 2. Read .roll/backlog.md
```
Append mode:
Extract only the Story/Fix just deployed in this session.
Create mode:
Extract ALL Stories and Fixes with status ✅ Done.
Read each Story's .roll/features/<feature>.md for Completed date.
Group entries by completion date, reverse chronological order.
```
### 3. Filter for External Content
CHANGELOG 是给**使用者**看的,不是给维护者看的。一句话讲清"用户能做什么 / 不再被什么坑",能不写就不写。
**BACKLOG 描述写好了,CHANGELOG 就是复制 + 过滤,不是重写。**
如果 BACKLOG 描述已经是人话、一句话、说用户价值,直接用它(去掉 `depends-on:` 等功能性标签)。
只有 BACKLOG 描述包含实现细节或技术黑话时,才需要改写。
**FIX 条目的 filter 规则**:BACKLOG 的 FIX 描述通常是 `<用户症状> — <修复手段>` 结构。
CHANGELOG 只取破折号前的用户症状,丢弃破折号后的修复手段。
例:`roll update 后 loop 状态误报 off — reload 改用 bootout+bootstrap` → CHA