Agent Skills: create-feedback-issue Skill

|

UncategorizedID: semicolon-devteam/semo/create-feedback-issue

Install this agent skill to your local

pnpm dlx add-skill https://github.com/semicolon-devteam/semo/tree/HEAD/semo-system/semo-skills/create-feedback-issue

Skill Files

Browse the full folder contents for create-feedback-issue.

Download Skill

Loading file tree…

semo-system/semo-skills/create-feedback-issue/SKILL.md

Skill Metadata

Name
create-feedback-issue
Description
|

시스템 메시지: 이 Skill이 호출되면 [SEMO] Skill: create-feedback-issue 호출 - {피드백 유형} 시스템 메시지를 첫 줄에 출력하세요.

create-feedback-issue Skill

SEMO 패키지에 대한 사용자 피드백을 Supabase issues 테이블에 저장 (SEMO 공통 Skill)

Purpose

모든 SEMO 패키지에서 공통으로 사용하는 피드백 수집 Skill입니다.


🔴 데이터 소스 변경 (v2.0.0)

| 버전 | 데이터 소스 | 방식 | |------|------------|------| | v1.x | GitHub Issues | gh issue create CLI | | v2.0 | Supabase | issues 테이블 INSERT |


🔴 NON-NEGOTIABLE RULES

로컬 수정 금지

feedback 스킬은 절대로 로컬 스킬 파일을 직접 수정하지 않습니다.

| 동작 | 허용 여부 | 설명 | |------|----------|------| | Supabase issues 테이블에 INSERT | ✅ 허용 | DB에 피드백 등록 | | 로컬 스킬 파일 수정 | ❌ 금지 | semo-system/ 내 파일 수정 불가 | | 로컬 CLAUDE.md 수정 | ❌ 금지 | .claude/ 내 파일 수정 불가 |

이유

  • 로컬 수정은 npm 패키지 업데이트 시 덮어씌워짐
  • SEMO 팀에 피드백이 전달되지 않음
  • 다른 사용자에게 개선사항이 공유되지 않음

Meta 환경 예외

Meta 환경(semo 레포 직접 작업)에서만 직접 수정 허용:

# Meta 환경 확인 방법
git remote -v | grep "semicolon-devteam/semo"
# 또는
[ -d "semo-system/meta" ] && echo "Meta 환경"

| 환경 | 동작 | |------|------| | 일반 환경 (semo init 설치) | 이슈 생성만 허용 | | Meta 환경 (semo 레포) | 직접 수정 허용 (process-feedback 스킬 사용) |


Feedback Types

| 유형 | 설명 | issues.type | |------|------|-------------| | bug | 의도한 대로 동작하지 않음 | bug | | feature | 개선 아이디어, 새 기능 요청 | feature |

Note: labels 컬럼에 feedback 값이 필수로 포함됩니다.

Workflow

1. 피드백 유형 확인 (버그 or 제안)
   ↓
2. 정보 수집 (질문/결과/기대사항)
   ↓
3. Supabase issues 테이블에 INSERT
   ↓
4. 완료 메시지 (이슈 번호 안내)

Execution

Step 1: 피드백 정보 수집

사용자에게 다음 정보를 수집:

  • 피드백 유형 (bug / feature)
  • 제목
  • 상세 내용 (재현 단계, 기대 결과 등)

Step 2: Supabase로 이슈 생성

// Supabase 클라이언트를 사용한 이슈 생성
const { data, error } = await supabase
  .from('issues')
  .insert({
    office_id: officeId,  // 현재 Office ID
    title: `[Feedback] ${title}`,
    body: body,
    type: feedbackType,  // 'bug' or 'feature'
    state: 'open',
    status: 'backlog',
    labels: ['feedback', packageName]
  })
  .select('number')
  .single();

Step 2-1: SQL 직접 사용 (MCP Server)

-- 버그 피드백 생성
INSERT INTO issues (office_id, title, body, type, state, status, labels)
VALUES (
  '{office_uuid}',
  '[Feedback] {제목}',
  '{본문}',
  'bug',
  'open',
  'backlog',
  ARRAY['feedback', 'semo-skills']
)
RETURNING number;

-- 개선 제안 생성
INSERT INTO issues (office_id, title, body, type, state, status, labels)
VALUES (
  '{office_uuid}',
  '[Enhancement] {제목}',
  '{본문}',
  'feature',
  'open',
  'backlog',
  ARRAY['feedback', 'semo-skills']
)
RETURNING number;

Step 3: create_feedback_issue 함수 사용 (권장)

마이그레이션에 포함된 헬퍼 함수를 사용:

-- 피드백 이슈 생성 함수 호출
SELECT * FROM create_feedback_issue(
  '{office_uuid}'::uuid,
  '[Feedback] 스킬 동작 오류',
  '## 문제 상황\n\nwrite-code 스킬이 제대로 동작하지 않습니다...',
  'bug',
  ARRAY['feedback', 'semo-skills']
);

Output

[SEMO] Feedback: 이슈 생성 완료

✅ 피드백이 등록되었습니다!

**이슈**: #{이슈번호}
**제목**: {이슈 제목}
**유형**: {버그/기능요청}
**상태**: backlog

GitHub CLI Fallback

Supabase 연결이 불가능한 경우 GitHub CLI로 폴백:

# 버그 이슈 (Fallback)
gh issue create \
  --repo semicolon-devteam/semo \
  --title "[Feedback] {제목}" \
  --body-file /tmp/issue-body.md \
  --label "feedback" \
  --label "bug"

Error Handling

Supabase 연결 오류

⚠️ **Supabase 연결 오류**

이슈를 생성할 수 없습니다.
- MCP 서버 설정을 확인해주세요.
- GitHub CLI 폴백을 시도합니다...

필수 필드 누락

⚠️ **입력 오류**

다음 필드가 필요합니다:
- 피드백 유형 (bug / feature)
- 제목
- 상세 내용

References