plugin-commitlisted
Install: claude install-skill gagip/gagip-dev
## 커밋 메시지 형식
```
<type>(<scope>): <변경 내용 한 줄 요약>
<선택: 구현 방식·설계 결정 이유 또는 문제 원인과 수정 방법. 개조식으로 작성>
```
### type 목록
| type | 사용 상황 |
|------------|--------------------------|
| `feat` | 새 기능 추가 |
| `fix` | 잘못된 동작·지침·설정 수정 |
| `refactor` | 동작 변경 없는 구조·표현 개선 |
| `docs` | 문서 작성·수정 |
| `chore` | 빌드·설정 변경 |
### scope 자동 감지 규칙
변경된 파일 경로를 기준으로 scope를 결정한다:
| 변경 파일 경로 | scope |
|------------------------|------------|
| `plugins/common/` 하위 | `common` |
| `plugins/android/` 하위 | `android` |
| 그 외 (루트, `.claude/` 등) | scope 없음 |
| 두 플러그인 동시 변경 | 각각 별도 커밋 제안 |
## 작업 순서
### 1. 변경사항 파악
```bash
bash "$SKILL_DIR/scripts/status.sh"
```
출력 내용: 변경 파일 목록 / 스테이징 여부 / diff 통계 / 최근 커밋 5개
### 2. scope 감지 및 커밋 메시지 작성
변경 파일 경로를 보고 scope를 결정한다. 두 플러그인이 동시에 변경된 경우, 각 플러그인을 별도 커밋으로 나누도록 사용자에게 제안한다.
스테이징 상태에 따라 처리:
- **이미 스테이징된 파일이 있으면**: 스테이징된 파일 기준으로 메시지 작성, 3단계에서 `git add` 생략
- **스테이징된 파일이 없으면**: 전체 변경사항 기준으로 메시지 작성, 3단계에서 scope에 해당하는 파일만 `git add`
### 3. 사용자 확인 [STOP]
작성한 커밋 메시지와 스테이징 대상 파일 목록을 사용자에게 보여주고 **반드시 여기서 멈출 것**:
```
커밋 계획
- 메시지: <커밋 메시지>
- 스테이징 대상:
<파일 목록>
진행할까요?
```
수정 요청이 오면 반영한 뒤 다시 대기한다.
### 4. 커밋 실행
스테이징되지 않은 변경사항이 있는 경우, scope에 해당하는 파일만 스테이징:
```bash
git add <해당 파일들>
```
커밋:
```bash
git commit -m "$(cat <<'EOF'
<커밋 메시지>
EOF
)"
```
커밋 완료 후 아래 형식으로 출력:
```
✅ 커밋 완료!
- 커밋 해시: <short hash>
- 브랜치: <현재 브랜치>
- 메시지:
<커밋 메시지 전체>
- 변경 파일: <파일 수>개
```
## 행동 원칙
- scope는 변경