development
Claude Code 커스텀 커맨드로 반복 작업 자동화하기 — /commit, /blog 직접 만들어보기
Claude Code 커스텀 커맨드로 반복 작업 자동화하기 — /commit, /blog 직접 만들어보기
AI 코딩 도구를 쓰다 보면 똑같은 말을 반복하게 되는 순간이 생긴다.
"오늘 변경사항 정리해줘", "블로그용으로 작성해줘" 같은 것들.
Claude Code에는 이걸 한 번만 써두면 두 번 다시 설명 안 해도 되는 기능이 있다.
바로 커스텀 커맨드(Custom Commands)다.
커스텀 커맨드가 뭔가
프로젝트 안에 .claude/commands/ 폴더를 만들고 마크다운 파일을
넣으면,
파일 이름이 그대로 슬래시 커맨드가 된다.
.claude/
commands/
commit.md → /commit or /command/commit
blog.md → /blog or /command/blog
/commit /command/commit 이라고 치면 commit.md 안에 써둔 프롬프트가
자동으로 실행된다.
매번 길게 설명할 필요 없이 커맨드 하나로 끝난다.
직접 만든 예시 두 가지
/commit — 커밋 메시지 초안 자동 생성
커밋 메시지를 쓸 때마다 git diff를 보고 요약하는 게 귀찮았다.
그래서 이걸 커맨드로 만들었다.
.claude/commands/commit.md
현재 git 변경사항을 분석해서 커밋 메시지를 한글로 작성해줘.
1. `git diff HEAD`로 변경 내용 확인
2. `git status`로 변경된 파일 목록 확인
아래 형식으로 출력. 실제 커밋은 하지 말 것.
**Summary (한 줄)**
변경의 핵심을 동사로 시작하는 한 줄로 요약
**Description**
- 변경한 것과 왜 바꿨는지 중심으로
- 기술 용어보다 기능/사용자 경험 중심
- 10줄 이내
/commit 치면 Claude가 git diff를 읽고 커밋 메시지
초안을 바로 뽑아준다.
직접 커밋은 안 하고 내용만 보여줘서 확인 후 붙여넣을 수 있다. 물론 클로드 코드에게 직접 git commit 까지 완료해달라고 할수 있지만, 잘못된 정보로 커밋되는것을 방지하기 위해 이부분은 수동으로 처리했다.
/blog — 오늘 작업을 개발자 일기로 블로그 포스팅용으로 전환하기
작업 끝나고 블로그 정리하는 데 시간 투자하는게 또 쉬운일이 아니다.
오늘 커밋한 내용을 분석해서 개발자 일기 형식으로 써주는 커맨드를 만들었다.
.claude/commands/blog.md
오늘 커밋된 내용만 대상으로 한국어 개발자 일기를 Markdown으로
작성해줘.
결과물은 ```markdown ... ``` 블록 안에 감싸서 출력할 것.
복붙해서 바로 옮길 수 있도록 블록 밖에 부연 텍스트 추가 금지.
분석 순서:
1. git log --since="today" --oneline 으로 오늘 커밋 확인
2. git show <hash>로 각 커밋의 실제 변경 내용 파악
형식:
# [날짜] 가짜 개발자의 일기 — [핵심 작업 한 줄]
## 오늘의 컨텍스트
## 한 일 (코드는 ```swift 블록으로 처리)
## 삽질한 것 (없으면 생략)
## 다음에 할 것
## 마무리
#태그1 #태그2 #태그3 #태그4 #태그5
/blog or /command/blog 치면 오늘 커밋 내역을 분석해서 블로그 포스트를 통째로
만들어준다.
마크다운 블록으로 감싸서 나오니까 복붙해서 바로 올릴 수 있다.
꿀팁 — 커뮤니티에서 정리된 것들
1. $ARGUMENTS로 입력값 받기
커맨드 안에 $ARGUMENTS를 쓰면 사용자 입력을 받을 수 있다.
# fix.md
$ARGUMENTS 이슈를 분석하고 수정 방법을 제안해줘.
/fix 로그인 버튼이 두 번 눌리는 문제
$ARGUMENTS가 "로그인 버튼이 두 번 눌리는 문제"로 치환된다.
2. 프로젝트 공유 vs 개인 전용
| 위치 | 범위 |
|---|---|
.claude/commands/ | 프로젝트 전용, git으로 팀과 공유 가능 |
~/.claude/commands/ | 내 모든 프로젝트에서 사용 가능한 개인 커맨드 |
자주 쓰는 개인 워크플로우는 홈 디렉토리에, 팀 규칙은 프로젝트 안에 넣으면 된다.
3. allowed-tools로 권한 사전 승인
커맨드 안에 YAML frontmatter를 추가하면 특정 도구의 실행을 미리 허용할 수
있다.
매번 "이거 실행해도 되나요?" 팝업을 안 봐도 된다.
---
description: git 변경사항 분석 후 커밋 메시지 출력
allowed-tools: Bash(git diff *) Bash(git status *) Bash(git log *)
---
프롬프트 내용...
4. 커맨드 만들 타이밍
"같은 프롬프트를 두 번 입력했다면, 그건 커맨드로 만들 때다."
반복 입력이 시작되는 순간이 커맨드를 만들 타이밍이다.
일회성 요청은 그냥 대화창에서 쓰는 게 낫다.
5. CLAUDE.md와 역할 분리
| 파일 | 역할 |
|---|---|
CLAUDE.md | 프로젝트 구조, 아키텍처, 코딩 규칙 — 항상 적용되는 지식 |
.claude/commands/ | 반복 작업 워크플로우 — 내가 호출할 때만 실행 |
CLAUDE.md는 "이 프로젝트는 이렇게 돼있어"를 알려주고,
커맨드는 "이 작업은 이렇게 해줘"를 실행한다.
만들어보려면
터미널에서 아래 명령어로 폴더 만들고 파일 추가하면 끝이다.
mkdir -p .claude/commands
touch .claude/commands/commit.md
이후 Claude Code 대화창에서 / 를 입력하면 만든 커맨드가 목록에
나타난다.
마무리
커스텀 커맨드의 핵심은 단순하다.
반복되는 프롬프트를 파일로 저장해두고 슬래시 하나로 꺼내 쓰는 것.
복잡한 설정이 없고, 마크다운 파일 하나면 된다.
"이거 또 설명해야 하나" 싶은 순간이 오면 그때 만들면 된다.
클립보드에 복사되었습니다.