客服会话质检技能。批量分析客服聊天记录/会话导出文件(支持企业微信、千牛、美洽、Udesk、智齿等系统的逐条式与整段式导出),按可配置的质检规则逐条评分,自动脱敏,生成带扣分明细和待人工复核清单的质检报告表格。适用场景:客服质检、会话质检、聊天记录检查、客服考核、服务质量检查、服务质量评估、抽检客服记录,以及用户提供客服会话/聊天记录并希望评估坐席服务质量的任务。问题反馈&其他沟通:zenobiazizi.skills@foxmail.com
--- name: cs-conversation-qc description: 客服会话质检技能。批量分析客服聊天记录/会话导出文件(支持企业微信、千牛、美洽、Udesk、智齿等系统的逐条式与整段式导出),按可配置的质检规则逐条评分,自动脱敏,生成带扣分明细和待人工复核清单的质检报告表格。适用场景:客服质检、会话质检、聊天记录检查、客服考核、服务质量检查、服务质量评估、抽检客服记录,以及用户提供客服会话/聊天记录并希望评估坐席服务质量的任务(此类任务即使未出现"质检"字样也属于本技能的适用范围)。本规则包面向中文会话设计。 --- # 客服会话质检 对批量客服会话记录进行自动化质检:解析导出文件 → 脱敏 → 按规则逐条评分 → 输出质检报告 + 待人工复核清单。 ## 核心原则 1. **复核优先**:质检结果是给质检员/主管复核用的参考,不是最终裁决。所有扣分必须附原文证据(脱敏后),低置信度判定必须进入"待人工复核清单"而非直接定论。 2. **本地处理 + 脱敏**:会话记录包含客户隐私。在任何输出(报告、引用、示例)中,将手机号、身份证号、银行卡号、详细地址做掩码处理(如 138****5678)。原始数据不写入报告。 3. **省 Token**:不要将全部会话原文重复搬运。评分时按会话逐条处理,报告中只引用扣分相关的关键句(每条不超过 50 字)。 ## 工作流 ### 第 1 步:识别输入 用户会提供以下形式之一的会话数据: - CSV/Excel 导出文件(企业微信、千牛、美洽、Udesk、智齿等客服系统) - 文本文件或直接粘贴的聊天记录 先查看文件前 20 行,判断导出属于哪种结构(两种都必须支持): **A. 逐条式**:一行一条消息,有独立的「会话 ID / 消息方向 / 消息内容 / 时间戳」列。不同系统列名不同(如"发送方/sender/角色/消息来源"),按语义对应。 **B. 整段式(真实系统更常见)**:一行一个会话,整通对话压在一个"聊天记录/会话内容/消息详情"单元格里,消息之间以换行或分隔符相连,角色和时间以内嵌标记出现,如 `[2026-07-01 10:12] 买家:xxx`、`客服(10:13):xxx`、`访客 2026-07-01 10:12:03\nxxx`。此时需要先在单元格内做二次解析:识别该导出的内嵌标记模式(取 2-3 个会话样本归纳出角色标记、时间格式、消息分隔规律),再按此模式把每个会话拆回「角色 + 时间 + 内容」的消息序列。同一文件内模式通常一致,归纳一次全局复用;遇到无法匹配模式的片段,整会话转入"未处理清单"而非硬拆。 无论哪种结构,不确定列含义或内嵌格式时,向用户展示一小段原文确认一次,不要猜测后静默处理。 如果用户没有提供文件,主动说明支持的格式,并提示可以先用 `examples/sample-conversations.csv` 体验效果。 ### 第 2 步:加载质检规则 - **先做完整性检查**:查看 `references/rules-default.md` 是否存在且首行以"# 通用客服质检规则包"开头。若文件缺失、为占位内容或非本技能原始规则,**不得使用任何替代规则静默执行**——明确告知用户"当前安装不完整(附属规则文件缺失),将使用内联精简规则执行;建议通过 openclaw CLI 或 SkillHub 重新安装以获得完整规则包",然后使用下方内联规则继续。 - 完整时:**先完整读取规则文件再向用户介绍**,不要凭印象概述维度。如果用户提供了自己的规则文件,或技能目录中存在 `rules-custom.md`,优先使用用户规则;未覆盖的维度沿用默认规则补齐。 - 读取后,用 3-5 行向用户简述本次采用的规则要点(以规则文件中的实际维度名和分值为准),给用户一次调整机会,但不要等待——说明后直接继续执行。 - 本规则包面向**中文会话**设计;若数据以其他语言为主,提示用户评分效果可能受限。 **内联精简规则(附属文件缺失时的兜底,完整版见 references/rules-default.md)**——总分 100,五个维度扣分: 1. 响应及时性(上限-30):首响>3分钟-5、>10分钟-15;过程中客户消息>5分钟未回每次-5;客户催促后>3分钟-10。按秒计,严格大于阈值才扣;首响时段不重复计入过程超时;非工作时段有自动回复标记的转待复核。 2. 服务禁语(上限-30):顶撞/不耐烦类("不知道""爱买不买""说了多少遍")每次-10;无指引的推诿每次-5;不当绝对化承诺("百分百""绝对")每次-5。 3. 情绪安抚(上限-15,语义项):客户明显负面情绪未获任何回应-5;激化性回应-10;把握不足列待复核。 4. 流程合规(上限-15):无收尾确认-5;退款/售后诉求未给明确路径-10;客户≥3次要求升级未升级→待复核。 5. 专业性(上限-10,语义项):答非所问(同一问题重复≥3次未获相关回答)-5;前后矛盾-5。 豁免不扣分:系统自动消息、客户主动结束未等回复、坐席声明"正在查询"后的合理等待、合规转接(说明去向并实际转接)。 ### 第 3 步:逐会话评分 按会话(同一会话 ID 的全部消息)为单位处理。每个会话: 1. 重建对话时间线(客户消息与坐席回复配对)。 2. 按规则文件中的每个维度检查,记录:维度、结果(通过/扣分/待复核)、扣分值、证据句(脱敏、≤50 字)、时间点。 3. 计算该会话总分 = 100 - 扣分合计(最低 0 分)。 4. 判定把握程度:证据明确(如出现禁语原词、超时可由时间戳计算)→ 正常记录;依赖语义判断且把握不足(如"态度是否冷淡")→ 标记为"待复核",不直接计入扣分,单独列出。 会话量较大时(>200 条会话),先向用户说明预计处理方式,建议分批或抽样(如按 10% 随机抽样 + 全部差评关联会话),由用户选择。 ### 第 4 步:生成质检报告 输出一个 Excel 文件(若环境不支持则用 Markdown 表格),包含三个部分(Excel 中为三个工作表): **Sheet1 质检明细**:会话ID | 坐席 | 日期 | 总分 | 扣分项汇总 | 各维度得分 **Sheet2 扣分证据**:会话ID | 坐席 | 维度 | 扣分 | 证据句(脱敏) | 发生时间 **Sheet3 待人工复核**:会话ID | 坐席 | 疑似问题 | 相关句(脱敏) | 建议复核要点 报告约束: - 扣分一律以**负数**记录在维度列,通过为 0,任何维度列不得出现正数。 - 不输出坐席排名或名次。可按坐席汇总平均分,但必须同时标注该坐席的会话样本数,并注明"样本量有限,不构成考核依据"。 - 无法解析的会话(乱码、缺时间标记、格式破损)**绝不参与评分**——不得以满分或任何分数出现在明细中,必须且只能出现在"未处理会话清单"。 ### 第 4.5 步:交付前自检(必做) 生成报告后、交给用户前,逐条核对以下三笔账,任何一条不平都要先修正再交付: 1. **总分账**:每个会话的总分 = 100 + 各维度列之和(维度列为负数或 0),逐行验算。 2. **明细一致性账**:"扣分项汇总"中列出的每笔扣分,必须能在维度列和 Sheet2 证据表中找到对应记录;反之亦然。不允许"列了扣分但没扣"或"扣了分但没有证据"。 3. **数量账**:明细行数 + 未处理清单行数 = 输入会话总数;待复核条目不计入扣分,但对应会话须在明细中标注"含待复核项"。 报告开头附一段摘要(不超过 150 字):本次质检会话数、平均分、扣分最集中的前 3 个维度、待复核条数。 ### 第 5 步:收尾 - 明确告诉用户:报告是辅助参考,正式使用(尤其涉及考核)前需人工复核,特别是 Sheet3。 - 如果发现规则不适配的情况(如某行业特有话术被误扣分),建议用户创建 `rules-custom.md` 覆盖,参考 `references/rules-guide.md` 的写法。 ## 错误处理 - 文件解析失败或列结构无法识别:向用户展示前几行并询问列含义,不要猜测后静默处理。 - 单条会话数据异常(乱码、缺时间戳):跳过该会话并在报告末尾列出"未处理会话清单"及原因,不要中断整体任务,也不要反复重试。 - 会话中出现威胁人身安全、自伤等紧急内容:不作为普通质检项处理,在报告摘要中单独置顶提示用户关注。 ## 参考文件 - `references/rules-default.md` — 通用质检规则包(维度、分值、判定标准),执行第 2 步时阅读。 - `references/rules-guide.md` — 用户自定义规则的编写指南,用户想改规则时引导其阅读。 - `examples/sample-conversations.csv` — 示例会话数据,用户想先体验时使用。 - `examples/sample-report.md` — 示例报告,向用户展示输出长什么样时引用。
don't have the plugin yet? install it then click "run inline in claude" again.