Install any skill in seconds. Free to start, no credit card required.
Get Started Free →스테이징 변경에서 커밋 메시지 생성. 「커밋 메시지 만들어줘」「좋은 메시지 생성해줘」「커밋 문구 제안해줘」등으로 기동.
.claude/skills/wasabeef-116c97/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✓→✓ | = Same ✓ | 145% | 0% |
| case-03 | ✓→✓ | = Same ✓ | 147% | 0% |
| case-07 | ✓→✓ | = Same ✓ | 93% | 0% |
| case-08 | ✓→✓ | = Same ✓ | 177% | 0% |
| case-09 | ✓→✓ | = Same ✓ | 63% | 0% |
스테이징된 변경사항(git diff --staged)에서 적절한 커밋 메시지를 생성합니다. git 명령은 실행하지 않고, 메시지 생성과 클립보드 복사만 수행합니다.
bash/commit-message [옵션]
--format <형식> : 메시지 형식 지정(conventional, gitmoji, angular)--lang <언어> : 메시지 언어 강제 지정(en, ko)--breaking : Breaking Change 감지 및 표시bash# 스테이징된 변경사항을 기반으로 메시지 생성(언어 자동 판별) # 메인 후보가 자동으로 클립보드에 복사됩니다 /commit-message # 언어를 강제로 지정 /commit-message --lang ko /commit-message --lang en # Breaking Change 감지 /commit-message --breaking
중요: 이 명령어는 스테이징된 변경사항만 분석합니다. 먼저 git add로 변경사항을 스테이징해야 합니다.
bash# 스테이징되지 않은 경우 경고가 표시됩니다 $ /commit-message 스테이징된 변경사항이 없습니다. 먼저 git add 를 실행하세요.
생성된 메인 후보는 git commit -m "메시지"의 완전한 형태로 자동으로 클립보드에 복사됩니다. 터미널에서 바로 붙여넣기해서 실행할 수 있습니다.
구현 시 주의사항:
pbcopy에 전달할 때는 메시지 출력과는 별도 프로세스로 실행할 것echo 대신 printf를 사용해서 끝의 개행을 피할 것중요: 프로젝트별 규약이 있으면 그것을 우선 적용합니다.
다음 파일에서 설정을 자동 감지:
commitlint.config.jscommitlint.config.mjscommitlint.config.cjscommitlint.config.ts.commitlintrc.js.commitlintrc.json.commitlintrc.yml.commitlintrc.yamlpackage.json의 commitlint 섹션bash# 설정 파일 검색 find . -name "commitlint.config.*" -o -name ".commitlintrc.*" | head -1
프로젝트별 타입 예시:
javascript// commitlint.config.mjs export default { extends: ["@commitlint/config-conventional"], rules: { "type-enum": [ 2, "always", [ "feat", "fix", "docs", "style", "refactor", "test", "chore", "wip", // 작업중 "hotfix", // 긴급 수정 "release", // 릴리스 "deps", // 의존성 업데이트 "config", // 설정 변경 ], ], }, };
javascript// 프로젝트가 한국어 메시지를 사용하는 경우 export default { rules: { "subject-case": [0], // 한국어 대응을 위해 비활성화 "subject-max-length": [2, "always", 72], // 한국어는 글자수 제한 조정 }, };
bash# 최근 커밋에서 사용 패턴 학습 git log --oneline -50 --pretty=format:"%s" # 사용 타입 통계 git log --oneline -100 --pretty=format:"%s" | \ grep -oE '^[a-z]+(\([^)]+\))?' | \ sort | uniq -c | sort -nr
다음 조건으로 자동으로 한국어/영어를 전환합니다:
기본값은 영어. 한국어 프로젝트로 판별되면 한국어로 생성.
text<type>: <description>
중요: 항상 1 줄 커밋 메시지를 생성합니다. 여러 줄 메시지는 생성하지 않습니다.
주의: 프로젝트별 규약이 있으면 그것을 우선합니다.
필수 타입:
feat: 새로운 기능(사용자가 볼 수 있는 기능 추가)fix: 버그 수정선택 타입:
build: 빌드 시스템이나 외부 의존성 변경chore: 기타 변경사항(릴리스에 영향 없음)ci: CI 설정 파일이나 스크립트 변경docs: 문서만 변경style: 코드 의미에 영향 없는 변경(공백, 포맷, 세미콜론 등)refactor: 버그 수정이나 기능 추가 없는 코드 변경perf: 성능 개선test: 테스트 추가나 수정bash$ /commit-message 📝 커밋 메시지 제안 ━━━━━━━━━━━━━━━━━━━━━━━━━ ✨ 메인 후보: feat: implement JWT-based authentication system 📋 대안: 1. feat: add user authentication with JWT tokens 2. fix: resolve token validation error in auth middleware 3. refactor: extract auth logic into separate module ✅ `git commit -m "feat: implement JWT-based authentication system"` 클립보드에 복사됨
구현 예시(수정판):
bash# 커밋 명령을 먼저 클립보드에 복사(개행 없이) printf 'git commit -m "%s"' "$COMMIT_MESSAGE" | pbcopy # 그 다음 메시지 표시 cat << EOF 📝 커밋 메시지 제안 ━━━━━━━━━━━━━━━━━━━━━━━━━ ✨ 메인 후보: $COMMIT_MESSAGE 📋 대안: 1. ... 2. ... 3. ... ✅ \`git commit -m "$COMMIT_MESSAGE"\` 클립보드에 복사됨 EOF
bash$ /commit-message 📝 커밋 메시지 제안 ━━━━━━━━━━━━━━━━━━━━━━━━━ ✨ 메인 후보: feat: JWT 인증 시스템 구현 📋 대안: 1. feat: JWT 토큰으로 사용자 인증 추가 2. fix: 인증 미들웨어 토큰 검증 오류 해결 3. docs: 인증 로직을 별도 모듈로 분리 ✅ `git commit -m "feat: JWT 인증 시스템 구현"` 클립보드에 복사됨
git diff --staged의 내용 분석주의: 이 명령어는 git add 나 git commit 을 실행하지 않습니다. 커밋 메시지 생성과 클립보드 복사만 수행합니다.
featfixtestchoredocs.gitmessage 파일CONTRIBUTING.md 내의 규약bash# 판별 기준(우선순위) 1. git diff --staged 의 내용에서 언어 판별 2. 스테이징된 파일의 주석 분석 3. git log --oneline -20 의 언어 분석 4. 프로젝트의 메인 언어 설정
분석에 사용하는 정보(읽기 전용):
git diff --staged --name-only - 변경 파일 목록git diff --staged - 실제 변경 내용git status --porcelain - 파일 상태API 의 파괴적 변경이 있는 경우:
영어:
bashfeat!: change user API response format BREAKING CHANGE: user response now includes additional metadata
또는
bashfeat(api)!: change authentication flow
한국어:
bashfeat!: 사용자 API 응답 형식 변경 BREAKING CHANGE: 응답에 추가 메타데이터가 포함되도록 변경됨
또는
bashfeat(api)!: 인증 플로우 변경
영어:
textfeat: add user registration endpoint fix: resolve memory leak in cache manager docs: update API documentation
한국어:
textfeat: 사용자 등록 엔드포인트 추가 fix: 캐시 매니저 메모리 누수 해결 docs: API 문서 업데이트
bash# 스테이징된 변경사항과 함께 사용 git add -p # 인터랙티브하게 스테이징 /commit-message "최적의 커밋 메시지를 생성해줘" # 특정 파일만 스테이징해서 분석 git add src/auth/*.js /commit-message --lang en "인증 관련 변경에 적합한 메시지를 생성해줘" # Breaking Change 감지와 대응 git add -A /commit-message --breaking "파괴적 변경이 있으면 적절히 마킹해줘"
git add로 스테이징되어야 합니다Other measured skills in the registry, with their headline benchmark lift.