mcpField
R
resolution-notes

resolution-notes

github.com/happy-technologies-llc其他4141 次安装2 天前更新
代码仓库

关于 resolution-notes

此技能为 ServiceNow 客户服务管理(CSM)案例生成结构化解决记录,供客服 Agent 在关闭案例时使用。它整合调查记录、根因、解决方案验证、客户确认和 SLA 情况,也可支持知识库文档与审计。

主要功能

  1. 01汇总客户报告的问题
  2. 02整理调查步骤和发现
  3. 03记录根因及解决验证
  4. 04补充预防措施和建议
  5. 05检查客户确认与 SLA 情况

适用场景

  1. 01关闭 CSM 客户案例并记录解决过程
  2. 02为类似案例整理可复用的解决信息
  3. 03准备知识库内容或审计记录

MCP 相关

使用 SN-Get-Record 获取案例详情,并通过 SN-Query-Table 检索工作记录、相关任务、客户沟通、SLA 数据及相似案例和知识库文章。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/happy-technologies-llc/happy-platform-skills --skill resolution-notes

安装后在 Claude Code 中输入/resolution-notes确认已加载。

详细介绍

解决说明

概述

此技能可为已结案的客户服务管理(CSM)案件生成全面、结构清晰的解决说明。它可以帮助你:

  • 总结客户报告的原始问题及相关背景
  • 记录采取的所有诊断步骤和调查结果
  • 查明并记录问题的根本原因
  • 描述已采取的解决措施及其验证方式
  • 概述预防措施和建议,以避免问题再次发生
  • 生成清晰、专业的文档,适用于与客户沟通、编写知识库文章和保留审计记录

适用场景: CSM Agent 准备解决或关闭案件,并需要撰写详尽的解决文档时。也适用于事后审查、创建知识库文章和合规审计。

前提条件

  • 角色: sn_customerservice_agent、sn_customerservice_manager 或 csm_admin
  • 访问权限: 对 sn_customerservice_case、sys_journal_field、sn_customerservice_task、interaction、sys_email、kb_knowledge、sn_customerservice_sla 和 customer_account 表具有读取权限;对案件的 resolution_notes 和 close_notes 字段具有写入权限
  • 知识: 了解 CSM 案件解决代码、结案要求以及所在组织的文档标准

操作步骤

步骤 1:获取完整案件详情

获取完整案件记录,包括所有与解决问题相关的字段。

使用 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_sla

使用 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=true
步骤 2:收集所有工作备注(调查记录)

获取完整的工作备注历史,以还原调查和解决问题的时间线。

使用 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: 100

使用 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=100
步骤 3:查看相关任务及其结果

检查子任务,获取更多解决详情和已完成的操作。

使用 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: 20

使用 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=true
步骤 4:查看客户沟通记录

获取面向客户的沟通记录,确认客户已知悉问题解决情况。

使用 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: 20
Tool: 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: 10

使用 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=true
步骤 5:检查 SLA 表现

获取 SLA 数据,记录解决问题是否达到服务级别目标。

使用 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: 10

使用 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=true
步骤 6:搜索相关知识库文章

检查是否已有关于此问题的知识库文章,或是否需要新建文章。

使用 MCP:

Tool: SN-Query-Table
Parameters:
  query: workflow_state=published^short_descriptionLIKE[key_terms]
  table_name: kb_knowledge
  limit: 5
Tool: 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: 5

使用 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=true
步骤 7:检查类似的未结案件

确认是否有其他未结案件可从此解决方案中受益。

使用 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: 10

使用 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=true
步骤 8:生成解决说明

汇总收集到的所有信息,编写全面的解决文档。

解决说明结构:

=== 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 字段的简短摘要):

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]

工具用法

