resolution-notes
Skill41 starsChanged 6 days agoApache-2.0View on GitHub
Generate comprehensive resolution notes for closing CSM cases including issue summary, root cause analysis, steps taken, resolution details, and preventive measures
We split this skill into the rules it gives an agent
12 rules. About 0 are common, 9 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈9
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 35
Document all diagnostic steps taken and investigation findings
- Distinctive: line 41
When to use: When a CSM agent is ready to resolve or close a case and needs to create thorough resolution documentation.
- Very specific: line 46
Access: Read access to sn_customerservice_case, sys_journal_field, sn_customerservice_task, interaction, sys_email, kb_knowledge, …
- Distinctive: line 90
Check child tasks for additional resolution details and completed actions.
- Distinctive: line 158
Check if a KB article exists for this issue or if one should be created.
- Distinctive: line 328
Get customer confirmation: Always note whether the customer confirmed the resolution and how (email reply, phone call, chat message)
- Distinctive: line 329
Recommend KB articles: If no KB article exists for this resolution, recommend creating one.
- Distinctive: line 331
Use standard resolution codes: Use the organization's defined resolution codes consistently for accurate reporting
- Distinctive: line 332
Note SLA performance: Document SLA compliance as it feeds into account health metrics and contractual obligations
- Distinctive: line 334
Separate internal and customer-facing notes: Keep detailed technical analysis in work notes.
- Very specific: line 351
Solution: Check sys_email for any bounced resolution emails.
- Very specific: line 356
Solution: Check the pause_duration and pause_time fields on the SLA record.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Resolution Notes
Overview
This skill generates comprehensive, well-structured resolution notes for closing Customer Service Management (CSM) cases. It helps you:
- Summarize the original issue reported by the customer with relevant context
- Document all diagnostic steps taken and investigation findings
- Identify and document the root cause of the issue
- Describe the resolution applied and its verification
- Outline preventive measures and recommendations to avoid recurrence
- Produce clean, professional documentation suitable for customer communication, knowledge base articles, and audit trails
When to use: When a CSM agent is ready to resolve or close a case and needs to create thorough resolution documentation. Also useful for post-incident reviews, knowledge base article creation, and compliance auditing.
Prerequisites
- Roles:
sn_customerservice_agent,sn_customerservice_manager, orcsm_admin - Access: Read access to
sn_customerservice_case,sys_journal_field,sn_customerservice_task,interaction,sys_email,kb_knowledge,sn_customerservice_sla, andcustomer_accounttables; write access to caseresolution_notesandclose_notesfields - Knowledge: Understanding of CSM case resolution codes, closure requirements, and your organization's documentation standards
Procedure
Step 1: Retrieve Complete Case Details
Fetch the full case record including all resolution-relevant fields.
Using MCP (Claude Code/Desktop):
Tool: SN-Get-Record
Parameters:
table_name: sn_customerservice_case
sys_id: [case_sys_id]
fields: number,short_description,description,state,priority,urgency,impact,category,subcategory,contact,account,consumer,product,asset,assigned_to,assignment_group,opened_at,opened_by,resolved_at,resolved_by,closed_at,closed_by,resolution_code,resolution_notes,close_notes,escalation,severity,sla_due,contact_type,reassignment_count,reopen_count,cause,business_duration,calendar_duration,made_slaUsing REST API:
GET /api/now/table/sn_customerservice_case/{case_sys_id}?sysparm_fields=number,short_description,description,state,priority,urgency,impact,category,subcategory,contact,account,consumer,product,asset,assigned_to,assignment_group,opened_at,opened_by,resolved_at,resolved_by,closed_at,resolution_code,resolution_notes,close_notes,escalation,severity,reassignment_count,reopen_count,cause,business_duration,calendar_duration,made_sla&sysparm_display_value=trueStep 2: Collect All Work Notes (Investigation Trail)
Retrieve the complete work note history to reconstruct the investigation and resolution timeline.
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: sys_journal_field
query: element_id=<case_sys_id>^element=work_notes^ORDERBYsys_created_on
fields: sys_id,value,sys_created_on,sys_created_by
limit: 100Using REST API:
GET /api/now/table/sys_journal_field?sysparm_query=element_id=<case_sys_id>^element=work_notes^ORDERBYsys_created_on&sysparm_fields=value,sys_created_on,sys_created_by&sysparm_limit=100Step 3: Review Related Tasks and Their Outcomes
Check child tasks for additional resolution details and completed actions.
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: sn_customerservice_task
query: parent=<case_sys_id>^ORDERBYsys_created_on
fields: sys_id,number,short_description,state,assigned_to,assignment_group,opened_at,closed_at,close_notes,work_notes
limit: 20Using REST API:
GET /api/now/table/sn_customerservice_task?sysparm_query=parent=<case_sys_id>^ORDERBYsys_created_on&sysparm_fields=number,short_description,state,assigned_to,assignment_group,opened_at,closed_at,close_notes&sysparm_limit=20&sysparm_display_value=trueStep 4: Review Customer Communications
Retrieve customer-facing communications to confirm resolution acknowledgment.
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: sys_journal_field
query: element_id=<case_sys_id>^element=comments^ORDERBYDESCsys_created_on
fields: value,sys_created_on,sys_created_by
limit: 20Tool: SN-Query-Table
Parameters:
table_name: sys_email
query: instance=<case_sys_id>^ORDERBYDESCsys_created_on
fields: sys_id,subject,type,body_text,sys_created_on,sys_created_by
limit: 10Using REST API:
GET /api/now/table/sys_journal_field?sysparm_query=element_id=<case_sys_id>^element=comments^ORDERBYDESCsys_created_on&sysparm_fields=value,sys_created_on,sys_created_by&sysparm_limit=20
GET /api/now/table/sys_email?sysparm_query=instance=<case_sys_id>^ORDERBYDESCsys_created_on&sysparm_fields=subject,type,body_text,sys_created_on&sysparm_limit=10&sysparm_display_value=trueStep 5: Check SLA Performance
Retrieve SLA data to document whether resolution met service level targets.
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: sn_customerservice_sla
query: task=<case_sys_id>
fields: sla,stage,has_breached,planned_end_time,end_time,business_duration,percentage,business_percentage
limit: 10Using REST API:
GET /api/now/table/sn_customerservice_sla?sysparm_query=task=<case_sys_id>&sysparm_fields=sla,stage,has_breached,planned_end_time,end_time,business_duration,percentage&sysparm_limit=10&sysparm_display_value=trueStep 6: Search for Related KB Articles
Check if a KB article exists for this issue or if one should be created.
Using MCP:
Tool: SN-Query-Table
Parameters:
query: workflow_state=published^short_descriptionLIKE[key_terms]
table_name: kb_knowledge
limit: 5Tool: SN-Query-Table
Parameters:
table_name: kb_knowledge
query: workflow_state=published^short_descriptionLIKE[key_terms]
fields: number,short_description,text,kb_category,sys_updated_on
limit: 5Using REST API:
GET /api/now/table/kb_knowledge?sysparm_query=workflow_state=published^short_descriptionLIKE<key_terms>&sysparm_fields=number,short_description,kb_category&sysparm_limit=5&sysparm_display_value=trueStep 7: Check for Similar Open Cases
Identify if other open cases might benefit from this resolution.
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: sn_customerservice_case
query: category=[category]^subcategory=[subcategory]^stateNOT IN6,7,8^sys_id!=<case_sys_id>^short_descriptionLIKE[key_terms]
fields: number,short_description,state,assigned_to,account
limit: 10Using REST API:
GET /api/now/table/sn_customerservice_case?sysparm_query=category=<category>^subcategory=<subcategory>^stateNOT IN6,7,8^sys_id!=<case_sys_id>^short_descriptionLIKE<key_terms>&sysparm_fields=number,short_description,state,assigned_to,account&sysparm_limit=10&sysparm_display_value=trueStep 8: Generate Resolution Notes
Assemble all gathered information into comprehensive resolution documentation.
Resolution Notes Structure:
=== RESOLUTION NOTES ===
Case: [number]
Resolved By: [agent_name] | Resolution Date: [resolved_at]
Resolution Code: [resolution_code]
1. ISSUE SUMMARY
Customer [contact_name] from [account_name] reported [short_description]
on [opened_at]. The issue affected [product/service] and was categorized
as [category]/[subcategory] with [priority] priority.
Detailed Description:
[description - summarized]
Impact:
- Business Impact: [impact description]
- Users Affected: [scope]
- Duration of Impact: [from opened_at to resolved_at]
2. INVESTIGATION TIMELINE
[date_1] - Case created via [contact_type]. Initial triage performed.
[date_2] - [investigation action and finding]
[date_3] - [investigation action and finding]
[date_4] - [escalation if applicable]
[date_5] - Root cause identified.
[date_6] - Fix applied and verified.
3. ROOT CAUSE
[Detailed root cause description]
Contributing Factors:
- [factor_1]
- [factor_2]
4. RESOLUTION
Resolution Code: [Solved Permanently / Workaround / Not Reproducible /
Duplicate / etc.]
Resolution Details:
[Step-by-step description of the fix applied]
Verification:
- [How the fix was verified]
- [Customer confirmation of resolution - date and method]
5. STEPS TAKEN
1. [step_1 with date]
2. [step_2 with date]
3. [step_3 with date]
...
Steps Attempted But Unsuccessful:
1. [failed_step_1 - reason it did not work]
2. [failed_step_2 - reason it did not work]
6. RELATED TASKS
- [task_number]: [description] - [outcome]
- [task_number]: [description] - [outcome]
7. SLA PERFORMANCE
- Response SLA: [Met/Breached] ([actual] vs [target])
- Resolution SLA: [Met/Breached] ([actual] vs [target])
- Business Duration: [duration]
- Calendar Duration: [duration]
- Reassignment Count: [count]
8. PREVENTIVE MEASURES
- [recommendation_1 - e.g., "Apply patch X to all production servers"]
- [recommendation_2 - e.g., "Update monitoring to detect this condition"]
- [recommendation_3 - e.g., "Add this scenario to runbook Y"]
9. KNOWLEDGE BASE
- Existing KB Referenced: [KB number and title, if applicable]
- KB Article Recommended: [Yes/No]
If Yes: [suggested article title and key content points]
10. RELATED CASES
- Similar Open Cases: [list of case numbers that may benefit]
- Previously Resolved: [case numbers with same root cause]Close Notes (shorter summary for the close_notes field):
Issue: [one-line description]
Root Cause: [one-line root cause]
Resolution: [one-line resolution description]
Preventive Action: [one-line preventive measure]
KB Reference: [KB number or "N/A"]
Customer Confirmed: [Yes/No - date]Tool Usage
MCP Tools Reference
| Tool | When to Use |
SN-Natural-Language-Search | Find related KB articles and similar resolved cases |
SN-Query-Table | Retrieve work notes, tasks, emails, SLA data, similar cases |
SN-Get-Record | Fetch complete case record with all resolution fields |
REST API Reference
| Endpoint | Method | Purpose |
/api/now/table/sn_customerservice_case | GET | Case details and similar case search |
/api/now/table/sys_journal_field | GET | Work notes and comments history |
/api/now/table/sn_customerservice_task | GET | Related task outcomes |
/api/now/table/sys_email | GET | Email communications and confirmation |
/api/now/table/interaction | GET | Interaction records |
/api/now/table/kb_knowledge | GET | KB article references |
/api/now/table/sn_customerservice_sla | GET | SLA performance data |
/api/now/table/customer_account | GET | Account context |
Best Practices
- Be thorough but concise: Include all relevant details but avoid redundancy; the resolution notes should tell a complete story without being verbose
- Document root cause accurately: Distinguish between symptoms, contributing factors, and the actual root cause; this is critical for trend analysis
- Include failed attempts: Documenting what did not work is as valuable as documenting what did; it prevents future agents from repeating unsuccessful steps
- Get customer confirmation: Always note whether the customer confirmed the resolution and how (email reply, phone call, chat message)
- Recommend KB articles: If no KB article exists for this resolution, recommend creating one; if one exists, note if it needs updating
- Link related cases: Identify and reference similar cases to help with pattern detection and proactive outreach
- Use standard resolution codes: Use the organization's defined resolution codes consistently for accurate reporting
- Note SLA performance: Document SLA compliance as it feeds into account health metrics and contractual obligations
- Write for the future reader: Resolution notes should be understandable by someone unfamiliar with the case, months or years later
- Separate internal and customer-facing notes: Keep detailed technical analysis in work notes; put clean summaries in resolution_notes and close_notes
Troubleshooting
"Resolution code options not clear"
Cause: Resolution codes vary by organization and CSM configuration
Solution: Query the choice list for available codes: GET /api/now/table/sys_choice?sysparm_query=name=sn_customerservice_case^element=resolution_code&sysparm_fields=label,value. Common codes include: Solved (Permanently), Solved (Workaround), Not Reproducible, Duplicate, Known Error, User Error, Configuration Change.
"Cannot find the root cause in work notes"
Cause: Root cause may not have been explicitly documented during investigation Solution: Review the full work note timeline and look for the turning point where the issue was understood. Check escalation notes and task close notes for technical details. If root cause is truly unknown, document it as "Root Cause: Undetermined" with the closest hypothesis.
"Customer did not confirm resolution"
Cause: Customer may not have responded to the resolution notification
Solution: Check sys_email for any bounced resolution emails. Review comments for indirect confirmation. If no confirmation after the standard waiting period, document "Customer confirmation: Not received within [X] day waiting period. Auto-resolved per policy."
"SLA data shows incorrect breach"
Cause: SLA may have been paused incorrectly or the clock was not stopped at resolution
Solution: Check the pause_duration and pause_time fields on the SLA record. Verify the case state transitions in the audit log (sys_audit table) to confirm correct SLA stage transitions.
Examples
Example 1: Software Bug Resolution
Scenario: Resolving a case about a recurring application error.
Step 1 - Get case and work notes:
Tool: SN-Get-Record
Parameters:
table_name: sn_customerservice_case
sys_id: [case_sys_id]
fields: number,short_description,description,state,priority,category,subcategory,product,contact,account,opened_at,resolved_at,resolution_code,cause,reassignment_count,made_sla,business_durationTool: SN-Query-Table
Parameters:
table_name: sys_journal_field
query: element_id=<sys_id>^element=work_notes^ORDERBYsys_created_on
fields: value,sys_created_on,sys_created_by
limit: 50Generated Resolution Notes:
RESOLUTION NOTES - CS0075432
1. ISSUE SUMMARY
Customer Amy Chen from DataFlow Inc. reported that the reporting
module throws a "NullPointerException" when generating monthly
summary reports with more than 10,000 records. Issue began after
platform upgrade to version 3.4.1. Priority: P2.
2. INVESTIGATION TIMELINE
Mar 10 - Case created via email. Initial triage by L1 Support.
Mar 11 - Reproduced in test with 15K record dataset.
Mar 12 - Identified exception in ReportGenerator.java line 847.
Mar 13 - Escalated to Engineering (Level 2).
Mar 14 - Engineering confirmed pagination bug in v3.4.1.
Mar 17 - Hotfix 3.4.1-HF02 deployed to customer instance.
Mar 18 - Customer confirmed reports generating successfully.
3. ROOT CAUSE
A pagination logic error introduced in version 3.4.1 caused a
null reference when the result set exceeded the default page size
of 10,000 records. The cursor object was not being re-initialized
between page iterations.
Contributing Factors:
- Insufficient test coverage for large datasets in v3.4.1 release
- Customer's dataset grew past 10K threshold in February
4. RESOLUTION
Resolution Code: Solved (Permanently)
Applied hotfix 3.4.1-HF02 which corrects the pagination cursor
handling in ReportGenerator.java. Fix verified with 50K record
dataset in staging before production deployment.
Verification:
- Agent verified fix in test environment with 25K records
- Customer confirmed successful report generation on Mar 18
via email reply
5. SLA PERFORMANCE
- Response SLA: Met (2 hours vs 4 hour target)
- Resolution SLA: Met (6 business days vs 10 day target)
- Reassignment Count: 1 (L1 to Engineering)
6. PREVENTIVE MEASURES
- Engineering to add large dataset tests (10K, 50K, 100K) to
regression suite for reporting module
- Proactive notification to all customers on v3.4.1 to apply HF02
- Monitoring alert added for NullPointerException in reporting
7. KNOWLEDGE BASE
- KB0045678 created: "Reporting Module NullPointerException
Fix for v3.4.1 - Apply Hotfix HF02"Example 2: Configuration Issue Close Notes
Scenario: Quick resolution for a misconfigured integration.
Step 1 - Get case:
Tool: SN-Query-Table
Parameters:
table_name: sn_customerservice_case
query: number=CS0076100
fields: sys_id,number,short_description,state,priority,category,product,contact,account,opened_at,resolution_code
limit: 1Generated Close Notes:
Issue: SSO integration failing with "invalid_redirect_uri" error
Root Cause: OAuth redirect URI in customer's identity provider
configuration contained a trailing slash that did not match the
registered callback URL
Resolution: Removed trailing slash from IdP redirect URI
configuration; SSO authentication now working correctly
Preventive Action: Added redirect URI format validation to
integration setup checklist (KB0045700)
KB Reference: KB0045700 - SSO Integration Redirect URI Configuration
Customer Confirmed: Yes - Mar 19 via emailRelated Skills
csm/case-summarization- Summarize the case before writing resolution notescsm/activity-response- Document investigation activities throughout the case lifecyclecsm/sentiment-analysis- Check customer sentiment to confirm positive resolution outcomecsm/email-recommendation- Generate resolution notification email to the customerknowledge/article-generation- Create KB articles from resolution findings
In this repository184 other files it gives its agents.
- happy-platform-skillsSkill
- application-scopeSkill
- batch-operationsSkill
- configuration-validationSkill
- deployment-workflowSkill
- generic-crud-operationsSkill
- instance-managementSkill
- schema-discoverySkill
- script-executionSkill
- script-syncSkill
- smart-assessmentSkill
- task-analysisSkill
- task-summarizationSkill
- update-set-managementSkill
- user-provisioningSkill
- workflow-creationSkill
- workspace-insightsSkill
- approval-summarizationSkill
- approval-workflowsSkill
- catalog-builder-aiSkill
- catalog-item-generationSkill
- item-creationSkill
- multi-turn-orderingSkill
- request-fulfillmentSkill
- ui-policiesSkill
- variable-managementSkill
- ci-discoverySkill
- cmdb-search-analysisSkill
- data-qualitySkill
- impact-analysisSkill
- relationship-mappingSkill
- service-graph-diagnosisSkill
- activity-responseSkill
- csm-case-summarizationSkill
- chat-recommendationSkill
- email-recommendationSkill
- csm-kb-generationSkill
- csm-sentiment-analysisSkill
- csm-sidebar-summarizationSkill
- csm-suggested-stepsSkill
- trending-topicsSkill
- automated-testingSkill
- business-rulesSkill
- client-scriptsSkill
- code-assistSkill
- code-reviewSkill
- data-importSkill
- debugging-techniquesSkill
- fluent-sdkSkill
- glide-api-referenceSkill
- mcp-server-installationSkill
- mcp-serverSkill
- notificationsSkill
- performance-optimizationSkill
- scheduled-jobsSkill
- scripted-rest-apisSkill
- script-includesSkill
- servicenow-docs-mcpSkill
- test-generationSkill
- ui-actionsSkill
- The first 60 shown.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

