changeloglisted
Install: claude install-skill Maximumsoft-Co-LTD/claude-flightdeck
# /changelog — Generate from Git History
## Token budget (MANDATORY)
- Bound `git log` by the tag range — do not log the entire history.
- Use `--oneline --no-merges` to keep the output small.
- Read the existing `CHANGELOG.md` once to preserve prior entries; never re-Read it per commit.
## Usage
- `/changelog` — generate changelog for the current repo from git log since last tag
- `/changelog --unified` — aggregate all per-repo changelogs into the platform `CHANGELOG.md`
- `/changelog --all` — generate per-repo changelogs for every repo + unified
- `/changelog --dry-run` — preview without writing files
## How it works
### Step 1 — Detect context
Determine which repo you're in:
- Inside a service / component repo → generate for that repo
- At platform root with `--unified` → aggregate all repos
- At platform root without `--unified` → ask user to clarify
### Step 2 — Find version range
```bash
LATEST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
if [ -z "$LATEST_TAG" ]; then
RANGE="HEAD"
else
RANGE="${LATEST_TAG}..HEAD"
fi
```
### Step 3 — Parse git log
```bash
git log ${RANGE} --oneline --no-merges
```
Parse each commit per Conventional Commits: `<type>(<scope>): <description>`.
### Step 4 — Map to Keep-a-Changelog categories
| Conventional Commit Type | Changelog Category |
|---|---|
| `feat` | Added |
| `fix` | Fixed |
| `refactor`, `perf` | Changed |
| `docs` | Changed |
| `deprecate` (or message contains "deprecate") | Deprecated |
| `rev