AgentSkillsCN

commit

根据提交规范生成提交信息。“提交一下”、“帮我生成一个提交”、“记录本次变更”——这些请求均可通过此方法轻松应对。

SKILL.md
--- frontmatter
name: commit
description: 커밋 컨벤션에 맞는 커밋 생성. "커밋해줘", "커밋 만들어줘", "변경사항 커밋" 요청 시 사용.
command: /commit

Commit Skill

프로젝트의 커밋 컨벤션에 맞춰 변경사항을 분석하고, 적절한 커밋 메시지를 작성하여 커밋합니다.

커밋 컨벤션

code
<Type> <subject>

<body>

Type (필수)

Type설명예시
Chorepackage가 변경이 된 작업Chore bump version to 3.12.2
Add새로운 파일 추가 (새로운 화면, 새로운 hook 파일 생성 등)Add 알림톡 발송 테이블 UI
Update기존 코드 수정 (화면 수정, 비즈니스 로직 수정 등)Update 배송희망일 기본 필터 범위 변경
Fix버그 픽스Fix 출고상품 수량 검증 로직 오류 수정
Hotfix핫픽스 (main 브랜치에서 바로 처리해야하는 급한 이슈)Hotfix 주문 목록 렌더링 크래시 수정
Refactor리팩토링 (기능 변경 없이 코드 구조 개선)Refactor 주문 필터 훅 분리
Remove파일 삭제Remove 선포장 관리 페이지 및 관련 코드 제거
Docs주석 및 간단한 문서 작업Docs README 업데이트

Subject (필수)

  • 한글로 작성
  • 마침표 없이
  • 명령형으로 작성 (예: "추가", "수정", "개선", "제거")

Body (선택)

  • 변경 이유와 맥락 설명이 필요한 경우 작성
  • 줄바꿈으로 subject와 분리

워크플로우

1. 변경사항 분석 (병렬 실행)

bash
git status
git diff --staged
git diff
git log --oneline -5

2. 스테이징 확인

이미 staged된 파일이 있는 경우:

  • staged된 파일만 커밋 대상으로 사용
  • "현재 staged된 파일로 커밋할까요?" 확인

staged된 파일이 없는 경우:

  • unstaged 변경 파일 목록 제시
  • 사용자에게 질문: "어떤 파일을 커밋할까요?"
  • 선택지: 전체, 변경된 파일 목록 제시 → 답변에 따라 git add 실행

주의:

  • .env, credentials, 시크릿 파일은 커밋 대상에서 제외
  • untracked 파일은 별도로 안내

3. 커밋 메시지 작성

변경사항을 분석하여 커밋 메시지 초안을 작성합니다.

Type 판단 기준:

변경 패턴Type
새 파일 추가 (컴포넌트, 훅, 페이지 등)Add
기존 파일 수정 (기능 변경, UI 수정, 로직 수정)Update
버그 수정Fix
main 브랜치에서 긴급 수정Hotfix
코드 구조 개선 (기능 변경 없음)Refactor
파일 삭제 (미사용 코드 제거)Remove
package.json, 설정 파일 변경Chore
주석, 문서 변경Docs

복합 변경 시:

  • 새 파일 추가 + 기존 파일 수정 → 주요 변경에 따라 결정
  • 새 기능을 위한 파일 추가가 주이면 Add
  • 기존 코드 수정이 주이면 Update

4. 사용자 확인

code
## 커밋 메시지 초안

{Type} {subject}

{body (있을 경우)}

---
스테이징 파일:
- {파일 1}
- {파일 2}

이 메시지로 커밋할까요?

사용자 승인 필수 — 승인 없이 커밋 금지

5. 커밋 실행

bash
git commit -m "$(cat <<'EOF'
{커밋 메시지}
EOF
)"

6. 결과

code
✅ 커밋 완료

커밋: {hash} {message}
변경 파일: {N}개

push가 필요하면 알려주세요.

주의

  • --no-verify 사용 금지
  • --amend 사용 시 사용자에게 명시적 확인
  • force push 절대 금지
  • 시크릿 파일 커밋 방지
  • 커밋 메시지는 반드시 HEREDOC으로 전달 (특수문자 안전)