release-notes

[IMPORTANT] Use TaskCreate to break ALL work into small tasks BEFORE starting — including tasks for each file read. This prevents context loss from long files. For simple tasks, AI MUST ask user whether to skip.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "release-notes" with this command: npx skills add duc01226/easyplatform/duc01226-easyplatform-release-notes

[IMPORTANT] Use TaskCreate to break ALL work into small tasks BEFORE starting — including tasks for each file read. This prevents context loss from long files. For simple tasks, AI MUST ask user whether to skip.

Quick Summary

Goal: Generate professional release notes from git commits with automated categorization, service detection, and validation.

Workflow:

  • Parse Commits — parse-commits.cjs <base> <head> extracts structured data from git

  • Categorize — Pipe through categorize-commits.cjs for user-facing vs internal sections

  • Render — render-template.cjs --version vX.Y.Z generates markdown with Summary, What's New, Improvements, Bug Fixes, Breaking Changes, Technical Details

Key Rules:

  • Pipeline: parse → categorize → render → validate → transform

  • Advanced: Service detection, breaking change analysis, PR metadata, contributor stats, version bumping

  • Human Review: Generated notes are Draft status, require review/enhance/approve before publish

  • Validation: validate-notes.cjs scores against quality rules (100 points)

Be skeptical. Apply critical thinking, sequential thinking. Every claim needs traced proof, confidence percentages (Idea should be more than 80%).

Release Notes Generation Skill

Generate professional release notes from git commits between two refs with automated categorization.

Invocation

/release-notes [base] [head] [--version vX.Y.Z] [--output path]

Examples:

Generate release notes for commits since last tag

/release-notes v1.0.0 HEAD --version v1.1.0

Compare branches

/release-notes main feature/new-auth --version v2.0.0-beta

Output to specific file

/release-notes v1.0.0 HEAD --version v1.1.0 --output docs/release-notes/250111-v1.1.0.md

Workflow

Step 1: Parse Commits

Execute the commit parser to extract structured data from git history:

node .claude/skills/release-notes/lib/parse-commits.cjs <base> <head> [--with-files]

Output: JSON with commits array containing:

  • hash , shortHash

  • Commit identifiers

  • type , scope , description

  • Conventional commit parts

  • breaking

  • Boolean for breaking changes

  • author , date

  • Attribution

  • files

  • Changed files (with --with-files flag)

Step 2: Categorize Commits

Pipe parsed commits through the categorizer:

node .claude/skills/release-notes/lib/parse-commits.cjs <base> <head> |
node .claude/skills/release-notes/lib/categorize-commits.cjs

Categorization Rules:

Type Category User-Facing

feat

features Yes

fix

fixes Yes

perf

improvements Yes

docs

docs Yes (unless internal)

refactor

improvements Technical only

test , ci , build , chore , style

internal No

Excluded Patterns:

  • chore(deps):

  • Dependency updates

  • chore(config):

  • Configuration changes

  • [skip changelog]

  • Explicit skip

  • [ci skip]

  • CI markers

Step 3: Render Markdown

Generate the final release notes document:

node .claude/skills/release-notes/lib/parse-commits.cjs <base> <head> |
node .claude/skills/release-notes/lib/categorize-commits.cjs |
node .claude/skills/release-notes/lib/render-template.cjs --version v1.1.0 --output docs/release-notes/250111-v1.1.0.md

Complete Pipeline

For generating release notes in a single command:

Full pipeline with output to file

node .claude/skills/release-notes/lib/parse-commits.cjs v1.0.0 HEAD |
node .claude/skills/release-notes/lib/categorize-commits.cjs |
node .claude/skills/release-notes/lib/render-template.cjs --version v1.1.0 --output docs/release-notes/250111-v1.1.0.md

Pipeline to stdout for review

node .claude/skills/release-notes/lib/parse-commits.cjs v1.0.0 HEAD |
node .claude/skills/release-notes/lib/categorize-commits.cjs |
node .claude/skills/release-notes/lib/render-template.cjs --version v1.1.0

