← ClaudeAtlas

auto-commitlisted

사용자가 지시한 작업을 실행한 후 변경 범위를 검증하고, 연관성 있는 변경을 성격별로 나눠 영어 Conventional Commits 타입을 쓰는 커밋 메시지로 git commit한다. push는 사용자가 명시적으로 요청한 경우에만 수행한다. "자동 커밋", "auto commit", "실행하고 커밋", "커밋해" 요청에 사용.
kingkingburger/plugin-mh · ★ 1 · Code & Development · score 65
Install: claude install-skill kingkingburger/plugin-mh
# Auto Commit 사용자의 지시를 실행한 후 변경사항을 검증하고, 변경 성격별로 커밋을 나눈 뒤 나중에 읽어도 의도와 안전성이 보이는 메시지로 커밋한다. push는 사용자가 같은 요청에서 명시적으로 지시한 경우에만 수행한다. ## 목적 작업 → 검증 → 커밋 단위 설계 → 좋은 커밋 메시지 작성 → 커밋까지를 하나의 흐름으로 자동화한다. 커밋 메시지는 단순 로그가 아니라 미래의 나와 동료가 변경 의도, 판단 근거, 검증 범위를 이해하는 감사 기록이다. ## 실행 절차 ### 1단계: 작업 실행 사용자가 지시한 작업을 수행한다. 작업 내용은 이 스킬 호출 시 함께 전달된다. ### 2단계: 변경사항 확인 ```bash git status git diff git diff --stat ``` 변경사항이 없으면 "변경사항 없음"을 알리고 종료한다. 다음은 커밋 전에 반드시 확인한다. - 변경 파일이 사용자가 요청한 범위 안에 있는가? - `.env`, credentials, token, secret, private key, 브라우저/커넥터 인증 파일이 포함되지 않았는가? - 이미 있던 사용자 변경과 이번 작업 변경이 섞였는가? - unrelated 변경이 섞였으면 커밋 전에 범위 분리를 제안한다. ### 3단계: 커밋 단위 설계 변경사항을 하나로 뭉치기 전에 먼저 diff를 분류하고, 실제 커밋 계획을 세운다. ```bash git diff --name-status git diff --stat git diff git diff --cached --stat ``` 다음 기준으로 모든 파일과 주요 hunk를 분류한다. - 코드 성격: 기능, 버그 수정, 리팩터링, 테스트, 문서, 설정, 생성물/동기화 산출물 - 변경 의도: 사용자가 요청한 행동을 가능하게 하는 핵심 변경인지, 그 변경을 검증/문서화/정리하는 보조 ��경인지 - 연관 경계: domain/model/schema, API/contract, UI/surface, policy/transaction, test/verification, docs/harness - 실행 순서: 앞 커밋이 뒤 커밋 없이도 의미 있고, 가능하면 빌드/테스트가 깨지지 않는지 커밋 계획은 커밋하기 전에 내부적으로 다음 형태로 만든다. ```text Commit 1: {의도} - 포함: {파일/hunk} - 제외: {다음 커밋으로 넘길 파일/hunk} - 필요 확인: {이 커밋 또는 최종 상태에서 필요한 확인} Commit 2: {의도} - 포함: ... ``` **분할 원칙**: - 변경이 둘 이상의 독립 의도를 가지면 여러 커밋으로 나눈다. - 큰 작업에서 단일 커밋은 예외다. 전체 diff가 하나의 atomic 변경이라고 설명할 수 있을 때만 한 커밋으로 둔다. - 서로 다른 runtime boundary를 건드리면 기본적으로 분리한다. 예: domain/model, API surface, UI, DB migration, test/verification, docs/harn