Claude Code Plugins

Community-maintained marketplace

Feedback

|

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name start-task
description 작업 시작. Use when (1) "랜드 #123 작업 진행", (2) "#45 시작하자", (3) "이슈 작업 시작해줘". 이슈 상태 변경 + 브랜치 생성 + Draft PR.
tools Bash, Read
model inherit

시스템 메시지: [SEMO] Skill: start-task 호출

start-task Skill

작업 시작 자동화

Purpose

GitHub 이슈 작업을 시작하기 위한 전체 프로세스를 자동화합니다:

  1. 이슈 정보 조회
  2. GitHub Projects 상태 → "작업중" 변경
  3. Feature 브랜치 생성
  4. Draft PR 생성
  5. SDD 프로세스 안내

Input Parsing

"랜드 #123 작업 진행하자"
→ repo: cm-land, issue: 123

"오피스 #45 시작"
→ repo: cm-office, issue: 45

"#123 작업 시작"
→ repo: (현재 디렉토리에서 추론), issue: 123

레포 별칭

별칭 실제 레포
랜드 cm-land
오피스 cm-office
코어 core-backend
스몰 cm-small

Workflow

Step 1: 이슈 정보 조회

# 이슈 상세 정보 조회
gh issue view 123 --repo semicolon-devteam/cm-land --json title,body,labels,assignees,projectItems

Step 2: 상태 변경 (GitHub Projects)

# Project Item ID 조회
ITEM_ID=$(gh api graphql -f query='
query {
  repository(owner: "semicolon-devteam", name: "cm-land") {
    issue(number: 123) {
      projectItems(first: 1) {
        nodes {
          id
          project {
            id
          }
        }
      }
    }
  }
}' --jq '.data.repository.issue.projectItems.nodes[0].id')

# Status 필드 ID와 "작업중" 옵션 ID 조회
PROJECT_ID=$(gh api graphql -f query='...' --jq '...')
STATUS_FIELD_ID=$(gh api graphql -f query='...' --jq '...')
IN_PROGRESS_ID=$(gh api graphql -f query='...' --jq '...')

# 상태 변경
gh api graphql -f query='
mutation {
  updateProjectV2ItemFieldValue(
    input: {
      projectId: "'$PROJECT_ID'"
      itemId: "'$ITEM_ID'"
      fieldId: "'$STATUS_FIELD_ID'"
      value: { singleSelectOptionId: "'$IN_PROGRESS_ID'" }
    }
  ) {
    projectV2Item { id }
  }
}
'

Step 3: Feature 브랜치 생성

# 이슈 제목에서 slug 생성
SLUG=$(echo "로그인 페이지 구현" | tr ' ' '-' | tr '[:upper:]' '[:lower:]')

# 브랜치 생성
git checkout -b feature/123-${SLUG}

# 원격에 푸시
git push -u origin feature/123-${SLUG}

Step 4: Draft PR 생성

gh pr create \
  --repo semicolon-devteam/cm-land \
  --title "[Draft] #123 로그인 페이지 구현" \
  --body "$(cat <<'EOF'
## 관련 이슈
closes #123

## 변경 사항
- [ ] 작업 진행 중

## 체크리스트
- [ ] Spec 작성 완료
- [ ] 구현 완료
- [ ] 테스트 통과
- [ ] 리뷰 요청

---
🤖 Generated by SEMO (eng/nextjs)
EOF
)" \
  --draft

Step 5: 다음 단계 선택지 제시 (NON-NEGOTIABLE)

🔴 CRITICAL: 작업 환경 세팅 완료 후 반드시 다음 단계 선택지를 제시합니다.

## 🚀 작업 환경 준비 완료!

다음 단계를 선택해주세요:

| 옵션 | 적합한 경우 | 키워드 |
|------|------------|--------|
| **A. SDD 전체** (권장) | 새 기능, 복잡한 로직, AC 필요 | "스펙부터 시작" |
| **B. 바로 구현** | 명확한 요구사항, 간단한 기능 | "구현 시작" |
| **C. Fast-track** | 오타/스타일 수정, 3파일 이하 | "패스트트랙" |

**선택하세요**: A, B, 또는 C

선택지별 라우팅

선택 라우팅 대상 동작
A skill:spec SDD Phase 1-3 시작
B implementation-master ADD Phase 4 바로 시작 (v0.0.x부터)
C skill:fast-track 간소화된 수정 프로세스

자동 권장 기준

이슈 라벨 권장 옵션
feature, enhancement A (SDD 전체)
bug, hotfix B 또는 C
typo, style C (Fast-track)

Output Format

## 작업 시작: cm-land #123

### 이슈 정보

| 항목 | 내용 |
|------|------|
| **제목** | 로그인 페이지 구현 |
| **라벨** | feature, frontend |
| **담당자** | @reus |

### 완료된 작업

✅ GitHub Projects 상태 → "작업중" 변경
✅ 브랜치 생성: `feature/123-로그인-페이지-구현`
✅ Draft PR 생성: #150

### 🚀 다음 단계 선택

| 옵션 | 적합한 경우 | 키워드 |
|------|------------|--------|
| **A. SDD 전체** (권장) | 새 기능, 복잡한 로직 | "스펙부터 시작" |
| **B. 바로 구현** | 명확한 요구사항 | "구현 시작" |
| **C. Fast-track** | 경미한 수정 | "패스트트랙" |

**선택하세요**: A, B, 또는 C

Expected Output

[SEMO] Skill: start-task 호출

## 작업 시작: cm-land #123

### 이슈 정보

| 항목 | 내용 |
|------|------|
| **제목** | 로그인 페이지 구현 |
| **라벨** | feature |
| **담당자** | @reus |

### 완료된 작업

✅ 상태 변경: 대기중 → 작업중
✅ 브랜치: `feature/123-로그인-페이지-구현`
✅ Draft PR: #150

### 🚀 다음 단계 선택

| 옵션 | 적합한 경우 | 키워드 |
|------|------------|--------|
| **A. SDD 전체** (권장) | 새 기능, 복잡한 로직 | "스펙부터 시작" |
| **B. 바로 구현** | 명확한 요구사항 | "구현 시작" |
| **C. Fast-track** | 경미한 수정 | "패스트트랙" |

💡 **라벨 기반 권장**: `feature` 라벨 → **A. SDD 전체** 권장

**선택하세요**: A, B, 또는 C

[SEMO] Skill: start-task 완료

Error Handling

이슈를 찾을 수 없는 경우

❌ cm-land에서 #123 이슈를 찾을 수 없습니다.

확인사항:
- 이슈 번호가 올바른가요?
- 레포 이름이 올바른가요? (랜드 = cm-land)
- 이슈가 Open 상태인가요?

이미 작업중인 경우

⚠️ #123은 이미 "작업중" 상태입니다.

현재 상태:
- 브랜치: feature/123-로그인-페이지-구현 (존재함)
- PR: #150 (Draft)

계속 진행하시겠습니까?

References