skills/admin/update-set-management/SKILL.md
Complete update set lifecycle management - creation, tracking, validation, and deployment
npx skillsauth add happy-technologies-llc/happy-servicenow-skills update-set-managementInstall 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.
Update sets are the foundation of ServiceNow configuration management. This skill covers:
When to use: Whenever making configuration changes in ServiceNow development or test instances.
admin or update_set_adminCreate a descriptive update set following naming conventions.
Naming Convention:
[PROJECT]-[TYPE]-[DESCRIPTION]-[VERSION]
Examples:
- PROJ123-FEAT-NewTicketForm-v1
- HR-FIX-OnboardingWorkflow-v2
- ITSM-ENH-IncidentAutoAssign-v1
Using MCP:
Tool: SN-Create-Record
Parameters:
table_name: sys_update_set
data:
name: "PROJ123-FEAT-CustomerPortal-v1"
description: "New customer portal feature including:
- Custom catalog items
- Portal widgets
- Service catalog categories"
application: [app_sys_id] # For scoped apps
state: in progress
Using REST API:
POST /api/now/table/sys_update_set
Content-Type: application/json
{
"name": "PROJ123-FEAT-CustomerPortal-v1",
"description": "New customer portal feature...",
"state": "in progress"
}
Make your new update set active so changes are captured.
Using MCP (Automated!):
Tool: SN-Set-Update-Set
Parameters:
update_set_sys_id: [sys_id from step 1]
Verification:
Tool: SN-Get-Current-Update-Set
Expected response:
{
"name": "PROJ123-FEAT-CustomerPortal-v1",
"sys_id": "abc123...",
"state": "in progress"
}
Now make your configuration changes. All customizations will be captured:
Automatically Captured:
NOT Automatically Captured:
Periodically check what's being captured.
Using MCP:
Tool: SN-Inspect-Update-Set
Parameters:
update_set_sys_id: [your_update_set_sys_id]
Or query directly:
Tool: SN-Query-Table
Parameters:
table_name: sys_update_xml
query: update_set=[your_update_set_sys_id]
fields: name,type,action,sys_created_on
limit: 100
Expected Output: | Name | Type | Action | Created | |------|------|--------|---------| | My Business Rule | sys_script | INSERT | 2026-02-06 | | Incident Form | sys_ui_policy | INSERT | 2026-02-06 |
If records accidentally went to Default or wrong update set:
Using MCP:
Tool: SN-Move-Records-To-Update-Set
Parameters:
source_update_set: Default # or sys_id
target_update_set: [your_update_set_sys_id]
query: sys_created_onONToday@javascript:gs.beginningOfToday()@javascript:gs.endOfToday()
Manual Method:
Tool: SN-Query-Table
Parameters:
table_name: sys_update_xml
query: update_set=[wrong_set_sys_id]^sys_created_onONToday
fields: sys_id,name,type
# Then for each record:
Tool: SN-Update-Record
Parameters:
table_name: sys_update_xml
sys_id: [record_sys_id]
data:
update_set: [correct_update_set_sys_id]
When development is complete, mark as complete:
Using MCP:
Tool: SN-Update-Record
Parameters:
table_name: sys_update_set
sys_id: [your_update_set_sys_id]
data:
state: complete
description: "COMPLETED: [original description]
Contains:
- 3 Business Rules
- 2 UI Policies
- 1 Script Include
- 5 Form modifications
Tested by: [tester name]
Test date: 2026-02-06"
Before exporting to higher environments:
Check for Issues:
Tool: SN-Query-Table
Parameters:
table_name: sys_update_xml
query: update_set=[sys_id]^type=sys_script^actionINinsert,update
fields: name,payload
Validation Checklist:
Export to XML: Navigate to the update set → Related Links → Export to XML
For Remote Instances:
┌─────────────┐ ┌──────────┐ ┌───────────┐
│ In Progress │────►│ Complete │────►│ Exported │
│ (build) │ │ (ready) │ │ (shipped) │
└─────────────┘ └──────────┘ └───────────┘
│
▼
┌──────────┐
│ Ignore │
│ (voided) │
└──────────┘
| Operation | MCP Tool | REST Endpoint | |-----------|----------|---------------| | Create | SN-Create-Record | POST /sys_update_set | | Set Current | SN-Set-Update-Set | Custom API | | Get Current | SN-Get-Current-Update-Set | GET /sys_user_preference | | List | SN-List-Update-Sets | GET /sys_update_set | | Inspect | SN-Inspect-Update-Set | GET /sys_update_xml | | Move Records | SN-Move-Records-To-Update-Set | PATCH /sys_update_xml | | Clone | SN-Clone-Update-Set | POST /sys_update_set |
Cause: Current update set not set or got reset Solution: Always verify current update set before making changes:
Tool: SN-Get-Current-Update-Set
Cause: Record type not tracked or created before setting update set Solution:
Cause: Same record modified in multiple update sets Solution:
Cause: Too many changes in single update set Solution:
admin/deployment-workflow - Full deployment processadmin/scoped-app-development - Scoped application best practicesitsm/change-management - Change process for deploymentstesting
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