merge-worktreelisted
Install: claude install-skill genusarvicolabathos238/triflux
# Merge Worktree
워크트리 브랜치를 대상 브랜치로 squash-merge하고 conventional commit 메시지를 자동 작성한다.
## Current context
* Git dir: `!git rev-parse --git-dir`
* Current branch: `!git branch --show-current`
* Recent commits: `!git log --oneline -20`
* Working tree status: `!git status --short`
## Instructions
### Phase 1: Validation
1. **Worktree 확인**: `git rev-parse --git-dir` 출력에 `/worktrees/`가 포함되어야 한다. 아니면 중지.
2. **현재 브랜치 확인**: `git branch --show-current`
3. **대상 브랜치 결정**:
* `$ARGUMENTS`가 있으면 해당 브랜치 사용
* 없으면 `main` 존재 확인, 없으면 `master`
4. **원본 레포 경로 확인**: `git rev-parse --git-common-dir`의 부모 디렉토리
5. **클린 상태 확인**: `git status --porcelain`이 비어있어야 한다. 미커밋 변경이 있으면 먼저 커밋/스태시 안내.
### Phase 2: Research
1. **커밋 이력**: `git log --oneline <target>..HEAD`
2. **변경 파일 요약**: `git diff <target>...HEAD --stat`
3. **전체 diff**: `git diff <target>...HEAD` — 꼼꼼히 읽는다.
4. **핵심 파일 읽기**: 가장 큰 변경, 신규 파일, 삭제 파일을 Read로 확인.
5. **변경 분류**:
* Features (신규 기능)
* Fixes (버그 수정)
* Refactors (구조 변경)
* Tests (테스트)
* Docs (문서)
* Config/Chore (빌드, CI, 의존성)
6. **dominant type 결정**: `feat`, `fix`, `refactor`, `docs`, `chore`, `test` 중 하나
### Phase 3: 대상 브랜치 준비
1. **대상 브랜치 최근 커밋 확인**: `git -C <원본레포> log --oneline -10 <target>`
2. **WIP 커밋 감지**: `wip:`, `auto-commit`, `WIP` 시작 커밋이 있으면 사용자에게 경고.
3. **최신 fetch**: `git -C <원본레포> fetch origin <target> 2>/dev/null`
### Phase 4: Squash Merge
1. **대상 브랜치 checkout**:
```
git -C <원본레포> checkout <target>
```
2. **squash merge 실행**:
```