코드리뷰리팩토링문서화데이터·SQL디버깅프로젝트 관리by affaan-m
스마트 커밋
자연어로 파일 타겟팅하여 간편하게 커밋을 생성합니다. 무엇을 커밋할지 영어로 설명해 주세요.
한 줄 평가 — 다음 사람 도와주세요
언제 쓰나
커밋 메시지를 작성하기 번거로울 때
SKILL.md
Lattice 한국어 번역 · 원본 affaan-m/everything-claude-code (841beea). 복사 → 저장하면 Claude Code가 인식합니다.
---
description: "자연어 파일 타겟팅으로 빠른 커밋 — 커밋할 내용을 일반적인 영어로 설명해 주세요"
argument-hint: "[타겟 설명] (비워두면 모든 변경사항)"
---
# 스마트 커밋
> Wirasm의 PRPs-agentic-eng에서 각색되었습니다. PRP 워크플로우 시리즈의 일부입니다.
**입력**: $ARGUMENTS
---
## 1단계 — 평가
```bash
git status --short
```
출력이 비어 있으면 → 중단: "커밋할 내용이 없습니다."
사용자에게 변경된 내용(추가됨, 수정됨, 삭제됨, 추적되지 않음) 요약을 보여줍니다.
---
## 2단계 — 해석 및 스테이징
`$ARGUMENTS`를 해석하여 무엇을 스테이징할지 결정합니다:
| 입력 | 해석 | Git 명령 |
|--- |--- |--- |
| `(비워둠)` | `모든 변경사항 스테이징` | `git add -A` |
| `staged` | `이미 스테이징된 내용 사용` | `(no git add)` |
| `*.ts` or `*.py` etc. | `일치하는 glob 패턴 스테이징` | `git add '*.ts'` |
| `except tests` | `모두 스테이징 후 테스트 파일만 언스테이징` | `git add -A && git reset -- '**/*.test.*' '**/*.spec.*' '**/test_*' 2>/dev/null || true` |
| `only new files` | `추적되지 않은 파일만 스테이징` | `git ls-files --others --exclude-standard | grep . && git ls-files --others --exclude-standard | xargs git add` |
| `the auth changes` | `status/diff에서 해석 — 인증 관련 파일 찾기` | `git add <matched files>` |
| `Specific filenames` | `해당 파일 스테이징` | `git add <files>` |
자연어 입력(예: "the auth changes")의 경우, `git status` 출력 및 `git diff`를 상호 참조하여 관련 파일을 식별합니다. 사용자에게 스테이징 중인 파일과 그 이유를 보여줍니다.
```bash
git add <determined files>
```
스테이징 후 확인:
```bash
git diff --cached --stat
```
스테이징된 내용이 없으면 중단: "설명과 일치하는 파일이 없습니다."
---
## 3단계 — 커밋
명령형 어조로 한 줄 커밋 메시지를 작성합니다:
```
{type}: {description}
```
유형:
- `feat` — 새로운 기능 또는 역량
- `fix` — 버그 수정
- `refactor` — 동작 변경 없는 코드 재구조화
- `docs` — 문서 변경
- `test` — 테스트 추가 또는 업데이트
- `chore` — 빌드, 구성, 의존성
- `perf` — 성능 개선
- `ci` — CI/CD 변경사항
규칙:
- 명령형 어조 ("add feature"이지 "added feature"가 아님)
- 유형 접두사 뒤는 소문자
- 끝에 마침표 없음
- 72자 미만
- 무엇이 변경되었는지 설명하고, 어떻게 변경되었는지는 설명하지 않음
```bash
git commit -m "{type}: {description}"
```
---
## 4단계 — 출력
사용자에게 보고:
```
Committed: {hash_short}
Message: {type}: {description}
Files: {count} file(s) changed
Next steps:
- git push → push to remote
- /prp-pr → create a pull request
- /code-review → review before pushing
```
---
## 예시
| 입력 | 발생하는 동작 |
|---|--- |
| `/prp-commit` | 모두 스테이징하고 메시지 자동 생성 |
| `/prp-commit staged` | 이미 스테이징된 내용만 커밋 |
| `/prp-commit *.ts` | 모든 TypeScript 파일을 스테이징하고 커밋 |
| `/prp-commit except tests` | 테스트 파일을 제외한 모든 것을 스테이징 |
| `/prp-commit the database migration` | 상태에서 DB 마이그레이션 파일을 찾아 스테이징 |
| `/prp-commit only new files` | 추적되지 않은 파일만 스테이징 |필요한 도구
호버하면 설명CC
설치 + 호출 (2단계)
Claude Code CLI 기준.
- 1
SKILL.md 저장
아래 버튼으로 복사 → 다음 경로로 저장.
~/.claude/skills/everything-claude-code-147/SKILL.md - 2
호출
Claude Code 채팅창에서 자연어로 부르면 자동 발동:
예) 커밋 메시지를 작성하기 번거로울 때
트리거가 안 잡히면 SKILL.md의
description줄에 더 구체적인 한국어 키워드를 추가해보세요.