check-feedback
SEMO 피드백 이슈 수집, 분석 및 우선순위 추천 (Supabase DB 기반). Use when (1) "피드백 확인", "피드백 있는지", (2) "유저 피드백 체크", (3) SEMO 관련 open 이슈 조회.
$ Installer
git clone https://github.com/semicolon-devteam/semo /tmp/semo && cp -r /tmp/semo/semo-system/semo-skills/check-feedback ~/.claude/skills/semo// tip: Run this command in your terminal to install the skill
SKILL.md
name: check-feedback description: | SEMO 피드백 이슈 수집, 분석 및 우선순위 추천 (Supabase DB 기반). Use when (1) "피드백 확인", "피드백 있는지", (2) "유저 피드백 체크", (3) SEMO 관련 open 이슈 조회. tools: [Supabase, Bash, Read, Grep, Glob]
시스템 메시지: 이 Skill이 호출되면
[SEMO] Skill: check-feedback 호출시스템 메시지를 첫 줄에 출력하세요.
check-feedback Skill
SEMO 패키지 피드백 이슈 수집, 분석 및 우선순위 추천 (Supabase DB 기반)
🔴 데이터 소스 변경 (v2.0.0)
| 버전 | 데이터 소스 | 방식 |
|---|---|---|
| v1.x | GitHub Issues | gh api CLI |
| v2.0 | Supabase | issues 테이블 조회 |
Purpose
Supabase issues 테이블에서 labels에 feedback이 포함된 open 상태 이슈를 수집하고,
각 피드백을 분석하여 처리 우선순위를 추천합니다.
🔴 Phase 1: 이슈 수집
1.1 Supabase로 피드백 이슈 조회
// Supabase 클라이언트를 사용한 피드백 조회
const { data: feedbacks, error } = await supabase
.from('issues')
.select(`
number,
title,
body,
type,
status,
labels,
created_at,
assignee:agent_personas(name)
`)
.eq('state', 'open')
.contains('labels', ['feedback'])
.order('created_at', { ascending: false });
1.2 SQL 직접 조회 (MCP Server)
-- feedback 라벨이 포함된 open 이슈 조회
SELECT
i.number,
i.title,
i.type,
i.status,
i.labels,
TO_CHAR(i.created_at, 'YYYY-MM-DD') AS created_at,
ap.name AS assignee_name
FROM issues i
LEFT JOIN agent_personas ap ON i.assignee_id = ap.id
WHERE i.state = 'open'
AND 'feedback' = ANY(i.labels)
ORDER BY i.created_at DESC;
1.3 리스트 출력
## 📋 SEMO 피드백 현황
| # | 제목 | 유형 | 상태 | 생성일 |
|---|------|------|------|--------|
| #104 | [Feature] 기능 요청 | feature | backlog | 2024-12-29 |
🔴 Phase 2: 피드백 분석
각 이슈를 분석하여 유효성, 중복 여부, 반영 위치를 파악합니다.
2.1 분석 기준
| 항목 | 확인 내용 |
|---|---|
| 유효성 | 요청이 명확하고 실현 가능한가? |
| 중복 여부 | 기존 이슈와 중복되는가? 이미 반영된 기능인가? |
| 반영 위치 | 어떤 패키지/스킬을 수정해야 하는가? |
| 난이도 | 수정 범위와 복잡도는 어느 정도인가? |
| 영향도 | 다른 기능에 미치는 영향은? |
2.2 패키지 구조 참조
semo/
├── semo-system/
│ ├── semo-core/ # 원칙, 오케스트레이터, 커맨드
│ ├── semo-skills/ # 통합 스킬
│ ├── semo-hooks/ # Claude Code Hooks
│ └── meta/ # Meta 패키지
├── packages/
│ ├── cli/ # semo CLI
│ └── mcp-server/ # MCP 서버
└── semo-repository/ # Supabase 스키마
2.3 중복/무효 판별
-- 유사 제목의 closed 이슈 확인
SELECT number, title, state
FROM issues
WHERE title ILIKE '%{keyword}%'
AND state = 'closed'
ORDER BY created_at DESC
LIMIT 5;
# 기존 스킬에서 유사 기능 검색
grep -r "{keyword}" --include="*.md" semo-system/semo-skills/
2.4 분석 결과 형식
### 📊 피드백 분석
#### #104 [Feature] draft-task-creator 스킬이 프로젝트 레포에 Task 생성
| 항목 | 결과 |
|------|------|
| **유효성** | ✅ 유효 |
| **중복** | ❌ 중복 없음 |
| **반영 위치** | `semo-skills/draft-task-creator/` |
| **난이도** | 🟡 중간 (레포 설정 로직 추가) |
| **영향도** | 🟢 낮음 (draft-task-creator만 수정) |
| **버전 타입** | MINOR |
**구현 방향**:
- project-channels.md에서 프로젝트별 레포 매핑 활용
- 기본 레포(semo) 대신 프로젝트 레포에 Task 생성
🔴 Phase 3: 우선순위 추천
3.1 우선순위 기준
| 우선순위 | 기준 | 예시 |
|---|---|---|
| 🔴 높음 | 버그, 사용자 경험 저하, 빠른 수정 가능 | 오류 수정, 중요 기능 누락 |
| 🟡 중간 | 기능 개선, 적절한 난이도 | 워크플로우 개선, 새 옵션 추가 |
| 🟢 낮음 | 선택적 개선, 높은 난이도 | 대규모 리팩토링, 선택적 기능 |
| ⚪ 보류 | 추가 논의 필요, 불명확한 요구사항 | 요구사항 불명확, 기술적 제약 |
3.2 추천 순서 결정
## 🎯 처리 우선순위 추천
| 순위 | 이슈 | 이유 |
|------|------|------|
| 1️⃣ | #101 | 🔴 사용자 경험 개선, 낮은 난이도 |
| 2️⃣ | #103 | 🟡 문서 개선, 빠른 반영 가능 |
| 3️⃣ | #104 | 🟡 기능 추가, 중간 난이도 |
| 4️⃣ | #102 | 🟢 새 패키지, 높은 난이도 |
3.3 무효/보류 이슈 안내
### ⚠️ 검토 필요 이슈
| 이슈 | 상태 | 사유 |
|------|------|------|
| #99 | ⚪ 보류 | 이미 v1.2.0에서 반영됨 (중복) |
| #100 | ⚪ 보류 | 요구사항 불명확, 추가 논의 필요 |
🔴 Phase 4: 처리 권유
분석 완료 후 사용자에게 처리 여부를 확인합니다.
4.1 권유 메시지
---
## 💡 다음 단계
위 분석 결과를 바탕으로 피드백을 처리할 수 있습니다.
**처리 옵션**:
1. `"전체 처리해줘"` - 우선순위 순서대로 전체 처리
2. `"#104 처리해줘"` - 특정 이슈만 처리
3. `"#101, #103 처리해줘"` - 여러 이슈 선택 처리
**처리 시 자동 실행**:
- `process-feedback` 스킬 호출
- 분석 → 설계 → 구현 → 버저닝 → 배포 → Slack 알림
4.2 체이닝: process-feedback 호출
[check-feedback] 분석 및 우선순위 추천
↓
사용자: "처리해줘" / "#104 반영해줘"
↓
[자동] skill:process-feedback 호출
↓
피드백 처리 완료
Output Format
전체 출력 예시
[SEMO] Skill: check-feedback 호출
## 📋 SEMO 피드백 현황
| # | 제목 | 유형 | 상태 | 생성일 |
|---|------|------|------|--------|
| #104 | [Feature] draft-task-creator 스킬이 프로젝트 레포에 Task 생성 | feature | backlog | 2024-12-29 |
| #103 | [Feature] Supabase 작업 시 CLI 우선 사용 가이드 추가 | feature | backlog | 2024-12-29 |
| #102 | [Feature] semo-remote 패키지에 remote-summary 스킬 추가 | feature | backlog | 2024-12-29 |
| #101 | [Feature] request-test 스킬: 협업채널 대신 프로젝트 채널로 요청 | feature | backlog | 2024-12-29 |
---
### 📊 피드백 분석
#### #104 draft-task-creator 프로젝트 레포 생성
- **유효성**: ✅ | **중복**: ❌ | **난이도**: 🟡 중간
- **반영 위치**: `semo-skills/draft-task-creator/`
#### #101 request-test 프로젝트 채널 전송
- **유효성**: ✅ | **중복**: ❌ | **난이도**: 🟢 낮음
- **반영 위치**: `semo-skills/request-test/`
---
## 🎯 처리 우선순위 추천
| 순위 | 이슈 | 난이도 | 이유 |
|------|------|--------|------|
| 1️⃣ | #101 | 🟢 낮음 | 사용자 경험 개선, 기존 인프라 활용 |
| 2️⃣ | #103 | 🟢 낮음 | 문서 개선, 즉시 반영 가능 |
| 3️⃣ | #104 | 🟡 중간 | 기능 추가, 명확한 요구사항 |
| 4️⃣ | #102 | 🔴 높음 | 새 패키지 필요, 설계 검토 필요 |
---
## 💡 다음 단계
피드백을 처리하시겠습니까?
- `"전체 처리해줘"` - 우선순위대로 전체 처리
- `"#101 처리해줘"` - 특정 이슈만 처리
**총 4개의 Open 피드백 이슈**
이슈 없음
[SEMO] Skill: check-feedback 호출
## 📋 SEMO 피드백 현황
✅ Open 상태의 피드백 이슈가 없습니다.
모든 피드백이 처리되었습니다! 🎉
GitHub CLI Fallback
Supabase 연결이 불가능한 경우 GitHub CLI로 폴백:
# Fallback: GitHub API로 이슈 조회
gh api repos/semicolon-devteam/semo/issues \
--jq '.[] | select(.state == "open") | select(.labels | any(.name == "feedback"))'
🔴 피드백 수정 완료 후 슬랙 알림 (NON-NEGOTIABLE)
피드백 이슈 수정 완료 후, 문의자에게 반드시 슬랙 알림을 전송합니다.
상세 프로세스는 process-feedback Skill 참조
References
- issues 테이블 마이그레이션
- process-feedback Skill - 피드백 처리 (체이닝 대상)
- Slack 설정
Repository

semicolon-devteam
Author
semicolon-devteam/semo/semo-system/semo-skills/check-feedback
1
Stars
0
Forks
Updated5d ago
Added1w ago