Turn your merged GitHub PRs into an Amazon-style PR/FAQ release page in Notion — without writing it by hand.
shipnote is a Claude Code plugin. Point it at your repos, and it scans the PRs merged since your last release, drafts a working-backwards press release plus grouped release notes, and publishes it as a draft page in Notion for you to review and share. It never creates git tags or GitHub releases — the version number lives in Notion. GitHub access is read-only.
It was built for product managers who want a crisp, stakeholder-ready release narrative out of what the team actually shipped — not a raw changelog.
A single Notion page per release:
- A press release — headline, dateline, the problem, the solution described by user outcome, illustrative quotes, getting-started, and a short FAQ. The Amazon "working backwards" format.
- Release notes — grouped by surface (app / backend / dashboard), one line per change with a PR link and issue ref.
- Screenshots (optional) — pulled from a staging URL if you configure one.
- Claude Code with the GitHub and Notion MCP connectors configured
- The
ghCLI, authenticated (read-only is enough) - Playwright MCP — only if you want the optional screenshot step
claude plugin marketplace add Arak00/shipnote
claude plugin install shipnoteThen reload / start a fresh session so the skill loads.
/shipnote
or just say "cut a release" / "draft a PR/FAQ". If your workspace has more than one product, name it: /shipnote web.
Nothing to configure by hand. The first time you run it in a repo, shipnote asks a handful of questions — product name, the Notion page releases live under, which repos to scan (and whether any are shared with another team), your audience, and optional preview env / conventions — then writes .claude/shipnote/config.yaml. Every run after that reuses it. Commit that file to share the config with your team.
See skills/shipnote/config/example.yaml for the full, annotated schema.
Per-project settings live in your repo's .claude/shipnote/config.yaml, not inside the plugin — so they persist across plugin updates and travel with your repo. One workspace can hold multiple products under products:. Every screenshot, issue-tracker, and preview field is optional; a project with one repo and no screenshots gets a three-line config.
- Draft-only. The page is created as a draft for you to review; the plugin never shares or posts it anywhere.
- Versioning lives in Notion. No git tags, no GitHub releases. The release number is whatever the last Notion page says, bumped.
- Shared repos. If a repo is shared with another team, mark it
shared: trueand list the authors whose PRs count as yours — everyone else's are filtered out.
MIT © Alex Cartier. See LICENSE.
Contributions welcome — open an issue or PR.