/changelog
Changelog copy from a verified git range, each item traced to its commits.
Use it when preparing weekly updates, release summaries or social changelog cards.
Skip it to judge whether a release is safe to ship; run deploy-check for that.
Shipping counts for more when people can see it. Turn the git log into notes users understand, and every release earns attention.
npx skills add tushaarmehtaa/tushar-skills --skill changelog -g -a codex -yThen type $changelog in Codex, or describe the task and let it pick the skill.
What you get back
Real run on a sample projectDrafted a 271-character X post covering three shipped items and listed which commits it held back and why.
Write up what we shipped this week for our users, something I can post on X.
b674c00 2026-10-08 Mention cancel-anytime on pricing c29bfe0 2026-10-07 Format rupee amounts with Indian digit grouping 13bb2ae 2026-10-07 Add pricing FAQ 2949f54 2026-10-06 Wire plan checkout buttons on pricing c47d313 2026-10-05 Add SupportDesk chat widget a0ab97a 2026-10-04 Show product screenshot under the hero 334b5e0 2026-10-03 Add top navigation to all pages 14d98fd 2026-10-03 Add dashboard mock with expense ledger ea9d4d9 2026-10-02 Add pricing page with plan comparison table b78774c 2026-10-01 Add landing hero and feature cards 1a8cda0 2026-10-01 Scaffold Next.js app
I've written a post, but most of this week's commits shouldn't be announced yet. Several of them would make the post untrue. Draft for X (271 characters): > This week on Tallyroom 🧾 > > • A new top nav across the site, so you can get to Pricing and the FAQ from any page > • A first look at the product on the homepage > • A pricing FAQ that covers switching plans and who pays in a shared group > > More soon, with real billing next.
I've written a post, but most of this week's commits shouldn't be announced yet. Several of them would make the post untrue.
> This week on Tallyroom 🧾 > > • A new top nav across the site, so you can get to Pricing and the FAQ from any page > • A first look at the product on the homepage > • A pricing FAQ that covers switching plans and who pays in a shared group > > More soon, with real billing next.
"INR, USD, EUR, GBP, SGD and AED, with daily exchange rates" in the FAQ. Nothing in `app/` or `lib/` handles currencies or exchange rates. I'd remove or soften that answer before people see it.
Claude Code 2.1.295Picked the skill on its own27 s0 files changedIt wrote the post as text only and made no visual card.
How it checks its own work
From the skill's instructions- Every claim re-checked against the selected release range
- No breaking, security, or migration change is hidden
- Statistics recomputed with commands that match their labels
- Visual cards rendered at target size for clipping and overflow
The instructions
SKILL.md · 108 linesInstructions & references
Back to overview ↑On this page 8 sections
Changelog
Translate a clearly defined change range into truthful release communication. Let the amount and importance of shipped work determine the item count, technical depth, and visual format.
Establish scope
Infer from the request and repository:
- target branch, tag range, release, or date window;
- whether uncommitted or unreleased work is excluded;
- audience and expected technical depth;
- output: prose, Markdown, HTML card, image, or a combination;
- existing changelog policy, template, visual system, and prior examples.
Ask only when the range or release status remains ambiguous. Record the exact range in the handoff. Do not describe merged, committed, or feature-flagged work as live without deployment evidence.
Inspect what changed
Start with repository-native release tooling when present. Otherwise inspect the chosen range:
git log --oneline <range>
git diff --stat <range>
git diff --name-status <range>
Read unclear diffs and relevant tests or documentation. Group commits by user-visible behavior rather than commit boundaries.
Include internal changes when they affect compatibility, security, reliability, performance, migration, or operator behavior. Exclude churn that has no consequence for the intended audience.
For each candidate item, capture:
- user or operator impact;
- evidence commits or diff paths;
- release status;
- breaking, migration, security, or limitation details;
- confidence and any missing deployment evidence.
Draft for the audience
Use as many items as the range supports. Combine changes only when they form one coherent outcome; do not pad the update to fill a layout.
Each item should answer what changed and why the audience cares. Include implementation language when readers need it to adopt, debug, migrate, or evaluate the release.
Preserve the product's voice and capitalization. Do not force lowercase, emoji, slogans, or benefit-only language. If icons or category labels are part of an existing template, use them consistently and accessibly.
Call out breaking changes and required actions beside the affected item. Keep unverified deployment claims out of published copy and report them separately.
Calculate truthful statistics
Use metrics only when they help and label exactly what they count. Avoid presenting changed-file entries across commits as unique files.
For unique files in a git range:
git diff --name-only <range> | sort -u | wc -l
Use git diff --numstat <range> for added/deleted text lines, accounting for binary entries. A commit count, unique-file count, or changed-line count is not a proxy for user value.
Build a visual artifact conditionally
If the user requests a card or the repository has an established changelog template:
- inspect existing assets, CSS, dimensions, and prior output;
- preserve locked template code unless the user requested a design change;
- choose a layout that fits the actual item count and copy length;
- create the dated artifact using the repository's naming convention;
- render or capture it at the target dimensions.
When no template exists, derive typography, color, and attribution from repository brand evidence. Do not default to a dark monospace card. Build semantic HTML, keep text selectable where appropriate, and support the requested capture tool and operating system.
If the desired platform or dimensions are unclear and affect composition, ask or provide a sensible explicitly labelled format.
Output contract
Deliver the requested artifact plus:
Range: [commits/tags/dates and branch]
Audience and channel: [who/where]
Release status: [verified live, released, unreleased, or mixed]
Items: [final count]
Provenance: [item -> commits or paths]
Statistics: [definitions and values, if used]
Artifacts: [paths and dimensions]
Limitations: [deployment or content facts not verified]
For a prose-only request, do not create HTML. For an audit request, stop at findings and proposed copy unless the user also asked for edits.
Verify
- Re-check every claim against the selected range and release evidence.
- Confirm no meaningful breaking, security, compatibility, or migration change was hidden by the “user-facing” filter.
- Confirm combined items describe one outcome and no item exists merely to fill space.
- Recompute any statistics with commands that match their labels and handle binary files.
- Validate dates, product names, links, versions, and attribution.
- Render visual artifacts at target dimensions and inspect overflow, clipping, contrast, hierarchy, and long-item behavior.
- Open the actual output using an available tool or provide a render path; do not rely on manual screenshot instructions as verification.
- Report whether deployment/live status was directly verified or inferred.
Claude app, ChatGPT and ZIP download
local coding agent required
This skill requires project files and terminal commands. Uploading it to a chat app does not provide equivalent execution.
ChatGPT Skills
This workflow needs a local coding environment or capabilities that a chat-only Skills upload does not provide.
Package details
- Package
- changelog/SKILL.md
- Author
- @tushaarmehtaa
- Added
- 1 Mar 2026
- Tags