AgentSkillsCN

create-issue

自动生成GitHub问题的技能

SKILL.md
--- frontmatter
name: create-issue
description: GitHub 이슈를 자동으로 생성하는 스킬
argument-hint: 이슈 제목 또는 상세 설명

GitHub 이슈 생성 스킬

당신은 GitHub 이슈를 효율적으로 생성하는 전문가입니다.

🎯 목표

사용자가 제공한 다음 내용을 기반으로 GitHub 이슈를 생성하세요:

입력: $ARGUMENT

📋 작업 순서

1. 현재 저장소 확인

먼저 현재 디렉토리가 Git 저장소인지, 그리고 GitHub 원격 저장소가 설정되어 있는지 확인하세요.

bash
git remote -v

2. 입력 내용 분석

$ARGUMENT를 분석하여 다음을 결정하세요:

Case 1: 간단한 제목만 입력된 경우

  • 예: "버튼 클릭 시 에러 발생"
  • 제목만 사용하여 이슈 생성

Case 2: 제목과 설명이 함께 입력된 경우

  • 예: "로그인 버튼 에러 - 사용자가 로그인 버튼을 클릭하면 500 에러가 발생합니다"
  • 첫 번째 문장 또는 "-" 앞부분을 제목으로, 나머지를 본문으로 사용

Case 3: 상세한 설명만 입력된 경우

  • 입력 내용을 분석하여 적절한 제목을 추출하거나 생성
  • 전체 내용을 본문으로 사용

3. 이슈 템플릿 작성

다음 형식으로 이슈를 작성하세요:

제목: 간결하고 명확하게 (50자 이내 권장)

본문:

markdown
## 📝 설명
[이슈에 대한 상세 설명]

## 🔍 재현 방법 (해당되는 경우)
1. [단계 1]
2. [단계 2]
3. [단계 3]

## ✅ 예상 동작
[예상되는 동작 설명]

## ❌ 실제 동작
[실제 발생하는 동작 설명]

## 📸 스크린샷 (해당되는 경우)
[필요 시 스크린샷 언급]

## 💡 추가 정보
[관련 정보나 컨텍스트]

4. GitHub CLI로 이슈 생성

bash
gh issue create --title "[제목]" --body "[본문]"

중요:

  • 제목과 본문에 큰따옴표(")가 있으면 이스케이프 처리 또는 작은따옴표(') 사용
  • 본문이 긴 경우 heredoc 사용:
bash
gh issue create --title "[제목]" --body "$(cat <<'EOF'
[본문 내용]
EOF
)"

5. 결과 확인 및 보고

이슈 생성 후:

  • 생성된 이슈 번호와 URL을 사용자에게 알려주세요
  • 이슈 생성이 실패한 경우 오류 메시지를 명확히 전달하세요

🎨 이슈 작성 가이드라인

제목 작성 규칙

  • 명확성: 무엇이 문제인지 한눈에 알 수 있어야 함
  • 간결성: 50자 이내 권장
  • 접두사 사용 (선택사항):
    • bug: - 버그 수정
    • feat: - 새로운 기능
    • docs: - 문서 관련
    • refactor: - 리팩토링
    • test: - 테스트 관련
    • chore: - 기타 작업

본문 작성 규칙

  • 구조화: 섹션으로 나누어 가독성 향상
  • 구체성: 모호한 표현 대신 구체적인 설명
  • 재현 가능성: 다른 사람이 문제를 재현할 수 있도록 단계 제공
  • 스크린샷: 필요한 경우 스크린샷 언급 (실제 첨부는 사용자가 수동으로)

라벨 추가 (선택사항)

이슈의 성격에 따라 라벨을 추가할 수 있습니다:

bash
gh issue create --title "[제목]" --body "[본문]" --label "bug,priority:high"

일반적인 라벨:

  • bug - 버그
  • enhancement - 개선
  • documentation - 문서
  • good first issue - 초보자 친화적
  • help wanted - 도움 필요
  • priority:high - 높은 우선순위
  • priority:low - 낮은 우선순위

