development

Claude Code 커스텀 커맨드로 반복 작업 자동화하기 — /commit, /blog 직접 만들어보기

jacky

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 대화창에서 / 를 입력하면 만든 커맨드가 목록에 나타난다.


마무리

커스텀 커맨드의 핵심은 단순하다.
반복되는 프롬프트를 파일로 저장해두고 슬래시 하나로 꺼내 쓰는 것.
복잡한 설정이 없고, 마크다운 파일 하나면 된다.
"이거 또 설명해야 하나" 싶은 순간이 오면 그때 만들면 된다.

#ClaudeCode #AI코딩 #개발자도구 #커스텀커맨드 #개발생산성