---
title: "Store release notes from a Claude skill"
description: "Writing release notes for two app stores in three languages was becoming a chore. A small Claude Code skill now reads the commits, writes the notes and leaves me with the copying and pasting."
url: "https://rayson.me/writing/release-notes-skill/"
category: "Engineering"
author: "Janarayson"
published: 2026-09-17
---

Of all the things involved in releasing an app, writing the release notes is the part I like least.

It's not difficult, just repetitive. I have to go through the commits since the previous build, figure out which changes matter to users, write a short summary in English, then do the same in Malay and Chinese for both app stores.

Since MoneyMama launched, we've been pushing out a new build every few days. That means going through the same routine several times a month, and the translations are especially tiring.

So I made a Claude Code skill to do it for me, much like how we're already using skills for [our blog posts and carousels](/writing/marketing-as-code-part-2/).

## Turning commits into release notes

Now, whenever I prepare a release, I type something like:

```text
/release-note 18 to 19
```

Those are the previous and current build numbers. The skill finds the corresponding release commits, reads the changes between them and writes release notes for Google Play and the App Store, in English, Bahasa Malaysia and Simplified Chinese.

Most of the skill is a set of rules I'd otherwise have to remember every time.

For example, it uses the actual names of screens and features in each language. The Money tab is called Wang in Malay and 钱包 in Chinese, so that's what the notes should say. There's no point telling someone to look for a screen with a name that doesn't appear in their app.

The formatting stays consistent too. Each note has two sections, New and Fixed, with the same bullet character in all three languages. No exclamation marks or marketing slogans, and Chinese is always Simplified Chinese.

There are also different character limits to deal with. Google Play allows 500 characters per language, while the App Store allows 4,000. A small script checks the lengths before the skill gives me the finished notes.

The first few attempts were too wordy. Claude was treating the release notes like a changelog, describing nearly everything we'd done.

That's not what I wanted. Someone updating MoneyMama doesn't need to know about refactoring, dependency upgrades, tests or other changes they won't notice.

I just wanted something short and easy to scan.

So I adjusted the skill to group related changes, limit each New and Fixed section to four bullets, and keep every bullet to a single line.

Here's the English note for version 1.0.4, which I think was the first release I used the skill for:

```text
New
• Receipts: every expense you photographed, on one screen, filter by category.
• Money shortcuts: Scan, Receipts, Split bill, Import, Budgets, Recurring, Reminders, Export.
• Tap the Money total to swap between spent and left to spend.
• Mama sometimes replies with a GIF.

Fixed
• Links in Mama's messages now open.
• Tidier Money list: the period is the heading, search and filters behind one button.
• The chat box stays one line until you type.
```

The Malay and Chinese versions came out alongside it, with the wording adapted to the labels in the app.

All I had to do was copy and paste the notes into Play Console and App Store Connect.

<figure class="fig">
  <img src="https://static.klipy.com/ii/2711dd8a75a85be822d136ec94899b3f/b6/52/BSecR0GU.gif" alt="Brent Rambo giving a thumbs up at a computer: Ctrl C, Ctrl V" width="320" height="240" loading="lazy" />
</figure>

The whole thing is just a page of instructions in a markdown file and a script of about sixty lines.

It's a small tool, but it gets rid of something I used to dread every few days. And these days, when something in your development process keeps annoying you, it's become fairly easy to build a little tool to take care of it.

<Note label="Update, October 2026">

I added another rule after spotting a mistake in one of the notes.

We'd published a fix described as "the iPhone message box shrinks back after sending". It appeared in the App Store release notes, where everyone reading it was already using an iPhone.

There was no reason to mention the platform.

The skill now checks the code to work out whether each change applies to both platforms, only iOS or only Android, rather than relying on what the commit message says.

Platform-specific fixes only appear in the relevant store's notes, and neither version needs to say which platform it's for. The validation script also flags any mention of platform names so I can catch them before publishing.

Here's how the release note for version 1.0.8 looks on Google Play.

<Figure
  src={threeLanguages}
  alt="MoneyMama's 1.0.8 release notes on Google Play in English, Bahasa Malaysia and Simplified Chinese, each with New and Fixed sections"
  caption="The 1.0.8 release notes on Google Play, in all three languages."
  wide
/>

I've also written about how we build and distribute the app in [Why MoneyMama builds on Expo and ships through Codemagic](/writing/expo-and-codemagic/).

</Note>
