xiduzo/wtf/wtf-changelog
- community
Checking that the SKILL.md file is still in the repository.
This skill should be used when a developer wants to generate release notes or a changelog entry after merging a Feature or closing an Epic — for example "write the changelog", "generate release notes", "what shipped in this release", "create a GitHub Release for this feature", "document what we built", "update CHANGELOG.md", or "summarize what merged". Derives user-facing language from Feature capability names and canonical Gherkin scenarios, attributed through verified Traces' Scenario Claims, rather than from raw commit messages.
Install
npx vskill@latest install xiduzo/wtf/wtf-changelogSKILL.md
Changelog
Generate a changelog entry or GitHub Release from merged work.
This skill derives user-facing language from the spec hierarchy (Epic → Feature → canonical Gherkin scenarios), not from raw commit messages. The Feature body is canonical for scenario text. Verified Traces' Scenario Claims attribute which shipped behavior each Trace delivered. The output reads as product changes, not implementation details.
Shared behavior:
- User-question style →
../references/questioning-style.md - Commit / tag / release syntax →
../references/commit-conventions.md - Durable prose (changelog / release notes) →
../references/ste-writing.md
Process
0. GitHub CLI setup
Run ../references/gh-setup.md. Stop if gh is not installed or not authenticated.
1. Identify the release scope
If an Epic or Feature number was already passed in as context (e.g. from wtf.retro), skip the question and use it directly.
Otherwise ask the user whether the changelog covers a Feature, an Epic, or a date range. Each scope has distinct follow-up queries:
- Feature scope — walk the Feature and its closed child Traces per
../references/spec-hierarchy.md. Extract the capability name, the user stories, and their canonical Gherkin scenarios from the Feature body. Extract each verified Trace's Scenario Claim to attribute shipped behavior. A legacy Task child carries its own Gherkin and Functional Description in-body — extract those instead. - Epic scope — walk Epic → Features → Traces per the same reference, in parallel at each level.
- Date range scope — fetch merged PRs between two dates via
gh pr list --state merged --json number,title,mergedAt,bodyand filter with--jq.
2. Classify and translate each change
For every closed Feature or Trace in scope, do two things in one pass:
a. Classify into one of these buckets using the signal column:
| Type | Signal | |
|---|---|---|
| Added | New capability — Feature or Trace implements a previously-unavailable user action | |
| Changed | Refactor, performance, or UX enhancement reflected in Gherkin Then steps | |
| Fixed | Linked bug issue, or a claimed scenario describes a failure path that now passes | |
| Deprecated | Mentioned in Feature ACs or the Trace's story as phasing out | |
| Removed | Trace or Feature explicitly tears down prior behavior | |
| Breaking | Contract change in the Trace's Technical Approach (legacy Task: Contracts section), ! in PR title, or BREAKING CHANGE: trailer per ../references/commit-conventions.md |
b. Translate into user-facing language:
- Pull the domain actor and business outcome from the Feature capability name and its user stories (legacy Task: its Functional Description).
- Use the canonical Gherkin
Thensteps from the Feature body as the concrete observable change, translated to plain language. Take only the scenarios that verified Traces claim (legacy Task: its in-body Gherkin). - Do NOT use implementation vocabulary ("refactored X", "migrated Y", "updated the API") — use domain outcomes ("Merchants can now filter settlements by date range").
- Drop internal-only work (test infra, CI config, internal refactors with no user-facing effect) unless the release contains nothing else.
3. Draft the changelog entry
Apply strict STE per ../references/ste-writing.md before writing any durable body.
Follow Keep a Changelog conventions. Omit any section with no entries. For Epic-level changelogs, group entries under Feature headings if there are more than 5 entries.
4. Review with user
Show the draft. Then call AskUserQuestion (per ../references/questioning-style.md):
- question: "Does this accurately describe what shipped?"
- header: "Draft review"
- options:
- Approve and write → apply as-is and proceed
- Add missing items → add items before writing
- Adjust the phrasing → edit specific entries
Apply edits, then proceed.
5. Choose the output target
Call AskUserQuestion (per ../references/questioning-style.md):
- question: "Where should I write this changelog?"
- header: "Output target"
- options:
- Update CHANGELOG.md → prepend entry to the changelog file
- Create GitHub Release → create a tagged GitHub Release
- Both → update CHANGELOG.md and create a GitHub Release
6. Write CHANGELOG.md (if selected)
Read the current file (or create it with a # Changelog header if missing). Prepend the new entry after the # Changelog heading, above any existing entries.
Commit per ../references/commit-conventions.md:
7. Create the GitHub Release (if selected)
Call AskUserQuestion (per ../references/questioning-style.md):
- question: "Which tag should I use for this release?"
- header: "Release tag"
- options: from
git tag --sort=-version:refname | head -5. The user can type a new tag.
Write the entry to a temp file ($NOTES) with the Write tool. Then create the release via the gh body helper (../references/gh-body-helper.md) so the notes survive UTF-8 on Windows:
8. Report and offer to continue
Print the release URL and/or CHANGELOG.md path. Then call AskUserQuestion (per ../references/questioning-style.md):
- question: "What's next?"
- header: "Next step"
- options:
- Run retro → run
wtf.retroto close out the Epic (recommended if changelog covered an Epic) - Done → exit, no further action
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/wtf.changelog/SKILL.md
Popularity
- Repository stars
- 7
- Repository forks
- 2
- 7-day trend score
- 10
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/xiduzo/wtf/wtf-changelog)