skills/itsm/release-notes-generation/SKILL.md
Generate release notes from change requests, stories, and defects for a given release window with categorization, impact summaries, and stakeholder-ready formatting
npx skillsauth add happy-technologies-llc/happy-servicenow-skills release-notes-generationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill generates comprehensive release notes by aggregating data from change requests, user stories, and defect fixes associated with a given release window. It produces stakeholder-ready documentation with categorized changes, impact summaries, and known issues.
When to use: When preparing for a software release, sprint delivery, or maintenance window and stakeholders need documentation of what changed, what was fixed, and what to watch for.
itil, change_manager, release_manager, or scrum_mastercom.snc.change_management (Change Management), com.snc.sdlc.agile.2.0 (Agile Development 2.0, optional), com.glide.knowledge (Knowledge Management, optional)change_request, rm_story, rm_defect, rm_release, kb_knowledge, incidentDetermine the release scope by querying the release record or defining a date range.
Using MCP (Claude Code/Desktop):
Tool: SN-Query-Table
Parameters:
table_name: rm_release
query: number=[release_number]
fields: sys_id,number,short_description,start_date,end_date,state,release_type,release_phase
limit: 1
Using REST API:
GET /api/now/table/rm_release?sysparm_query=number=[release_number]&sysparm_fields=sys_id,number,short_description,start_date,end_date,state,release_type,release_phase&sysparm_limit=1
If no formal release record exists, define the window by date range:
Query all change requests implemented within the release window.
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: change_request
query: stateINclosed,implemented,review^end_dateBETWEEN[start_date]@[end_date]
fields: sys_id,number,short_description,description,type,category,risk,impact,cmdb_ci,assignment_group,close_notes,state
limit: 100
Using REST API:
GET /api/now/table/change_request?sysparm_query=stateINclosed,implemented,review^end_dateBETWEEN[start_date]@[end_date]&sysparm_fields=sys_id,number,short_description,description,type,category,risk,impact,cmdb_ci,assignment_group,close_notes,state&sysparm_limit=100
Categorize changes:
| Category | Count | Description | |----------|-------|-------------| | New Feature | 5 | New capabilities added | | Enhancement | 12 | Improvements to existing features | | Bug Fix | 8 | Defect corrections | | Infrastructure | 4 | Platform, server, or network changes | | Security Patch | 3 | Security vulnerability remediation | | Configuration | 6 | Settings or parameter changes |
If using Agile Development, retrieve completed stories for the release.
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: rm_story
query: release=[release_sys_id]^state=closed_complete
fields: sys_id,number,short_description,description,acceptance_criteria,story_points,sprint,product,epic
limit: 50
Using REST API:
GET /api/now/table/rm_story?sysparm_query=release=[release_sys_id]^state=closed_complete&sysparm_fields=sys_id,number,short_description,description,acceptance_criteria,story_points,sprint,product,epic&sysparm_limit=50
Retrieve defects fixed in this release.
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: rm_defect
query: release=[release_sys_id]^state=closed_complete
fields: sys_id,number,short_description,description,severity,found_in,fixed_in,root_cause,affected_users
limit: 50
Using REST API:
GET /api/now/table/rm_defect?sysparm_query=release=[release_sys_id]^state=closed_complete&sysparm_fields=sys_id,number,short_description,description,severity,found_in,fixed_in,root_cause,affected_users&sysparm_limit=50
Check for open defects or problems that persist into the release.
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: rm_defect
query: release=[release_sys_id]^stateNOT INclosed_complete,closed_skipped
fields: sys_id,number,short_description,severity,workaround
limit: 20
Also check for related incidents reported after similar past releases:
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: incident
query: active=true^short_descriptionLIKE[release_or_product_keyword]^sys_created_onONLast 7 days@javascript:gs.daysAgoStart(7)@javascript:gs.daysAgoEnd(0)
fields: sys_id,number,short_description,priority,state
limit: 10
Compile all gathered data into a formatted release notes document:
================================================================
RELEASE NOTES
================================================================
Release: [release_number] - [release_short_description]
Date: [end_date]
Version: [version_number]
Environment: [Production / Staging / UAT]
================================================================
SUMMARY
================================================================
This release includes [X] new features, [Y] enhancements,
[Z] bug fixes, and [W] infrastructure changes.
Total Changes: [total]
Total Story Points Delivered: [points]
Risk Profile: [X] High, [Y] Moderate, [Z] Low risk changes
================================================================
NEW FEATURES
================================================================
[NFT-001] [CHG/STY number] - [Short Description]
Description: [User-friendly description of the feature]
Impact: [Who benefits and how]
Configuration: [Any setup required by users/admins]
Related KB: [KB article number if applicable]
[NFT-002] ...
================================================================
ENHANCEMENTS
================================================================
[ENH-001] [CHG/STY number] - [Short Description]
Description: [What was improved and why]
Before: [Previous behavior]
After: [New behavior]
[ENH-002] ...
================================================================
BUG FIXES
================================================================
[BUG-001] [DEF number] - [Short Description]
Severity: [Critical / High / Medium / Low]
Symptom: [What users experienced]
Root Cause: [What caused the defect]
Fix: [What was changed to fix it]
Affected Users: [Scope of impact]
[BUG-002] ...
================================================================
INFRASTRUCTURE CHANGES
================================================================
[INF-001] [CHG number] - [Short Description]
Change Type: [Standard / Normal / Emergency]
Impact: [Expected user impact during/after change]
Downtime: [Any planned downtime window]
================================================================
SECURITY UPDATES
================================================================
[SEC-001] [CHG number] - [Short Description]
Severity: [Critical / High / Medium / Low]
CVE: [CVE number if applicable]
Impact: [What was vulnerable and what was fixed]
================================================================
KNOWN ISSUES
================================================================
[KI-001] [DEF number] - [Short Description]
Severity: [severity]
Workaround: [Temporary workaround if available]
Expected Fix: [Target release for fix]
================================================================
UPGRADE NOTES
================================================================
- [Any manual steps required after deployment]
- [Configuration changes needed]
- [Cache clears, restarts, or reindexing required]
- [Backward compatibility notes]
================================================================
ROLLBACK PLAN
================================================================
In case of critical issues:
- [Rollback procedure summary]
- Contact: [Release manager contact]
- Decision deadline: [Time by which rollback decision must be made]
Optionally publish the release notes as a knowledge base article.
Using MCP:
Tool: SN-Create-Record
Parameters:
table_name: kb_knowledge
data:
short_description: "Release Notes - [release_number] - [date]"
text: "[generated release notes]"
kb_knowledge_base: [knowledge_base_sys_id]
kb_category: Release Notes
workflow_state: draft
valid_to: ""
Using REST API:
POST /api/now/table/kb_knowledge
Content-Type: application/json
{
"short_description": "Release Notes - [release_number] - [date]",
"text": "[generated release notes]",
"kb_knowledge_base": "[knowledge_base_sys_id]",
"kb_category": "Release Notes",
"workflow_state": "draft"
}
Document the release notes distribution in the release record.
Using MCP:
Tool: SN-Update-Record
Parameters:
table_name: rm_release
sys_id: [release_sys_id]
data:
work_notes: "Release notes generated and published as KB article [KB_number]. Distribution: Technical teams, Change Advisory Board, Service Desk, End-user communications."
| Tool | Purpose | When to Use |
|------|---------|-------------|
| SN-Query-Table | Retrieve changes, stories, defects, release data | Core data gathering |
| SN-NL-Search | Find related items using natural language | Supplementary discovery |
| SN-Create-Record | Publish release notes as KB article | Documentation |
| SN-Update-Record | Update release record with notes status | Tracking and audit |
| SN-Add-Work-Notes | Document generation process | Audit trail |
| SN-Get-Table-Schema | Explore table structures | Setup and field discovery |
Cause: Changes may not have end_date populated, or they use a different date field
Solution: Try querying by close_date or work_end instead. Also check if changes are linked to the release record via release field rather than date range.
Cause: Agile Development integration may not be configured to link stories to releases
Solution: Query stories by sprint dates instead: sprint.end_date BETWEEN [start] AND [end]. Or query by product and state.
Cause: Large release window or very active environment Solution: Filter by risk level (exclude low-risk standard changes) or by application scope. Focus on customer-facing changes and summarize internal/infrastructure changes.
Cause: Developers did not populate root cause analysis during defect resolution Solution: Fall back to the defect description and close_notes for context. Flag empty root_cause as a process improvement item.
Release: REL0023456 - Sprint 42 Delivery (2026-03-15 to 2026-03-29)
Generated Notes:
Release: REL0023457 - Emergency Security Patch (2026-03-18)
Generated Notes:
Release: REL0023458 - Platform Upgrade v3.0 (2026-03-22)
Generated Notes:
itsm/change-management - Change request lifecycle managementspm/agile-story-generation - Generate stories for next sprintknowledge/article-generation - Create KB articles from release contentspm/acceptance-criteria - Define acceptance criteria for storiesitsm/suggested-steps - Resolution steps for incidents caused by releasesspm/planning-summarization - Sprint and release planning summariestesting
Manage supplier onboarding, qualification, performance monitoring, and offboarding with auditable lifecycle controls
tools
Identify emerging risks, prioritize intake signals, and route candidates into formal GRC risk assessment workflows
documentation
Screen inbound documents for completeness, policy risk, and routing readiness before extraction or case workflows
testing
Generate concise task summaries with status, timeline, blockers, SLA risk, and recommended next actions