Repository navigation
Skill commit
github-actions[bot] edited this page Oct 15, 2026
·
1 revision
🤖
skill-archive워크플로가 레포 원본에서 자동 생성한 페이지예요. 위키에서 직접 고치면 다음 동기화 때 덮어써지니, 수정은 원본 파일에서 PR로 해주세요.
이번 세션에 Claude가 수정한 파일만 WSS 양식으로 커밋
WSS-iOS-V2 프로젝트에서, 이번 Claude Code 세션에 Edit/Write로 만지거나 새로 만든 파일만 골라 커밋할 때 사용한다. commit-all(전부 스테이징)·commit-staged(이미 스테이징된 것만)와 달리 세션이 건드린 파일만 선택적으로 스테이징한다. "방금 바꾼 거 커밋", "세션 변경분 커밋", 또는 "/commit" 같은 요청에 트리거. 커밋 양식은 [Type] #이슈 - 내용으로 고정.
- 원본: .claude/skills/commit/SKILL.md
- 추가 이유·변경 이력: 아카이브 이슈 (Discord 스레드 링크도 거기 있어요)
- 호출: Claude Code에서
/commit또는 설명의 트리거 문구로 요청
이번 세션에 Claude가 Edit/Write 도구로 수정·생성한 파일만 골라 스테이징하고 커밋한다. 무관한 파일은 건드리지 않는다.
[Type] #<이슈번호> - <한글 내용>
예: [Fix] #132 - 작품 평가 뒤로가기 경합 수정
-
[Type]: 아래 Type 표에서 변경 성격에 맞는 하나. 브랜치의 Type과 무관 — 이번 변경 내용 기준으로 고른다(예:Feat/#132브랜치라도 문서만 고쳤으면[Docs]). -
#<이슈번호>: 현재 브랜치명에서 자동 추출한다 (→ 이슈 번호 추출). -
<한글 내용>: 변경을 한 줄로 요약한 한글 설명. 간결하게, 무엇을 했는지. - 이 양식에서 벗어나지 않는다. 헷갈리면
git log --oneline -8의 실제 커밋들이 진실.
-
git branch --show-current로 현재 브랜치명을 얻는다 (정규형<Type>/#<번호>, 예:Feat/#132). - 브랜치명에서
#뒤 숫자, 없으면 마지막/뒤 숫자를 이슈 번호로 쓴다. - 추출 실패(분리 HEAD, 비표준 브랜치 등) 시 →
git log --oneline -8에서 최근 커밋의#번호를 재사용하거나, 그래도 모호하면 사용자에게 묻는다. 임의로 지어내지 않는다.
-
세션 수정 파일 회상:
- 이번 대화에서 Edit/Write로 수정·생성한 모든 파일 경로를 나열한다.
- 세션 중 수정한 파일이 없으면 중단하고 커밋할 게 없다고 알린다.
-
git과 교차 검증:
-
git status --short실행. - 세션 파일 중 git에 modified/added/deleted로 잡힌 것만 남긴다.
- git 변경이 없는 세션 파일은 제외하고 이유를 메모(이미 커밋됨/되돌려짐/변화 없음).
-
-
이슈 번호 확보: 위 이슈 번호 추출 절차 수행.
-
스테이징 & 커밋 (묻지 않고 바로 진행):
-
/commit호출 자체가 커밋 승인이다. "커밋할까요?"로 멈춰 묻지 않는다. -
git add <명시적 파일 경로>—git add -A나git add .는 쓰지 않는다. -
git diff --cached --stat,git diff --cached --name-only로 스테이징 내용 확인. -
git commit -m "[Type] #번호 - 내용"으로 커밋. - 샌드박스가
.git쓰기를 막으면 좁은 사유를 달아 권한 상승 후 재시도.
-
-
검증·보고:
-
git status --short,git log --oneline -1실행. - 커밋된 메시지·해시·포함 파일, 남은 unstaged/untracked 파일을 보고한다.
- 메시지·파일이 마음에 안 들면 사용자가 amend를 요청할 수 있게 결과를 명확히 드러낸다(로컬 커밋이라 되돌리기 쉽다).
- push는 하지 않는다 — 외부로 나가는 동작이므로 사용자가 명시적으로 요청할 때만.
-
[Type]은 반드시 ../commit-types.md를 읽어 그 표에서 변경 성격에 맞는 하나를 고른다.
표를 여기 복제하지 않는다 — 그 파일이 단일 진실 소스다. 커밋 헤더에서는 대괄호로 감싼다([Feat] 등).
- 커밋 메시지에 "session"·"Claude"를 언급하지 않는다.
- 이번 세션에 Claude가 수정하지 않은 파일은 절대 스테이징하지 않는다.
-
git add -A·git add .·글롭 패턴 금지 — 항상 명시적 파일 경로. - 사용자가 명시적으로 요청하지 않는 한
git reset·git checkout등 파괴적 명령 금지. - 세션 파일 목록이 비었거나 git 변경과 하나도 안 맞으면 커밋하지 말고 상황을 설명한다.
- 세션 변경이 무관한 주제들로 갈리면(분량이 작아도) 여러 커밋으로 분할을 제안하고 사용자에게 묻는다 — 분할 기준은
../commit-all/SKILL.md의 "커밋 그룹 결정" 참고.