ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 클로드 코드 스킬(skill) 사용하기
    엔지니어가 되자/Product Building 2026. 3. 2. 13:23

     

     

    AI로 생성한 설명은 앞에 🤖 를 표기해두었어요.

     

     


     

    클로드 코드 스킬이란?

    • 🤖 Claude Code에서 스킬(Skill)은 프로젝트 폴더에 넣어두는 마크다운 파일(.md)로, Claude Code가 작업할 때 참고하는 지시서
    • 기존 프로그래밍 언어의 함수와 비슷한 기능이라고 보면 된다.
      • 다만 그 함수가 자연어 프롬프트로 구성이 되어있는 것

     

     

    사용법

    클로드 코드 실행창에 접속

     

     

    위와 같이 자주 사용하는 명령어 프롬프트를 스킬로 만들고 싶다고 프롬프트를 입력하면 

    아래와 같이 분석 후 스킬을 자동으로 생성해준다.

     

     

     

     

    사용법은 프롬프트 창에서 /  를 입력한 뒤 명명해준 스킬명을 불러오면 사용 가능

     

     

     

     

    스킬의 경우 .claude 디렉토리 하위에 저장되는데

    이 .claude 디렉토리는 위치에 따라 적용되는 범위가 달라진다.

     

    매 레포, 디렉토리마다 별도의 .claude 디렉토리를 가지며

    크게 아래 두 가지의 위치로 나뉜다.

     

    • 전역 스킬
      • 기본 디렉토리 내의  .claude 하위에 저장된다. 어떤 레포에서 claude code를 실행하더라도 사용가능
      • 레포와 무관하게 전체에서 사용해야하는 스킬 위주로 등록하면 좋다. 예를 들면, 깃허브에 코드를 올릴 때 사용하고 싶은 규칙이라 던지 프로젝트 내의 네이밍 명명규칙과 같은 것들.
    • 프로젝트 스킬
      • 해당 claude 명령어를 실행한 디렉토리 위치에 종속되는 스킬
      • 별도의 디렉토리에서 실행할 경우 이 위치에 저장된 스킬은 사용이 어려우므로 해당 프로젝트에 종속된 스킬 위주로 등록한다.

     

     

     

    +스킬과는 무관하지만 별도의 팁

     

     

    깃허브 CLI를 활용하여 병렬처리를 위한 작업을 할 수도 있는데 -w 옵션을 통해 워크트리를 생성한다.

     

    깃허브 레포가 아닌 경우 활용할 수 없고, 아래의 명령어를 통해 깃허브 CLI 커맨드를 사용할 수 있도록 설치가 필요하다.

     

    brew install gh

     

     

     

     

     

    사용 예시

    간단한 예시로 깃허브 레포지토리에 push하고 브랜치들을 병합하는 스킬을 만들어볼게요


     

     

     

    여기서 만들어본 스킬은 2개이다.

    • push-to-git: 디폴트로 dev의 하위 브랜치에 현재 코드베이스를 push 하는 스킬. 옵션을 통해서 dev에 직접 push 가능.
    • merge-branch: push한 브랜치들을 merge 하는 스킬. dev, main 옵션을 통해서 merge할 위치를 정할 수 있고, 2번째 인자를 통해서 해당 브랜치들을 삭제할지 남길지 결정 가능. 디폴트는 브랜치 삭제.

     

    ---
    name: merge-branch
    description: 브랜치 병합. "dev" 인자 → feature 브랜치들을 dev로 머지, "main" 인자 → dev를 main으로 머지. "머지", "병합" 등의 요청 시 사
    용.
    argument-hint: "[dev|main] [--keep]"
    ---
    
    브랜치 병합 스킬. 인자에 따라 동작이 달라진다.
    
    ## `/merge-branch dev` — feature → dev 병합
    
    ### 작업 순서
    
    1. `git fetch --all`로 최신 상태 동기화
    2. `git branch -a`로 모든 브랜치 확인
    3. 현재 브랜치가 `feature/*`이면 해당 브랜치를 dev로 머지 대상으로 설정
    4. 리모트에 `feature/*` 브랜치가 여러 개 있으면 목록을 보여주고 어떤 브랜치를 머지할지 확인
    5. `git checkout dev && git pull origin dev`로 dev 최신화
    6. 대상 feature 브랜치를 dev로 머지:
       - `git merge feature/<작업명> --no-ff -m "merge: feature/<작업명> → dev"`
    7. 충돌 발생 시 사용자에게 알리고 해결 지원
    8. `git push origin dev`
    9. **`--keep` 옵션이 없으면** 머지된 feature 브랜치를 자동 삭제 (디폴트):
       - `git branch -d feature/<작업명> && git push origin --delete feature/<작업명>`
       - **`--keep` 옵션이 있으면** 브랜치 삭제하지 않고 유지
    
    ## `/merge-branch main` — dev → main 병합 (배포)
    
    ### 작업 순서
    
    1. `git fetch --all`로 최신 상태 동기화
    2. `git log --oneline dev..main`, `git log --oneline main..dev`로 차이 확인
    3. dev에 main 대비 새 커밋이 있는지 확인, 없으면 중단
    4. **사용자에게 배포 머지 확인 요청** (prod 영향이므로 반드시 확인)
    5. 확인 후:
       - `git checkout main && git pull origin main`
       - `git merge dev --no-ff -m "release: dev → main 배포 머지"`
       - `git push origin main`
    6. dev도 main과 동기화: `git checkout dev && git merge main`
    
    ## 규칙
    
    - **`$ARGUMENTS`가 없으면 "dev"로 간주** (디폴트: feature → dev 병합)
    - **`$ARGUMENTS`가 "dev"도 "main"도 아니면** 사용자에게 어떤 병합을 원하는지 질문
    - **main 머지는 반드시 사용자 확인 후 진행** (배포이므로)
    - dev 머지는 확인 없이 자동 진행 가능
    - **Co-Authored-By 태그 포함하지 않는다**
    - 머지 커밋 메시지: 한국어, `merge:` 또는 `release:` prefix
    - 충돌 시 자동 해결하지 말고 사용자에게 보고
    - feature → main 직접 머지 절대 금지 (반드시 dev 경유)

     

     

    위와 같은 스킬이 생성되었다.

     

     

    깃허브 커밋 히스토리를 보면 브랜치들이 잘 merge된 것을 확인할 수 있습니다.

     

     

     

     

     

    반응형
data.pelican.joe@gmail.com