MCP 工具参考
工具使用场景
SN-Natural-Language-Search查找相关知识库文章和类似的已解决案件
SN-Query-Table获取工作备注、任务、电子邮件、SLA 数据和类似案件
SN-Get-Record获取包含所有解决相关字段的完整案件记录
REST API 参考
端点方法用途
/api/now/table/sn_customerservice_caseGET获取案件详情并搜索类似案件
/api/now/table/sys_journal_fieldGET获取工作备注和评论历史
/api/now/table/sn_customerservice_taskGET获取相关任务结果
/api/now/table/sys_emailGET获取电子邮件沟通记录和确认信息
/api/now/table/interactionGET获取互动记录
/api/now/table/kb_knowledgeGET获取知识库文章参考
/api/now/table/sn_customerservice_slaGET获取 SLA 表现数据
/api/now/table/customer_accountGET获取客户账户背景信息

最佳实践

  • 全面但简洁: 包含所有相关细节,但避免冗余;解决说明应完整清晰,不要过于冗长
  • 准确记录根本原因: 区分症状、促成因素和实际根本原因;这对趋势分析至关重要
  • 记录失败的尝试: 记录哪些方法无效,与记录哪些方法有效同样有价值;这能避免未来的 Agent 重复无效步骤
  • 获取客户确认: 始终注明客户是否确认问题已解决,以及确认方式(邮件回复、电话或聊天消息)
  • 推荐知识库文章: 如果没有适用于此解决方案的知识库文章,请建议创建一篇;如果已有文章,请注明是否需要更新
  • 关联相关案例: 找出并引用类似案例,帮助发现规律并主动跟进
  • 使用标准解决代码: 始终使用组织定义的解决代码,以确保报告准确
  • 注明 SLA 执行情况: 记录 SLA 是否合规,因为这些信息会用于客户健康度指标和合同义务
  • 为未来的读者撰写: 解决说明应便于不熟悉此案例的人在数月或数年后理解
  • 区分内部备注和面向客户的备注: 将详细的技术分析保留在工作备注中;在 resolution_notes 和 close_notes 中填写清晰易懂的摘要

故障排查

“不清楚有哪些解决代码选项”

原因: 解决代码因组织和 CSM 配置而异
解决方案: 查询可用代码的选项列表:GET /api/now/table/sys_choice?sysparm_query=name=sn_customerservice_case^element=resolution_code&sysparm_fields=label,value。常见代码包括:已解决(永久)、已解决(临时方案)、无法复现、重复、已知错误、用户错误、配置更改。

“无法在工作备注中找到根本原因”

原因: 调查过程中可能未明确记录根本原因
解决方案: 检查完整的工作备注时间线,找出问题得到理解的关键节点。查看升级备注和任务关闭备注中的技术细节。如果确实无法确定根本原因,请记录为“根本原因:未确定”,并注明最接近的推测。

“客户未确认问题已解决”

原因: 客户可能没有回复解决通知
解决方案: 检查 sys_email 中是否有解决通知邮件退回。查看评论中是否有间接确认。如果超过标准等待期限仍未收到确认,请记录“客户确认:在 [X] 天等待期内未收到。根据政策自动解决。”

“SLA 数据显示了错误的违约记录”

原因: SLA 可能被错误暂停,或解决时未停止计时
解决方案: 检查 SLA 记录上的 pause_duration 和 pause_time 字段。查看审计日志(sys_audit 表)中的案例状态转换,确认 SLA 阶段转换是否正确。

示例

示例 1:软件缺陷解决

场景: 解决有关应用程序反复报错的案例。

步骤 1 - 获取案例和工作备注:

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_duration
Tool: 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: 50

生成的解决备注:

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"
示例 2:配置问题关闭备注

场景: 快速解决配置错误的集成问题。

步骤 1 - 获取案例:

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: 1

生成的关闭备注:

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 email

相关技能

  • csm/case-summarization - 在撰写解决备注之前总结案例
  • csm/activity-response - 在案例整个生命周期中记录调查活动
  • csm/sentiment-analysis - 检查客户情绪,确认问题得到积极解决
  • csm/email-recommendation - 生成发给客户的解决通知邮件
  • knowledge/article-generation - 根据解决问题的发现创建知识库文章

评论

支持 Markdown