# I built a service that turns GitHub PRs to customer readable changelogs

> Source: <https://dev.to/20sid02/i-built-a-service-that-turns-github-prs-to-customer-readable-changelogs-5611>
> Published: 2026-06-20 14:57:45+00:00

Nobody reads your PR titles. Especially not your users.

You merge "fix: offset bug in pagination endpoint" and your PM asks, "so what shipped this week?" Now you're scrolling through GitHub, rewriting commit messages into something a customer would understand.

I got tired of that loop, so I built **Shiplog** — a Python CLI that reads your merged PRs and rewrites them into clean, grouped changelogs.

One command:

`bash`

pip install shiplog-cli

shiplog generate your-org/your-repo --days 30

It fetches your merged PRs, runs each through an AI transform, and outputs a changelog grouped by category — New, Improved, Fixed, Infrastructure.

A PR titled fix: pagination offset bug in list endpoint becomes:

▎ Fixed

▎ Pagination now returns correct results — Previously, navigating past the first page of list views could skip or duplicate items due to an offset calculation error.

How it works

GitHub PRs → Shiplog API → { category, title, body } → Markdown or JSON

Quick examples

`cd your-project`

shiplog generate --days 14

`shiplog generate owner/repo --days 30 -o CHANGELOG.md`

`shiplog generate owner/repo --format json`

`shiplog single "Add dark mode support" --body "Adds theme toggle in settings"`

Why not just use git log?

git log gives you developer context. Changelogs need user context. "Refactor auth middleware to use JWT validation" means nothing to a customer.

Shiplog rewrites it as something like:

▎ Improved

▎ Login sessions are now more secure — We upgraded how authentication tokens are validated, improving security without any changes on your end.

That's the gap it fills.

Try it

`pip install shiplog-cli`

shiplog generate --days 7

It works on any public repo without auth. For private repoKEN or `gh auth token`

automatically.

Site: [https://shiplog.arksoft.xyz](https://shiplog.arksoft.xyz)

Would love feedback — what would make this useful for your workflow?
