plugin-commitlisted
Install: claude install-skill gagip/gagip-dev
## 커밋 메시지 형식
```
<type>(<scope>): <변경 내용 한 줄 요약>
<선택: 구현 방식·설계 결정 이유 또는 문제 원인과 수정 방법. 개조식으로 작성>
```
### type 목록
| type | 사용 상황 |
|------------|--------------------------|
| `feat` | 새 기능 추가 |
| `fix` | 잘못된 동작·지침·설정 수정 |
| `refactor` | 동작 변경 없는 구조·표현 개선 |
| `docs` | 문서 작성·수정 |
| `chore` | 빌드·설정 변경 |
### scope 자동 감지 규칙
변경된 파일 경로를 기준으로 scope를 결정한다:
| 변경 파일 경로 | scope |
|------------------------|------------|
| `plugins/<name>/` 하위 | `<name>` (common·design·development 등 — **디렉터리명이 곧 scope**, 하드코딩하지 않는다) |
| 그 외 (루트, `.claude/` 등) | scope 없음 |
| 여러 플러그인 동시 변경 | 각각 별도 커밋 제안 |
## 작업 순서
### 1. 변경사항 파악
```bash
bash <현재 plugin-commit 스킬 디렉터리>/scripts/status.sh
```
출력 내용: 변경 파일 목록 / 스테이징 여부 / diff 통계 / 최근 커밋 5개
### 2. scope 감지 및 커밋 메시지 작성
변경 파일 경로를 보고 scope를 결정한다. 두 플러그인이 동시에 변경된 경우, 각 플러그인을 별도 커밋으로 나누도록 사용자에게 제안한다.
스테이징 상태에 따라 처리:
- **이미 스테이징된 파일이 있으면**: 스테이징된 파일 기준으로 메시지 작성, 3단계에서 `git add` 생략
- **스테이징된 파일이 없으면**: 전체 변경사항 기준으로 메시지 작성, 3단계에서 scope에 해당하는 파일만 `git add`
### 3. 사용자 확인 [STOP]
확인 질문 기능이 있으면 구조화된 확인을 사용하고, 없으면 대화에서 같은 내용을 확인한다.
작성한 커밋 메시지와 스테이징 대상 파일 목록을 사용자에게 보여주고 **반드시 여기서 멈출 것**:
```
커밋 계획
- 메시지: <커밋 메시지>
- 스테이징 대상:
<파일 목록>
진행할까요?
```
수정 요청이 오면 반영한 뒤 다시 대기한다.
### 4. 커밋 실행
먼저 두 marketplace와 plugin manifest, README 스킬 목록의 정합성을 검사한다.
```bash
python3 scripts/check_consistency.py
```
검사에 실패하면 커밋하지 않고 원인을 보고한다.
스테이징되지 않은 변경사항이 있는 경우, scope에 해당하는 파일만 스테이징:
```b