关于 customer-support-builder
Customer Support Builder 是用于设计客户支持体系的技能,通过文档、自助服务、自动化和工单工作流适应产品增长。内容涵盖支持渠道、指标、分流规则和分阶段扩展。
主要功能
- 01支持成熟度规划
- 02知识库结构设计
- 03邮件与聊天工作流
- 04聊天机器人决策路径
- 05工单分流与生命周期
- 06支持指标与监测
适用场景
- 01规划增长型产品的支持体系
- 02创建可搜索的帮助中心
- 03自动处理常见支持请求
- 04制定工单分配规则
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ daffy0208/ ai-dev-standards --skill customer-support-builder安装后在 Claude Code 中输入/customer-support-builder确认已加载。
附带文件manifest.yaml
详细介绍
客户支持构建指南
构建可随产品增长而扩展的客户支持系统,无需按比例增加招聘人数。
核心原则
支持规模的增长应低于用户规模的增长。 用户从 100 人增长到 10,000 人时,支持量不应增加 100 倍。优质的自助服务系统可以让支持需求只增长 10 至 20 倍,而用户群增长 100 倍。
支持成熟度模型
阶段 1:创始人主导(0-100 位用户)
- 创始人亲自回答每个问题
- 了解用户实际遇到的困难
- 手动记录常见问题
- 关键指标:响应时间 < 2 小时
阶段 2:文档化(100-1,000 位用户)
- 全面的知识库
- 使用模板提供电子邮件支持
- 基础常见问题解答板块
- 关键指标:自助服务率达 30%
阶段 3:自助服务(1,000-10,000 位用户)
- 可搜索的帮助中心
- 应用内情境化帮助
- 针对常见问题的自动回复
- 关键指标:自助服务率达 60%
阶段 4:规模化(10,000 位以上用户)
- AI 驱动的聊天机器人
- 社区论坛
- 视频教程
- 主动支持(在用户提交工单前发现问题)
- 关键指标:自助服务率达 80%
知识库架构
内容结构
Help Center
├── Getting Started
│ ├── Quick Start Guide (< 5 min)
│ ├── Account Setup
│ └── First Steps Tutorial
├── Core Features
│ ├── Feature A Guide
│ ├── Feature B Guide
│ └── Feature C Guide
├── Troubleshooting
│ ├── Common Errors
│ ├── Performance Issues
│ └── Integration Problems
├── Account & Billing
│ ├── Pricing Plans
│ ├── Billing Issues
│ └── Account Management
└── API & Integrations
├── API Documentation
├── Webhooks
└── Integration Guides
文章模板
# [Clear, Searchable Title]
**Time to complete**: 3 minutes
**Difficulty**: Beginner/Intermediate/Advanced
## Problem
One-sentence description of what this solves.
## Solution
Step-by-step instructions with screenshots.
1. **Step 1**: Clear action
- Screenshot/GIF
- Expected result
2. **Step 2**: Next action
- Screenshot/GIF
- Expected result
## Troubleshooting
- Problem: X → Solution: Y
- Problem: A → Solution: B
## Related Articles
- [Article 1](#)
- [Article 2](#)
支持渠道
电子邮件支持
设置:
Primary: [email protected]
Routing:
- [email protected] → Billing team
- [email protected] → Engineering
- [email protected] → General inquiries
SLA:
- Critical: 2 hours
- High: 8 hours
- Normal: 24 hours
- Low: 48 hours
电子邮件模板:
# Welcome Email
Subject: Welcome to [Product]! Here's how to get started
Hi [Name],
Welcome! Here's what to do first:
1. Complete setup: [Link]
2. Try this tutorial: [Link]
3. Join our community: [Link]
Need help? Reply to this email or check our help center: [Link]
[Your Name]
# Issue Resolved
Subject: [Ticket #123] Resolved - [Issue Title]
Hi [Name],
Good news! Your issue is resolved.
**What we did**:
[Clear explanation]
**What you should see**:
[Expected result]
**If the problem returns**:
[Troubleshooting steps]
Was this helpful? [Yes] [No]
[Your Name]
聊天支持
应用内聊天小组件:
// Intercom, Drift, Crisp example
<script>
window.intercomSettings = {
app_id: "YOUR_APP_ID",
// Custom attributes
email: user.email,
user_id: user.id,
created_at: user.createdAt,
plan: user.plan,
// Show relevant help articles
help_center: {
search_enabled: true
}
};
</script>
聊天服务等级协议:
- 工作时间:5 分钟内响应
- 非工作时间:电子邮件自动回复
- 预计解决时间:1-3 条消息
聊天机器人(AI 驱动)
决策树:
User message →
├── Can answer with KB article? → Send article
├── Simple factual question? → AI answers
├── Complex issue? → Route to human
└── Angry/escalated? → Priority human routing
实施:
def handle_support_message(message, user_context):
# 1. Search knowledge base
kb_results = search_kb(message, top_k=3)
if kb_results[0].score > 0.85:
return {
'type': 'article',
'article': kb_results[0],
'confidence': 'high'
}
# 2. Try AI response with context
ai_response = generate_response(
message=message,
kb_context=kb_results,
user_history=user_context
)
if ai_response.confidence > 0.8:
return {
'type': 'ai_response',
'response': ai_response.text,
'sources': kb_results
}
# 3. Route to human
return {
'type': 'human_handoff',
'priority': calculate_priority(message, user_context),
'suggested_agent': route_to_specialist(message)
}
工单管理
工单系统架构
interface Ticket {
id: string
status: 'new' | 'open' | 'pending' | 'resolved' | 'closed'
priority: 'low' | 'normal' | 'high' | 'critical'
category: string // 'billing', 'technical', 'feature', etc.
subject: string
description: string
requester: User
assignee?: Agent
tags: string[]
created_at: Date
updated_at: Date
resolved_at?: Date
first_response_at?: Date
satisfaction_rating?: 1 | 2 | 3 | 4 | 5
}
自动分配规则
Routing Rules:
- Condition: subject contains "billing" OR "payment"
Action: Assign to billing-team
Priority: high
- Condition: user.plan == "enterprise"
Action: Assign to enterprise-team
Priority: high
SLA: 2 hours
- Condition: subject contains "API" OR "webhook"
Action: Assign to engineering
Tag: 'api-issue'
- Condition: sentiment == "angry"
Action: Priority routing
Priority: critical
Notify: support-manager
工单生命周期
New → Open → Pending → Resolved → Closed
↓ ↑
← Reopen ←
状态定义:
- New:刚创建,尚未查看
- Open:Agent 正在处理
- Pending:等待客户回复
- Resolved:已提供解决方案,等待确认
- Closed:问题已确认解决,或在 7 天后自动关闭
自助服务工具
交互式故障排查工具
// Example: Connection troubleshooter
const troubleshooter = {
start: {
question: 'What problem are you experiencing?',
options: [
{ text: "Can't connect", next: 'check_connection' },
{ text: 'Slow performance', next: 'check_performance' },
{ text: 'Error message', next: 'check_error' }
]
},
check_connection: {
question: 'Can you access our website?',
options: [
{ text: 'Yes', next: 'browser_check' },
{ text: 'No', action: 'show_status_page' }
]
},
browser_check: {
question: 'Clear your browser cache and try again.',
options: [
{ text: 'It worked!', action: 'problem_solved' },
{ text: 'Still not working', action: 'contact_support' }
]
}
}
应用内引导
// Contextual help tooltips
const helpTooltips = {
'/dashboard': {
first_visit: {
title: 'Welcome to your dashboard!',
steps: [
'1. View your key metrics here',
"2. Click 'Add Widget' to customize",
'3. Need help? Click the ? icon'
]
}
},
'/settings/billing': {
always_show: {
payment_methods: 'We accept Visa, Mastercard, and AmEx',
billing_cycle: 'Changes take effect next billing cycle'
}
}
}
支持指标
需要跟踪的关键指标
interface SupportMetrics {
// Response metrics
first_response_time: {
p50: number // median
p90: number // 90th percentile
p99: number
}
// Resolution metrics
avg_resolution_time: number
tickets_resolved_first_contact: number
// Volume metrics
tickets_created_today: number
tickets_open: number
tickets_overdue: number
// Quality metrics
customer_satisfaction_score: number // 1-5
net_promoter_score: number // -100 to 100
// Efficiency metrics
self_service_rate: number // % resolved without ticket
deflection_rate: number // % answered by KB/bot
cost_per_ticket: number
}
目标基准
Excellent Support:
first_response_time_p90: '< 2 hours'
resolution_time_avg: '< 24 hours'
self_service_rate: '> 70%'
csat: '> 4.5/5'
nps: '> 50'
Good Support:
first_response_time_p90: '< 4 hours'
resolution_time_avg: '< 48 hours'
self_service_rate: '> 50%'
csat: '> 4.0/5'
nps: '> 30'
扩展策略
支持团队架构
Support Organization (at scale):
Support Manager (1)
├── Knowledge Base Lead (1)
│ └── Technical Writers (2-3)
├── Chat Support (Tier 1) (5-10)
│ ├── Handle 80% of issues
│ └── Escalate complex cases
├── Email Support (Tier 2) (3-5)
│ ├── Handle escalations
│ └── Complex troubleshooting
└── Specialist Support (Tier 3) (2-3)
├── API/Technical issues
└── Enterprise customers
何时招聘支持人员
经验法则:
- 0-500 位用户:由创始人负责处理
- 500-2,000 位用户:招聘 1 位支持人员
- 2,000-5,000 位用户:招聘 2-3 位支持人员
- 5,000-20,000 位用户:招聘 5-8 位支持人员
- 20,000 位以上用户:组建团队
更好的衡量指标:支持负载
- 在以下情况下招聘:每天工单数 > 50,或并发聊天数 > 10
- 每位 Agent 可处理:每天约 30-40 张工单,或每天 8-10 次聊天
工具与软件
推荐技术栈
工单系统:Zendesk、Intercom、Help Scout、Freshdesk
知识库:GitBook、Notion、Confluence、Document360
聊天:Intercom、Drift、Crisp
AI 聊天机器人:OpenAI、Anthropic Claude、Dialogflow
社区:Discourse、Circle、Slack/Discord
分析:Mixpanel、Amplitude(用于分析应用内行为)
集成示例
// Unified support API
class SupportSystem {
async createTicket(data) {
const ticket = await zendesk.createTicket(data)
await analytics.track('support_ticket_created', {
ticket_id: ticket.id,
category: data.category,
user_id: data.user_id
})
return ticket
}
async trackKBArticleView(article_id, user_id) {
await analytics.track('kb_article_viewed', {
article_id,
user_id
})
// If user doesn't create ticket after viewing,
// article was helpful (deflection)
}
}
主动支持
在工单提交前发现问题
// Monitor for patterns
async function detectPotentialIssues() {
// Error spike detection
const errorRate = await getErrorRate('last_hour')
if (errorRate > 2 * avgErrorRate) {
await notifySupport('Error spike detected')
await displayStatusMessage("We're investigating an issue...")
}
// User struggle detection
const strugglingUsers = await detectStrugglingUsers({
criteria: ['repeated_failed_actions', 'long_time_on_page', 'back_and_forth_clicks']
})
if (strugglingUsers.length > 0) {
await offerProactiveHelp(strugglingUsers)
}
}
健康评分监控
interface CustomerHealth {
user_id: string
health_score: number // 0-100
signals: {
usage_frequency: 'increasing' | 'stable' | 'declining'
feature_adoption: number
support_tickets_recent: number
last_login: Date
payment_status: 'current' | 'overdue'
}
}
// Reach out proactively when health score drops
if (customer.health_score < 40) {
await sendProactiveOutreach({
type: 'check_in',
message: "Haven't seen you in a while. Need help with anything?"
})
}
快速入门清单
第 1 周:基础建设
- 设置支持邮箱(support@)
- 创建基础常见问题解答(前 10 个问题)
- 安装聊天小组件
- 记录已知问题
第 2-3 周:知识库
- 选择知识库平台
- 创建入门指南
- 记录所有功能
- 添加截图/GIF
- 创建故障排查板块
第 4 周:自动化
- 设置自动回复
- 创建电子邮件模板
- 配置分配规则
- 添加聊天机器人(基础版)
持续进行
- 每周回顾工单主题
- 根据常见问题更新知识库
- 跟踪自助服务率
- 调查客户满意度
- 优化响应时间
常见陷阱
❌ 还没有用户就构建知识库:根据用户实际提出的问题编写文档,而非凭空假设 ❌ 过早过度自动化:人类可以发现规律;同一主题的工单达到 50+ 后再进行自动化 ❌ 搜索体验差:如果用户找不到答案,就会提交工单 ❌ 缺少反馈闭环:追踪用户在提交工单前查看了哪些文章 ❌ 忽视移动端:40% 的用户会通过移动设备获取支持
成功标准
满足以下条件,说明你的支持服务做得很好:
- ✅ 70% 以上的用户无需联系支持团队即可找到答案
- ✅ 工作时间内的首次响应时间 < 2 小时
- ✅ 客户满意度 > 4.5/5
- ✅ 支持成本的增长速度低于用户群的增长速度
- ✅ 支持团队能够专注于复杂问题,而非重复性问题