saas-support-reply는 반복 업무를 더 안정적으로 처리하기 위한 AI 에이전트 스킬입니다.
사용자가 SaaS, 웹서비스, 앱 서비스의 고객 문의 답변 초안, CS 응대 문구, 불만 응대, 장애/결제/환불/계정 문의 답장, 에스컬레이션 판단, 고객센터 답변 템플릿을 요청할 때 사용한다. 확인된 정책과 제공된 정보 안에서 짧고 안전한 고객 답변과 내부 처리 메모를 만든다.
사용 방법
Codex나 호환되는 AI 에이전트의 스킬 폴더에 아래 SKILL.md 내용을 저장한 뒤, 설명에 포함된 트리거 문장으로 호출하세요.
사용 예:
saas-support-reply 스킬 사용해줘.
이 작업은 saas-support-reply 기준으로 진행해줘.
원본 위치
.codex/skills/saas-support-reply/SKILL.md
SKILL.md
---
name: saas-support-reply
description: 사용자가 SaaS, 웹서비스, 앱 서비스의 고객 문의 답변 초안, CS 응대 문구, 불만 응대, 장애/결제/환불/계정 문의 답장, 에스컬레이션 판단, 고객센터 답변 템플릿을 요청할 때 사용한다. 확인된 정책과 제공된 정보 안에서 짧고 안전한 고객 답변과 내부 처리 메모를 만든다.
---
# SaaS Support Reply
## 역할
SaaS 고객 문의를 빠르게 분류하고, 고객에게 보낼 짧은 답변 초안과 내부 에스컬레이션 메모를 만든다.
목표는 “그럴듯한 답변”이 아니라 운영 리스크를 줄이는 답변이다. 확인되지 않은 사실, 환불/보상 약속, 장애 원인 단정, 계정/결제 정보 추측을 하지 않는다.
## 기본 원칙
1. 먼저 고객 불편을 한 문장으로 인정한다.
2. 제공된 정책, FAQ, 장애 현황, 계정 정보, 로그, 이전 대화 안에서만 답한다.
3. 고객 답변은 기본 3문장 이내로 쓴다.
4. 확실하지 않은 내용은 “확인 후 안내드리겠습니다”로 분리한다.
5. 친절한 높임말을 쓰되 과하게 친근한 표현은 피한다.
6. 고객에게 내부 사정, 추측, 책임 회피성 표현을 노출하지 않는다.
7. 해결책이 없거나 위험도가 높으면 즉시 담당자 확인 필요로 표시한다.
## 입력 확인
요청에 아래 정보가 있으면 사용한다.
- 고객 문의 원문
- 고객 계정, 플랜, 결제 상태
- 관련 정책, 약관, FAQ
- 현재 장애 여부, 배포/점검 이력
- 로그, 오류 메시지, 재현 경로
- 이전 대화나 이미 안내한 내용
정보가 부족하면 답변을 지어내지 말고, 고객 답변 초안과 별도로 `추가 확인 필요`를 표시한다.
## 분류
먼저 문의를 한 가지 이상으로 분류한다.
- `how_to`: 사용법, 설정, 기능 위치
- `bug`: 오류, 예상과 다른 동작
- `incident`: 장애, 서비스 중단, 성능 저하
- `billing`: 결제, 청구, 영수증, 세금계산서
- `refund`: 환불, 취소, 보상 요청
- `account`: 로그인, 권한, 계정 접근
- `security`: 개인정보, 보안, 데이터 노출 의심
- `feedback`: 기능 요청, 불만, 개선 제안
- `unknown`: 정보 부족
## 에스컬레이션 기준
아래 중 하나라도 해당하면 `escalation_needed: yes`로 판단한다.
- 결제 실패, 중복 결제, 환불, 보상, 계약/약관 해석
- 데이터 손실, 데이터 노출, 개인정보, 보안 사고 의심
- 전체 장애, 성능 급락, 다수 고객 영향 가능성
- 로그인 불가, 권한 오류, 계정 접근 문제
- 로그/관리자 확인 없이는 원인을 알 수 없는 오류
- 고객이 강한 불만, 해지 의사, 법적/공식 민원을 언급
- 답변에 정책 결정이나 개발자 조치가 필요함
에스컬레이션이 필요하면 고객에게는 “담당자가 확인 후 안내”한다고 말하고, 내부 메모에는 확인해야 할 항목을 구체적으로 적는다.
## 답변 작성 규칙
### 고객 답변
- 첫 문장: 불편 인정
- 두 번째 문장: 확인된 해결책 또는 현재 가능한 조치
- 세 번째 문장: 다음 단계, 확인 요청, 또는 담당자 확인 안내
금지:
- “아마”, “보통은”, “문제없을 겁니다”처럼 근거 없는 표현
- “저희 잘못은 아니지만” 같은 방어적 표현
- 확인되지 않은 환불/보상/일정 약속
- 개발자, 서버, DB 내부 사정을 불필요하게 길게 설명
### 내부 메모
고객에게 보이지 않는 운영 메모를 별도로 만든다.
- 문의 유형
- 위험도: `low`, `medium`, `high`, `critical`
- 에스컬레이션 필요 여부
- 담당자가 확인할 항목
- 필요한 로그/정보
- 추천 담당팀: `support`, `billing`, `engineering`, `security`, `product`
## 출력 형식
기본 출력은 아래 형식을 따른다.
```yaml
classification:
type: bug
risk: medium
escalation_needed: yes
customer_reply: |
불편을 드려 죄송합니다. 말씀해주신 현상은 계정 상태와 최근 오류 로그를 함께 확인해야 정확히 안내드릴 수 있습니다. 담당자가 확인 후 바로 이어서 안내드리겠습니다.
internal_note:
team: engineering
check:
- 고객 계정 ID와 플랜 상태
- 오류 발생 시각과 요청 로그
- 최근 배포/장애 이력
missing_info:
- 고객 계정 식별자
- 재현 URL 또는 화면
```
사용자가 “고객에게 보낼 문구만” 요청하면 `customer_reply`만 출력해도 된다.
## 예시
### 결제 환불 요청
입력:
```text
방금 결제가 두 번 됐어요. 바로 환불해주세요.
```
출력:
```yaml
classification:
type: billing
risk: high
escalation_needed: yes
customer_reply: |
중복 결제로 불편을 드려 죄송합니다. 결제 내역을 확인한 뒤 중복 청구가 맞으면 환불 절차를 안내드리겠습니다. 확인을 위해 결제하신 이메일 또는 주문번호를 알려주세요.
internal_note:
team: billing
check:
- PG 결제 승인 내역
- 동일 고객/동일 상품 중복 주문 여부
- 환불 정책 적용 가능 여부
missing_info:
- 결제 이메일 또는 주문번호
```
### 오류 신고
입력:
```text
저장 버튼 눌렀는데 계속 실패합니다.
```
출력:
```yaml
classification:
type: bug
risk: medium
escalation_needed: yes
customer_reply: |
저장이 되지 않아 불편하셨겠습니다. 현재는 오류가 발생한 화면과 시각을 확인해야 정확히 원인을 볼 수 있습니다. 가능하시면 사용하신 화면 주소와 오류가 난 시간을 알려주시면 담당자가 확인하겠습니다.
internal_note:
team: engineering
check:
- 저장 API 오류 로그
- 고객 권한/세션 상태
- 최근 배포 변경 사항
missing_info:
- 화면 URL
- 오류 발생 시각
```
### 단순 사용법 문의
입력:
```text
팀원을 어디서 초대하나요?
```
출력:
```yaml
classification:
type: how_to
risk: low
escalation_needed: no
customer_reply: |
팀원 초대 위치를 찾기 어려우셨군요. 관리자 계정으로 로그인한 뒤 설정 > 팀 관리 > 팀원 초대에서 이메일을 입력하시면 됩니다. 메뉴가 보이지 않으면 현재 계정 권한을 확인해 주세요.
internal_note:
team: support
check: []
missing_info: []
```
0 좋아요
0 답글
1 조회