How to Write a Changelog People Can Scan in 20 Seconds
A 15-minute website skill for a changelog people can scan in 20 seconds. Each line is a date, a verb, and who it is for. Ban a novel. ChatGPT, Claude, or Gemini, then one pass with a timer. Not a landing hero and not a product brochure.
Anyone shipping a weekly release can write a changelog in 15 minutes: each line is a date, a verb, and who it is for, readable in 20 seconds. Run it in ChatGPT, Claude, or Gemini before a launch novel trains users to skip the page.
A changelog is a receipt, not a memoir. If a line needs a deep breath, it is still a blog.
Do not write this page like a landing hero in one sentence. A hero is a claim. A changelog is a log. Do not write it like a product description that is not a brochure either. That skill sells a thing. This skill dates a change.
Write a changelog a reader can scan
1. One date per release, not a season
Instruct ChatGPT, Claude, or Gemini: "Do not draft copy yet. Write one date line in ISO or a weekday plus date I paste. If I did not paste a date, write UNKNOWN and stop. No this week. No latest. No recently."
Paste the real ship date. 2026-08-22. Not "our August drop." A season is a campaign. A changelog is a clock. If two days of work shipped as one release, one date. The date is when it went live.
Banned: we're excited, journey, delighted to announce, various improvements, under the hood, recently.
2. Verb plus object, named for one reader
Send the date back. Instruct: "Each change is one line: [verb] [object] for [who]. Who is a role a reader can be, not everyone. If I cannot name who, mark the line CUT. Do not invent a buyer."
Good: "Added CSV export for billed editors." Good: "Raised the upload cap to 2 GB for teams." Bad: "Improved the experience for users." Users is not a who. Experience is not an object.
Seven lines max per date. An eighth is a dump of commits. UNKNOWN on a limit is better than guessing "unlimited." Unlimited is a legal sentence.
3. Force a scan list, ban the novel
Now ask for the page. Hard cap: date, then a list. No hero paragraph. No "why we built this."
Tell the model: "Output a changelog. One date. Up to seven lines. Each line is verb, object, who. If a banned phrase appears, rewrite the whole list. Do not add a preamble. Do not add a closing thank-you."
ChatGPT will add a warm intro. Claude will hedge "added" into "began rolling out." Gemini will group items under themes like Delight. Cut all three. Themes are chapters. Chapters are novels.
If you need a search snippet for the page, write it separately with an SEO title that sounds human. Do not stuff the meta into the first bullet.
4. One human pass with a 20-second timer
Open a timer. Twenty seconds. Read the list out loud as if you landed from a 404 and had one glance. Steal the brevity of 404 copy that sends onward, not the joke.
Check three traps:
- A line with no who.
- A date that is a season.
- A paragraph hiding under a bullet.
Fix the words yourself. Then tell the model: "Replace only the lines I changed. Do not add a testimonial. Do not add What's next."
One pass. A second pass is how a changelog grows a manifesto.
5. Ship the list. Save the bans
Paste the date and the lines onto /changelog. The heading is the date, not "New stuff." A CTA is optional and one: Read the doc, not Book a demo.
Save the date-verb-who shape. Next release, rerun the loop. If product wants a story "just this once," put the story on the blog. Leave the changelog a list. Stop.
Reusable skill card
Trigger: You are drafting /changelog and the first line still says we are excited to announce.
Input: The real ship date, up to seven changes as verb plus object, who each line is for, plus the banned-phrase list.
Output: One date and a list of up to seven lines, each verb-object-who, readable in 20 seconds. UNKNOWN where a date or who is missing. CUT where a line has no who.
Stop: After one 20-second read-aloud pass. No preamble. No novel. No eighth item. No journey.
Takeaways
- Date, verb, who. If a line needs a paragraph, it is a blog.
- Seven lines max. An eighth is a commit dump.
- UNKNOWN beats recently. Do not ship a season as a date.
- A landing hero is a claim. A changelog is a log. Do not merge them.
Frequently Asked Questions
Can I add a paragraph of context under each bullet?
No. Context is a link to the doc. A paragraph under every bullet is how a changelog becomes a blog nobody scans.
What if sales wants a story about the journey?
That story is a launch post, not a changelog. Keep the page a list. If they need a hero, write one separately.
Should I use ChatGPT, Claude, or Gemini for this?
Any of the three works. Claude is strict with the date-verb-who shape. ChatGPT is fast at verbs. Gemini is fine. All three will write a novel unless you ban it.
How many items in one release?
Seven or fewer. An eighth item is a dump. If you cannot name who it is for, it is not a changelog line. It is a commit.
Do I hide bugfixes from customers?
No. Write the bugfix as a verb plus who it is for. "Fixed export timeout for billed seats" scans. "Various improvements" does not.