How to Generate Automated Release Notes from Tickets and PRDs with pm-skills

The pm-skills repository provides a dedicated release-notes skill that transforms raw technical artifacts like Jira tickets, Linear issues, and PRDs into polished, categorized release notes through the /sprint command or direct CLI invocation.

Generating automated release notes from tickets and PRDs requires extracting the what, who, and why behind each change. The pm-skills open-source repository ships with a modular release-notes skill that categorizes updates into user-facing sections and renders them into publication-ready markdown without hard-coded parsers.

Understanding the Release-Notes Skill Architecture

The workflow follows three declarative layers defined in the pm-execution module. This design keeps the logic interpretation-based rather than using rigid parsers, making it platform-agnostic and composable.

Skill Definition Layer

The core logic resides in pm-execution/skills/release-notes/SKILL.md. This file prescribes how to ingest raw material from any ticket export format (CSV, JSON, or plain text), extract the semantic meaning of each change, and categorize items into New Features, Improvements, Bug Fixes, Breaking Changes, and Deprecations. The skill outputs a markdown template that can be saved directly or converted to HTML and other formats.

Command Glue Layer

The generic /sprint command includes a dedicated release-notes mode. When you run /sprint release-notes <context>, the command pipelines your provided tickets or PRD content into the skill, applies the transformation rules from SKILL.md, and returns formatted notes. This integration is documented in pm-execution/commands/sprint.md.

Integration Points

As part of the broader pm-execution suite (see pm-execution/README.md), the release-notes skill follows the same pattern as other execution skills: a markdown-driven specification invoked by a command that returns rendered output. This uniformity allows you to chain commands—such as plan → retro → release-notes—and extend the skill with custom tones or output formats.

How to Generate Release Notes from Tickets and PRDs

You can generate release notes using three primary methods, depending on whether you prefer CLI interaction, direct skill invocation, or custom scripting.

Method 1: Using the /sprint Command

The simplest approach uses the built-in sprint command with the release-notes mode. Pass your ticket exports or PRD content as a string argument:

/sprint release-notes \
  "Jira export:
   - EPIC‑123: Add real‑time analytics dashboard (new feature)
   - BUG‑456: Fix crash on checkout page (bug fix)
   - IMP‑789: Improve cache warm‑up time (improvement)"

The command processes the input through the skill defined in pm-execution/skills/release-notes/SKILL.md and returns categorized markdown:


## What's New — v1.4.2 / 2024‑06‑10  

### Highlights  

Dashboards now load up to 3× faster, so you spend less time waiting and more time analyzing.

### New Features

- **Real‑time analytics dashboard** — Gives product managers instant visibility into key metrics without leaving the app.

### Improvements

- **Cache warm‑up** — Reduces initial load time, improving the onboarding experience for new users.

### Bug Fixes

- Fixed an issue where the checkout page could crash during high‑traffic periods.

Method 2: Direct Skill Invocation

For automated pipelines or scripts, invoke the skill directly via the underlying pm-toolkit engine:


# Assume pm‑toolkit provides a CLI `pm skill run`

pm skill run release-notes \
  --input tickets.txt \
  --output RELEASE_NOTES.md

This writes the formatted release notes to RELEASE_NOTES.md, applying the same categorization rules as the /sprint command but without interactive CLI wrapping.

Method 3: Custom Tone Configuration

The skill supports tone modifiers to target different audiences. Use the --tone flag to generate developer-focused API documentation instead of user-facing marketing copy:

/sprint release-notes \
  --tone "developer" \
  "Git log:
   - feat(auth): add OAuth2 support
   - fix(api): resolve 500 error on /users endpoint"

This produces technically precise output:


## What's New — v2.0.0 / 2024‑06‑10  

### New Features

- **OAuth2 support** — Enables secure third‑party authentication for API consumers.

### Bug Fixes

- Fixed a 500 error on the `/users` endpoint that could cause client crashes.

Key Files in the Repository

Understanding the file structure helps you customize the release-notes generation:

Summary

  • The release-notes skill in pm-execution/skills/release-notes/SKILL.md provides a declarative, markdown-driven approach to transforming tickets and PRDs into release notes.
  • Use the /sprint release-notes command for interactive generation, or invoke the skill directly via pm skill run for automation pipelines.
  • The skill categorizes changes into New Features, Improvements, Bug Fixes, Breaking Changes, and Deprecations automatically.
  • Platform-agnostic design works with any ticket export format (CSV, JSON, plain text) because it focuses on semantic content rather than structured parsing.
  • Extensible architecture allows custom tones and output formats by editing the skill definition or using command flags.

Frequently Asked Questions

What file formats does the release-notes skill support?

The skill is platform-agnostic and works with any ticket export format including CSV, JSON, and plain text. Because the skill focuses on semantic content extraction rather than hard-coded parsers, it can process Jira exports, Linear issues, Git logs, or PRD documents regardless of their specific file structure.

How do I customize the tone of generated release notes?

You can customize the tone using the --tone flag when invoking the /sprint release-notes command. For example, use --tone "developer" to generate API-focused documentation, or modify the phrasing rules directly in pm-execution/skills/release-notes/SKILL.md to create permanent style changes for your organization.

Can I invoke the release-notes skill without using the /sprint command?

Yes, you can invoke the skill directly from scripts or automation pipelines using the underlying pm-toolkit engine with the command pm skill run release-notes --input <file> --output <file>. This bypasses the interactive CLI wrapper while applying the same categorization and formatting rules defined in the skill specification.

Where is the release-notes skill defined in the repository?

The skill is defined in pm-execution/skills/release-notes/SKILL.md. This file contains the complete specification for categorizing changes, extracting the what, who, and why from raw artifacts, and rendering the final markdown template used in all release-notes generation workflows.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →