用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/deathrashed/agents --skill release-notes命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | release-notes |
| description | Structured release notes creation that translates technical changes into user-benefit-oriented communication. |
| license | MIT + Commons Clause |
| metadata | {"version":"1.0.0","author":"borghei","category":"project-management","domain":"pm-execution","updated":"2026-03-04T00:00:00.000Z","python-tools":["scripts/release_notes_generator.py"],"tech-stack":"release-management, changelog, semantic-versioning"} |
Transform raw technical changes -- tickets, changelogs, git logs, PRDs -- into clear, user-benefit-oriented release notes. This skill ensures every release communicates value to the right audience in the right tone.
Collect all changes from the release cycle:
Assign every change to exactly one category:
| Category | Definition | Example |
|---|---|---|
| New Features | Net-new capabilities that did not exist before | New export-to-PDF option |
| Improvements | Enhancements to existing functionality | Faster dashboard loading |
| Bug Fixes | Corrections to broken or incorrect behavior | Fixed login redirect loop |
| Breaking Changes | Changes that require user action to adapt | API v2 replaces v1 endpoints |
| Deprecations | Features scheduled for future removal | Legacy CSV import will be removed in v4.0 |
Classification rules:
The most critical step. Every entry must lead with the benefit to the user, not the technical change.
Rewriting principles:
Before and after examples:
| Technical (Bad) | User-Benefit (Good) |
|---|---|
| Implemented Redis caching layer for dashboard queries | Dashboards now load up to 3x faster |
| Refactored authentication module to use OAuth 2.0 PKCE flow | Sign-in is now more secure and works reliably across all browsers |
| Fixed null pointer exception in report export handler | Report exports no longer fail when date ranges include empty days |
| Migrated user preferences API from v1 to v2 schema | Action required: Update your API calls to use the new /v2/preferences endpoint by April 30. See migration guide. |
| Added feature flag for beta dashboard | You can now opt into the redesigned dashboard from Settings > Beta Features |
Red flags that an entry needs rewriting:
| Audience | Tone | Style Notes |
|---|---|---|
| B2B / Enterprise | Professional, precise | Emphasize reliability, security, compliance. Avoid casual language. |
| Consumer | Friendly, conversational | Use "you" and "your." Celebrate new features. Keep it light. |
| Developer / API | Technical, direct | Include endpoint names, SDK versions, code snippets. Be specific. |
| Internal | Detailed, context-rich | Include ticket IDs, team names, technical details as needed. |
Use the output template below. Include only categories that have entries -- do not show empty sections.
# [Product Name] v[X.Y.Z] Release Notes
**Release Date:** [YYYY-MM-DD]
---
## New Features
- **[Feature Name]** -- [1-3 sentence description of user benefit]. ([TICKET-ID])
## Improvements
- **[Improvement Name]** -- [1-2 sentence description of what is better]. ([TICKET-ID])
## Bug Fixes
- **[Bug Fix Name]** -- [1 sentence describing what was broken and that it is now fixed]. ([TICKET-ID])
## Breaking Changes
> **Action Required:** The following changes require updates on your end.
- **[Change Name]** -- [Description of what changed and exactly what the user must do]. ([TICKET-ID])
## Deprecations
> **Planned Removal:** The following features will be removed in a future release.
- **[Feature Name]** -- [What is being deprecated and when it will be removed. Recommend alternative if available]. ([TICKET-ID])
---
**Full changelog:** [link]
**Questions?** [support link or contact]
Use scripts/release_notes_generator.py to generate formatted release notes from structured input.
# Generate from JSON input
python scripts/release_notes_generator.py --input changes.json --product-name "Acme App" --version "2.5.0"
# Run with demo data
python scripts/release_notes_generator.py --demo --product-name "Acme App" --version "1.0.0"
# Output as JSON instead of markdown
python scripts/release_notes_generator.py --input changes.json --format json --product-name "Acme App" --version "2.5.0"
See scripts/release_notes_generator.py --help for full usage.
summarize-meeting/ to capture release planning discussions.job-stories/ or wwas/ to trace features back to their original motivation.../senior-pm/ for stakeholder communication planning around major releases.| Symptom | Likely Cause | Resolution |
|---|---|---|
| Tool flags too many entries as "technical language" | TECHNICAL_PATTERNS regex is broad, catching common words like "update" or "add" | Review the flagged entries; the tool provides suggestions, not mandates -- ignore false positives for user-facing descriptions |
| All entries classified as same type | Input JSON uses wrong type values or inconsistent casing | Use exact lowercase types: feature, improvement, bugfix, breaking, deprecation |
| Empty sections appear in output | No entries of that type exist but template still renders the section | The tool only renders sections with entries; empty sections indicate a data issue in input |
| Breaking changes not highlighted prominently | Entries marked as improvement instead of breaking | Review classification rules: if users must change behavior, config, or integration, it is breaking, not improvement |
| Release notes sound like commit messages | Descriptions written from developer perspective, not user perspective | Apply the rewriting principles: lead with outcome, use plain language, 1-3 sentences per entry |
--demo flag requires --product-name and --version | These are required arguments regardless of input source | Always provide both: --demo --product-name "App" --version "1.0.0" |
| JSON output missing rewriting suggestions | No entries triggered technical language detection patterns | This is expected behavior; suggestions only appear when TECHNICAL_PATTERNS match entry descriptions |
In Scope:
Out of Scope:
sprint-retrospective/ for git analysis)Important Caveats:
| Integration | Direction | Description |
|---|---|---|
sprint-retrospective/ | Receives from | Sprint commit data and type distribution inform what changes to include |
senior-pm/ | Complements | Stakeholder communication plans guide release note audience and tone |
execution/create-prd/ | Receives from | PRD feature descriptions (Section 7) become release note entry drafts |
scrum-master/ | Receives from | Sprint review outputs identify what shipped and needs documentation |
summarize-meeting/ | Receives from | Release planning meeting summaries capture context for release notes |
job-stories/ / wwas/ | Receives from | User story descriptions inform user-benefit framing of entries |
Generates formatted release notes from structured JSON input. Groups entries by category, formats into markdown or JSON, and flags entries that may need user-benefit rewriting.
| Flag | Type | Default | Description |
|---|---|---|---|
--input | string | (optional) | Path to JSON file containing release entries |
--demo | flag | off | Run with built-in demo data (8 entries across all types) |
--product-name | string | (required) | Product name for the release notes header |
--version | string | (required) | Version string (e.g., 2.5.0) |
--format | choice | text | Output format: text (markdown) or json |
--date | string | today | Release date in YYYY-MM-DD format |
Input JSON schema:
{
"entries": [
{
"title": "Feature Name",
"description": "User-benefit description (1-3 sentences)",
"type": "feature|improvement|bugfix|breaking|deprecation",
"ticket_id": "PROJ-123 (optional)"
}
]
}
references/release-notes-guide.md for best practices, audience guidance, and examples.assets/release_notes_template.md for a ready-to-use document template.