Generate comprehensive release documentation from recent commits, producing two distinct outputs: a customer-facing release note and a technical engineering note.
Generates dual release notes from commits: customer-facing summaries and technical engineering documentation.
/plugin marketplace add Primadetaautomation/primadata-enhanced-toolkit/plugin install primadata-enhanced-toolkit@primadata-marketplacedocumentation/Generate comprehensive release documentation from recent commits, producing two distinct outputs: a customer-facing release note and a technical engineering note.
When this command is triggered, DO NOT immediately generate release notes. Instead, present the user with two options:
Present this to the user:
I can generate release notes in two ways:
**Mode 1: By Commit Count**
Generate notes for the last N commits (specify number or use default 10)
→ Quick generation when you know the commit count
**Mode 2: By Commit Hash Range (i.e. Last 24/48/72 Hours)**
Show all commits from the last 24/48/72 hours, then you select a starting commit
→ Precise control when you want to review recent commits first
Which mode would you like?
1. Commit count (provide number or use default)
2. Commit hash selection (show last 24/48/72 hours)
You can also provide an argument directly: /create-release-note 20
/create-release-note # Triggers mode selection
/create-release-note 20 # Directly uses Mode 1 with 20 commits
/create-release-note 50 # Directly uses Mode 1 with 50 commits
$ARGUMENTS is provided, use it as commit count$ARGUMENTS, ask user for commit count or default to 10COMMIT_COUNT="${ARGUMENTS:-10}"When user selects Mode 2, follow this process:
git log --since="24 hours ago" --pretty=format:"%h|%ai|%an|%s" --reverse
Format the output as a numbered list for easy selection:
Commits from the last 24 hours (oldest to newest):
1. a3f7e821 | 2025-10-15 09:23:45 | Alice Smith | Add OAuth provider configuration
2. b4c8f932 | 2025-10-15 10:15:22 | Bob Jones | Implement token refresh flow
3. c5d9e043 | 2025-10-15 11:42:18 | Alice Smith | Add provider UI components
4. d6e1f154 | 2025-10-15 13:08:33 | Carol White | Database connection pooling
5. e7f2g265 | 2025-10-15 14:55:47 | Alice Smith | Query optimization middleware
6. f8g3h376 | 2025-10-15 16:20:12 | Bob Jones | Dark mode CSS variables
7. g9h4i487 | 2025-10-15 17:10:55 | Carol White | Theme switching logic
8. h0i5j598 | 2025-10-16 08:45:29 | Alice Smith | Error boundary implementation
Please provide the starting commit hash (8 characters) or number.
Release notes will be generated from your selection to HEAD (most recent).
Example: "a3f7e821" or "1" will generate notes for commits 1-8
Example: "d6e1f154" or "4" will generate notes for commits 4-8
Once user provides a commit hash or number:
# If user provided a number, extract the corresponding hash
SELECTED_HASH="<hash from user input>"
# Generate notes from selected commit to HEAD
git log ${SELECTED_HASH}..HEAD --stat --oneline
git log ${SELECTED_HASH}..HEAD --pretty=format:"%H|%s|%an|%ad" --date=short
Important: The range ${SELECTED_HASH}..HEAD means "from the commit AFTER the selected hash to HEAD". If you want to include the selected commit itself, use ${SELECTED_HASH}^..HEAD or count commits with --ancestry-path.
Before generating, confirm with user:
Generating release notes for N commits:
From: <hash> - <commit message>
To: <HEAD hash> - <commit message>
Proceeding with generation...
Determine commit source:
COMMIT_COUNT="${ARGUMENTS:-10}" → Use git log -${COMMIT_COUNT}git log ${SELECTED_HASH}..HEADRetrieve commits:
git log <range> --stat --onelinegit log <range> --pretty=format:"%H|%s|%an|%ad" --date=shortCommunicate value to end users without requiring deep technical knowledge. Audience varies by project type (system administrators, developers, product users, etc.).
Include:
Exclude:
## Release Note (Customer-Facing)
**[Project Name] [Version] - [Descriptive Title]**
[Opening paragraph: 1-2 sentences describing the primary focus/theme]
**Key improvements:**
- [Feature/improvement 1: benefit-focused description]
- [Feature/improvement 2: benefit-focused description]
- [Feature/improvement 3: benefit-focused description]
- [Feature/improvement 4: benefit-focused description]
- [etc.]
[Closing paragraph: 1-2 sentences about overall impact and use cases]
✅ Good (Customer-Facing):
"Enhanced authentication system with support for OAuth 2.0 and SAML providers"
❌ Bad (Too Technical):
"Refactored src/auth/oauth.ts to implement RFC 6749 token refresh flow"
✅ Good (Value-Focused):
"Improved database query performance, reducing page load times by 40%"
❌ Bad (Implementation Details):
"Added connection pooling in db/connection.ts with configurable pool size"
✅ Good (User Benefit):
"Added dark mode support with automatic system theme detection"
❌ Bad (Technical Detail):
"Implemented CSS variables in styles/theme.css for runtime theme switching"
Provide developers/maintainers with precise technical details for code review, debugging, and future reference.
Include:
Structure:
SHA: description (file references)## Engineering Note (Technical)
**[Primary Focus/Theme]**
[Opening sentence: describe the main technical objective]
**[Subsystem/Feature Area 1]:**
- SHA1: brief technical description (file1, file2)
- SHA2: brief technical description (file3)
- SHA3, SHA4: grouped description (file4, file5, file6)
**[Subsystem/Feature Area 2]:**
- SHA5: brief technical description (file7, file8)
- SHA6: brief technical description (file9)
**[Subsystem/Feature Area 3]:**
- SHA7, SHA8, SHA9: grouped description (files10-15)
- SHA10: brief technical description (file16)
[Optional: List number of files affected if significant]
✅ Good (Technical):
"a3f7e821: OAuth 2.0 token refresh implementation in src/auth/oauth.ts, src/auth/tokens.ts"
❌ Bad (Too Vague):
"Updated authentication system for better token handling"
✅ Good (Grouped):
"c4d8a123, e5f9b234, a1c2d345: Database connection pooling (src/db/pool.ts, src/db/config.ts)"
❌ Bad (No References):
"Fixed database connection issues"
✅ Good (Precise):
"7b8c9d01: Upgrade react from 18.2.0 to 18.3.1 (package.json)"
❌ Bad (Missing Context):
"Updated React dependency"
## for main section headers**bold** for subsection headers and project titles- for bullet lists`backticks` for file paths, commands, version numbers0ca46028 not 0ca46028b9fa62bb995e41133036c9f0d6ac9fefUse --- (three hyphens) to separate the two sections for visual clarity.
Format as: version X.Y or version X.Y.Z (e.g., "React 18.3", "Python 3.12.1")
src/components/App.tsx not "main component"(file1, file2, file3) or (files1-10) for rangesIndividual:
- c4d8a123: Add connection pool configuration
- e5f9b234: Implement pool lifecycle management
- a1c2d345: Add connection pool metrics
Grouped:
- c4d8a123, e5f9b234, a1c2d345: Database connection pooling (src/db/pool.ts, src/db/config.ts, src/db/metrics.ts)
Before finalizing, verify:
git cat-file -t ${HASH} 2>/dev/null## Release Note (Customer-Facing)
**MyProject v2.4.0 - Authentication & Performance Update**
This release introduces comprehensive OAuth 2.0 support and significant performance improvements across the application.
**Key improvements:**
- OAuth 2.0 authentication with support for Google, GitHub, and Microsoft providers
- Improved database query performance with connection pooling, reducing response times by 40%
- Added dark mode support with automatic system theme detection
- Enhanced error handling and user feedback throughout the interface
- Security updates for dependency vulnerabilities
These enhancements provide a more secure, performant, and user-friendly experience across all application features.
---
## Engineering Note (Technical)
**OAuth 2.0 Integration and Performance Optimization**
Primary focus: authentication modernization and database performance improvements.
**Authentication System:**
- a3f7e821: OAuth 2.0 provider implementation (src/auth/oauth.ts, src/auth/providers/)
- b4c8f932: Token refresh flow and session management (src/auth/tokens.ts)
- c5d9e043: Provider registration UI components (src/components/auth/OAuthProviders.tsx)
**Performance Optimization:**
- d6e1f154: Database connection pooling (src/db/pool.ts, src/db/config.ts)
- e7f2g265: Query optimization middleware (src/db/middleware.ts)
**UI/UX Improvements:**
- f8g3h376, g9h4i487: Dark mode CSS variables and theme switching (src/styles/theme.css, src/components/ThemeProvider.tsx)
- h0i5j598: Error boundary implementation (src/components/ErrorBoundary.tsx)
**Security:**
- i1j6k609: Dependency updates for security patches (package.json, yarn.lock)
When executing this command, Claude should:
COMMIT_COUNT="${ARGUMENTS}"If user selects Mode 1: 3. Ask for commit count or use default 10 4. Generate notes immediately
If user selects Mode 2: 3. Retrieve commits from last 24 hours 4. Present formatted list with numbers and hashes 5. Wait for user to provide hash or number 6. Validate selection 7. Confirm commit range 8. Generate notes from selected commit to HEAD