Advanced Features

Service Boundary Detection

Analyze which services are affected by the release:

Parse with file changes, then detect services

node .claude/skills/release-notes/lib/parse-commits.cjs v1.0.0 HEAD --with-files |
node .claude/skills/release-notes/lib/detect-services.cjs

Output: Service impact analysis with severity levels (critical, high, medium, low)

Breaking Change Analysis

Enhanced breaking change detection with migration info extraction:

node .claude/skills/release-notes/lib/parse-commits.cjs v1.0.0 HEAD |
node .claude/skills/release-notes/lib/categorize-commits.cjs |
node .claude/skills/release-notes/lib/detect-breaking.cjs

Detects:

  • BREAKING CHANGE: in commit body

  • ! suffix on commit type (e.g., feat!: )

  • Migration instructions

PR Metadata Extraction

Extract and link pull request information:

Extract PR numbers from commit messages

node .claude/skills/release-notes/lib/parse-commits.cjs v1.0.0 HEAD |
node .claude/skills/release-notes/lib/extract-pr-metadata.cjs

With GitHub API enrichment (requires gh CLI)

node .claude/skills/release-notes/lib/parse-commits.cjs v1.0.0 HEAD |
node .claude/skills/release-notes/lib/extract-pr-metadata.cjs --fetch-gh

Extracts: PR numbers, titles, labels, authors from commits

Contributor Statistics

Generate detailed contributor stats:

node .claude/skills/release-notes/lib/parse-commits.cjs v1.0.0 HEAD |
node .claude/skills/release-notes/lib/contributor-stats.cjs

Output: Contributor list with commit counts, feature/fix breakdown

Version Bumping

Automatically determine and bump semantic version based on commit types:

Auto-bump based on commits (feat→minor, fix→patch, BREAKING→major)

node .claude/skills/release-notes/lib/parse-commits.cjs v1.0.0 HEAD |
node .claude/skills/release-notes/lib/bump-version.cjs

Bump with prerelease tag

node .claude/skills/release-notes/lib/bump-version.cjs --prerelease beta

Per-service versioning

node .claude/skills/release-notes/lib/bump-version.cjs --service {service-name}