⚠️ 주의사항

  1. Git 저장소 확인: gh CLI는 현재 디렉토리가 Git 저장소여야 함
  2. GitHub 인증: gh CLI가 GitHub에 인증되어 있어야 함 (gh auth status 확인)
  3. 원격 저장소: GitHub 원격 저장소가 설정되어 있어야 함
  4. 권한: 저장소에 이슈를 생성할 권한이 있어야 함

📚 예시

예시 1: 간단한 버그 리포트

입력: 로그인 버튼 클릭 시 500 에러 발생

실행:

bash
gh issue create --title "bug: 로그인 버튼 클릭 시 500 에러 발생" --body "$(cat <<'EOF'
## 📝 설명
사용자가 로그인 버튼을 클릭하면 500 에러가 발생합니다.

## 🔍 재현 방법
1. 로그인 페이지로 이동
2. 이메일과 비밀번호 입력
3. "로그인" 버튼 클릭

## ❌ 실제 동작
500 Internal Server Error 발생

## ✅ 예상 동작
로그인 성공 후 대시보드로 이동
EOF
)"

예시 2: 기능 요청

입력: 다크 모드 기능 추가 - 사용자가 다크 모드와 라이트 모드를 전환할 수 있는 기능이 필요합니다

실행:

bash
gh issue create --title "feat: 다크 모드 기능 추가" --body "$(cat <<'EOF'
## 📝 설명
사용자가 다크 모드와 라이트 모드를 전환할 수 있는 기능이 필요합니다.

## 💡 제안 사항
- 내비게이션 바에 테마 전환 버튼 추가
- 사용자 선호도를 로컬 스토리지에 저장
- 시스템 설정을 기본값으로 사용

## ✅ 기대 효과
- 사용자 경험 개선
- 접근성 향상
- 눈의 피로 감소
EOF
)" --label "enhancement"

예시 3: 상세한 버그 리포트

입력: ToDo 앱에서 완료 버튼을 클릭했을 때 체크박스는 체크되지만 Supabase에 저장되지 않는 문제가 있습니다. 콘솔에는 "Unauthorized" 에러가 표시됩니다.

실행:

bash
gh issue create --title "bug: ToDo 완료 상태가 Supabase에 저장되지 않음" --body "$(cat <<'EOF'
## 📝 설명
ToDo 앱에서 완료 버튼을 클릭했을 때 UI는 업데이트되지만 Supabase에 저장되지 않는 문제가 발생합니다.

## 🔍 재현 방법
1. /todos 페이지로 이동
2. 임의의 ToDo 항목의 체크박스 클릭
3. 페이지 새로고침

## ❌ 실제 동작
- 체크박스가 체크되지만 새로고침 시 다시 미완료 상태로 돌아감
- 브라우저 콘솔에 "Unauthorized" 에러 표시

## ✅ 예상 동작
- 체크박스 클릭 시 Supabase에 저장됨
- 페이지 새로고침 후에도 완료 상태 유지

## 🐛 에러 메시지

Error: Unauthorized

code

## 💡 추가 정보
- 파일: `components/todos/todo-item.tsx`
- 함수: `toggleTodoComplete`
- RLS 정책 확인 필요
EOF
)" --label "bug,priority:high"

🎬 실행 지침

  1. 현재 저장소 확인: git remote -v로 GitHub 저장소 확인
  2. GitHub 인증 확인: gh auth status로 인증 상태 확인
  3. $ARGUMENT 분석: 입력 내용을 분석하여 제목과 본문 추출
  4. 이슈 생성: gh issue create 명령어 실행
  5. 결과 보고: 생성된 이슈 URL을 사용자에게 전달

중요:

  • 이슈 생성 전에 사용자에게 제목과 본문을 미리 보여주고 확인받지 마세요
  • 바로 이슈를 생성하고 결과를 보여주세요
  • 단, 입력이 매우 모호하거나 정보가 부족한 경우에만 사용자에게 질문하세요