name: lidr-release-notes id: release-notes version: "1.4.1" last_updated: "2026-06-11" updated_by: "TL: phase-prose normalization" status: active phase: 4 stage: release owner_role: "DevOps" automation: true domain_agnostic: true language_default: en integrations: [vcs, tracking, docs, chat] description: "AUTOMATED release notes generation with business impact analysis using Python automation. Auto-analyzes git history, PRs, and business impact to generate 2-level release notes (executive summary + technical changelog). Essential when preparing releases for production deployment. Use to transform 2+ hours of manual PR analysis into 5-minute automated workflow + 30-minute review. Orchestrated by /create-release-notes command. ALWAYS use when preparing a release to communicate changes to stakeholders."
Release Notes Generator ๐ค AUTOMATED
Phase: 4 โ Implementation ยท release (ex-Fase 8) | Gate: contributes to Gate 7
Output: English by default; artifact language follows the client language setting (see _shared/lidr/integrations/).
Tools resolve via the central registry _shared/lidr/integrations/tool-registry.yaml; the active client binds concrete tools in clients/<CODE>.yaml.
ROI: 50 hours/year (2+ hours manual โ 5 minutes automated + 30 minutes review)
Relationship to BMad
LIDR-unique deployment artifact โ no BMad equivalent. Canonical replacement for the deprecated lidr-changelog-generator; orchestrated by the /lidr-create-release-notes command.
Output Location
The automation scripts write working artifacts to a transient release-analysis/ directory, but the canonical release notes MUST be published to the per-client path Gate 7 reads (gate-evidence.yaml G7 lidr-release-notes glob {client_root}/release-notes*.md, required: true):
docs/projects/{CLIENT_CODE}/release-notes.md (or release-notes-{version}.md per release)
{CLIENT_CODE} is the active client (see rules/lidr-sdlc/project.md). Project-wide changelog updates (CHANGELOG.md) remain a separate concern handled by /lidr-update-changelog.
Example: docs/projects/docline/release-notes-v1.4.0.md
Gate 7 contract:
release-notes*.mdat the per-client root is REQUIRED evidence for G7. The transientrelease-analysis/copy does NOT satisfy the gate โ always publish the final notes todocs/projects/{CLIENT_CODE}/release-notes*.md.
๐ Automation Workflow (RECOMMENDED)
Phase 1: Git Analysis (2-3 minutes)
cd .claude/skills/release-notes/scripts
python git-analyzer.py --since-tag v1.2.0 --branch main --output-dir release-analysis
Auto-discovers and analyzes:
- Merged PRs since last release with {{VCS_TOOL}} CLI integration
- Conventional commit parsing and categorization
- Business impact extraction from PR descriptions
- Breaking changes and security update detection
- Contributor attribution and file impact analysis
Generates: git-analysis.json + human-readable report + CSV for project management
Phase 2: Release Notes Generation (2-3 minutes)
python changelog-generator.py --input-dir release-analysis --output-dir release-notes --version 1.3.0
Auto-generates comprehensive release notes:
- Business impact classification with domain-specific patterns
- Executive summary for stakeholders (artifact language follows the client
languagesetting) - Technical changelog for engineering teams (English)
- Deployment guidance with migration steps
- Multi-format output (executive, technical, deployment guide)
Generates: Executive summary + technical changelog + deployment guide + CSV summary
Phase 3: Human Review & Publication (30 minutes)
- Review executive summary for business language accuracy
- Validate technical changelog for completeness
- Customize deployment guidance for specific infrastructure
- Add manual highlights not captured by automation
- Publish to distribution channels ({{DOCS_TOOL}}, {{CHAT_TOOL}}, email)
- Archive for future reference and ROI tracking
Expected Results
- Dual-format release notes with business and technical audiences
- Business impact analysis with domain-aware classification
- Deployment guidance with migration steps and rollback considerations
- 50 hours/year ROI vs manual PR analysis and writing process
Manual Workflow (Legacy - use only if automation unavailable)
- Identify changes: PRs merged since last release tag
- Classify by conventional commit prefix (feat, fix, refactor, security, BREAKING)
- Enrich with {{TRACKING_TOOL}} context: ticket title, US, RF, component
- Build traceability chain: PR โ Ticket โ US โ RF โ Business Case
- Generate executive summary (business language)
- Generate technical changelog (engineering language)
Input
๐ค Automated Processing (Scripts Handle Discovery)
| Input | Required | Auto-Discovered From | Processing |
|---|---|---|---|
| Git history | โ | Git log, tags, PR merge commits | git-analyzer.py parses and extracts |
| PR metadata | โ | {{VCS_TOOL}} CLI integration | git-analyzer.py enriches with descriptions |
| Conventional commits | โ | Git commit message analysis | git-analyzer.py categorizes changes |
| Business impact | โ | PR descriptions, domain-specific patterns | changelog-generator.py classifies impact |
| Breaking changes | โ | Commit analysis, BREAKING CHANGE markers | git-analyzer.py detects patterns |
๐ Manual Input (Legacy - if automation not available)
| Input | Required | Source |
|---|---|---|
| Merged PRs since last tag | โ | Git: git log v{prev}..HEAD --merges |
| Tracking tickets linked | โ | {{TRACKING_TOOL}} or PR references |
| Conventional commits | โ | Git log |
| Previous version tag | โ | Git tags |
| Package.json diff | Desirable | For dependency changes |
Output โ Executive Summary (for PO, PM, Sponsors)
# Release Notes v{version} โ Executive Summary
**Date:** {today}
**Sprint:** {sprint name}
## What's New
{Bullet list in business language โ value delivered to users}
## Problems Resolved
{Customer-facing bugs fixed โ business language}
## Impact
- Users affected: {scope}
- New capabilities: {list}
- Performance improvements: {if any}
## Release Metrics
- Merged PRs: {N}
- Tickets resolved: {N}
- Contributors: {N}
Output โ Technical Changelog (for Dev, QA, DevOps)
# Release Notes v{version} โ Technical
## Changes by Type
### Features
- {description} ({ticket-id}) @{author}
### Bug Fixes
- {description} ({ticket-id}) @{author}
### Refactoring
### Security
### Breaking Changes (with migration notes!)
### Dependencies Updated ({package}: {old} โ {new})
## Deployment Notes
- Migrations: {yes/no โ list if yes}
- Config changes: {env vars added/changed}
- Feature flags: {flags to enable/disable}
## Full Changelog
[Compare: v{prev}...v{version}]({link})
๐ค Automation Scripts
scripts/git-analyzer.py (600+ lines)
Purpose: Git history analysis and PR metadata extraction with business impact
Key Features:
- Git History Parsing: Auto-discovery of commits, PRs, and tags since last release
- {{VCS_TOOL}} CLI Integration: Rich PR metadata including descriptions, labels, authors
- Conventional Commit Analysis: Automatic categorization by commit type and breaking changes
- Business Impact Extraction: Parse PR descriptions for user-facing impact
- Security Change Detection: Auto-identify security updates and vulnerability fixes
Output:
git-analysis.json(machine processing)git-analysis-report.md(human review)git-changes-summary.csv(project management integration)
scripts/changelog-generator.py (600+ lines)
Purpose: Transform git analysis into comprehensive release notes with business impact
Key Features:
- Business Impact Classification: Domain-specific patterns for software projects
- Dual-Format Generation: Executive summary (client
languagesetting) + technical changelog (English) - Deployment Guidance: Migration steps, rollback considerations, testing requirements
- Domain-Specific Patterns: Algorithm improvements, compliance updates, integration enhancements
- Multi-Audience Targeting: Stakeholder, engineering, and DevOps-specific outputs
Output:
release-summary-{version}.md(executive summary)CHANGELOG-{version}.md(technical changelog)deployment-guide-{version}.md(DevOps guidance)release-summary-{version}.csv(project management)
Integration Pattern
# Full automation workflow
cd .claude/skills/release-notes/scripts
# Phase 1: Git Analysis (2-3 minutes)
python git-analyzer.py --since-tag v1.2.0 --branch main --output-dir release-analysis
# Phase 2: Release Notes Generation (2-3 minutes)
python changelog-generator.py --input-dir release-analysis --output-dir release-notes --version 1.3.0
# Result: Complete release notes ready for review and publication
ROI Achievement
- Before: 2-3 hours manual PR analysis and writing
- After: 5 minutes automation + 30 minutes review and customization
- Savings: 1.5-2.5 hours per release
- Annual ROI: 50+ hours/year (based on release frequency)
- Quality: Consistent business impact analysis + dual-audience formatting
Classification Rules
| Commit Prefix | Changelog Section | Include? |
|---|---|---|
feat: |
Added | โ Always |
fix: |
Fixed | โ Always |
perf: |
Changed | โ Always |
security: |
Security | โ Always |
BREAKING CHANGE: |
Breaking Changes | โ Always (prominent) |
refactor: |
Changed | โ If significant |
docs: / test: / chore: |
Skip | โ Unless --include-chores |
๐ค Automated Classification (via scripts)
Business Impact Patterns (processed by changelog-generator.py):
- High Value Features: New capabilities, domain enhancements, user-facing functionality
- Algorithm Improvements: {{ALGORITHM_IMPROVEMENTS}}
- Compliance Updates: {{COMPLIANCE_FRAMEWORKS}}
- Security Enhancements: Vulnerability fixes, encryption updates, access control
- Performance: Speed improvements, memory optimization, scalability
Key Rules
- Executive = business language: "Improved onboarding flow" not "Refactored useAuth hook"
- Technical = precise: Include ticket IDs, author @mentions, migration details
- Breaking changes are PROMINENT: Always at top with migration steps
- Dependency changes from package.json diff: Note major version bumps
- Deployment notes are critical: Migrations, env vars, feature flags โ DevOps needs these
- Dual format: Always generate BOTH executive and technical versions
Quality Assurance
Validation Script
This skill includes automated validation via scripts/validate-examples.ts:
# Validate skill examples and structure
npx tsx scripts/validate-examples.ts
Validation includes:
- Example completeness and correctness
- Release management and documentation compliance patterns
- Progressive disclosure adherence
- Resource organization standards
When to use:
- Before skill release/packaging
- In CI/CD pipeline (quality gates)
- After major example updates
- During skill maintenance cycles
Integration with ecosystem:
- Used by
bmad-eval-runnerfor ecosystem validation - Supports quality gates in SDLC workflow
- Provides consistent validation across all skills
Changelog
| Version | Date | Author | Changes |
|---|---|---|---|
| 1.4.1 | 2026-06-11 | TL: phase-prose normalization | Normalized body Phase: prose to the unified 0-4 numbering (Phase: <0-4> โ <Unified> ยท <stage> (ex-Fase N)); now guarded by ecosystem-coherence.test.ts |
| 1.4.0 | 2026-06-10 | TL: Gate-evidence contract fix | Added "## Output Location": canonical release notes publish to docs/projects/{CLIENT_CODE}/release-notes*.md (required G7 gate-evidence path) |
| 1.3.1 | 2026-06-09 | TL: BMad-coherence batch-fix | Added Relationship to BMad note (LIDR-unique; canonical replacement for deprecated lidr-changelog-generator) |
| 1.3.0 | 2026-06-09 | TL: lang+tool agnostic | Language to English-default-configurable; abstracted GitHub CLI / Jira / Confluence / Slack via tool-registry ({{VCS_TOOL}}, {{TRACKING_TOOL}}, {{DOCS_TOOL}}, {{CHAT_TOOL}}) |