Dry run (don't write version file)

node .claude/skills/release-notes/lib/bump-version.cjs --dry-run

Version Files:

  • Root: .version

  • Per-service: .versions/<service-name>.version

Quality Validation

Validate release notes against quality rules:

Validate with default threshold (70)

node .claude/skills/release-notes/lib/validate-notes.cjs docs/release-notes/v1.1.0.md

Custom threshold

node .claude/skills/release-notes/lib/validate-notes.cjs docs/release-notes/v1.1.0.md --threshold 80

JSON output for CI

node .claude/skills/release-notes/lib/validate-notes.cjs docs/release-notes/v1.1.0.md --json

Validation Rules (100 points total):

Rule Weight Description

summary_exists 15 Has Summary section

summary_not_empty 10 Summary has content

has_version 10 Version number present

features_documented 10 Features properly formatted

fixes_documented 10 Bug fixes properly formatted

no_broken_links 10 No empty link references

contributors_listed 10 Contributors section present

has_date 5 Date present

no_todo_markers 5 No TODO/FIXME markers

proper_heading_hierarchy 5 Proper H1→H2 structure

no_placeholder_text 5 No placeholder text

technical_details_collapsed 5 Tech details in

LLM-Powered Transforms

Transform release notes for different audiences using Claude API:

Requires ANTHROPIC_API_KEY environment variable

export ANTHROPIC_API_KEY="your-api-key"

Create executive summary

node .claude/skills/release-notes/lib/transform-llm.cjs docs/release-notes/v1.1.0.md --transform executive

Transform for business stakeholders

node .claude/skills/release-notes/lib/transform-llm.cjs docs/release-notes/v1.1.0.md --transform business --output docs/release-notes/v1.1.0-business.md

Transform for end users

node .claude/skills/release-notes/lib/transform-llm.cjs docs/release-notes/v1.1.0.md --transform enduser

Transform Types:

Type Description

summarize

Brief 3-5 bullet point summary

business

ROI-focused, business language

enduser

User-friendly, non-technical

executive

Strategic impact summary

technical

Enhanced technical details

Full Enhanced Pipeline

Combine all features for comprehensive release notes:

Enhanced pipeline with service detection

node .claude/skills/release-notes/lib/parse-commits.cjs v1.0.0 HEAD --with-files |
node .claude/skills/release-notes/lib/detect-services.cjs |
node .claude/skills/release-notes/lib/categorize-commits.cjs |
node .claude/skills/release-notes/lib/detect-breaking.cjs |
node .claude/skills/release-notes/lib/contributor-stats.cjs |
node .claude/skills/release-notes/lib/render-template.cjs --version v1.1.0

With version bumping and validation

node .claude/skills/release-notes/lib/parse-commits.cjs v1.0.0 HEAD --with-files |
node .claude/skills/release-notes/lib/bump-version.cjs |
node .claude/skills/release-notes/lib/categorize-commits.cjs |
node .claude/skills/release-notes/lib/render-template.cjs --output docs/release-notes/v1.1.0.md &&
node .claude/skills/release-notes/lib/validate-notes.cjs docs/release-notes/v1.1.0.md

Configuration

See config.yaml for:

  • categories - Commit type to section mapping

  • services - Service boundary detection by file patterns

  • exclude - Patterns to exclude from user-facing notes

  • output - Directory and filename format settings

Output Structure

Release Notes: v1.1.0

Date: 2025-01-11 Version: v1.1.0 Status: Draft


Summary

This release includes 3 new features, 2 improvements, 5 bug fixes.

What's New

  • Add employee export endpoint (API)
  • Implement dark mode toggle (UI)

Improvements

  • Optimize database queries (Persistence)

Bug Fixes

  • Fix date picker timezone issue (Frontend)
  • Resolve null pointer in auth flow

Documentation

  • Update API documentation (API)

Breaking Changes

Warning: The following changes may require migration

Migrate to OAuth 2.1 (Auth)

Legacy JWT tokens no longer accepted. Migration guide: docs/migrations/oauth-2.1.md


Technical Details

<details> <summary>For Developers</summary>

Commits Included

HashTypeDescription
abc1234featAdd employee export endpoint
def5678fixFix date picker timezone issue

...

</details>

Contributors

  • @john.doe
  • @jane.smith

Generated with Claude Code

Human Review Gate

Generated release notes are Draft status by default:

  • Review - Check accuracy, add context where needed

  • Enhance - Add migration steps, links, screenshots

  • Approve - Change status to "Released"

  • Publish - Commit and push

Integration with Other Skills

  • /commit

  • After generating notes, commit them

  • /git-manager

  • Create PR for release notes review

  • /docs-update

  • Update CHANGELOG.md with new release

Troubleshooting

No commits found

Verify the refs exist and have commits between them:

git log --oneline <base>..<head>

Non-conventional commits

Commits not following type(scope): description format go to "other" category. Consider running commitlint enforcement.

Missing scope context

Add scope mappings to config.yaml → services section for better context labels.

IMPORTANT Task Planning Notes (MUST FOLLOW)

  • Always plan and break work into many small todo tasks

  • Always add a final review todo task to verify work quality and identify fixes/enhancements

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

pdf-to-markdown

No summary provided by upstream source.

Repository SourceNeeds Review
General

markdown-to-docx

No summary provided by upstream source.

Repository SourceNeeds Review
General

docx-to-markdown

No summary provided by upstream source.

Repository SourceNeeds Review
General

markdown-to-pdf

No summary provided by upstream source.

Repository SourceNeeds Review