본문 바로가기

Skill 직접 만들기

이 장에서는 SKILL.md 파일을 직접 작성해 나만의 Skill을 만들어봅니다.

1. SKILL.md 기본 구조

Skill은 SKILL.md 파일 하나로 시작합니다. 이 파일은 YAML 프론트매터 + 마크다운 본문으로 구성됩니다.

---
name: your-skill-name
description: 이 Skill이 무엇을 하고 언제 사용하는지 설명
---

# Your Skill Name

## Instructions
Claude가 따를 명확한 단계별 지침을 작성합니다.

## Examples
이 Skill 사용의 구체적인 예시를 보여줍니다.
필드요구사항
name소문자·숫자·하이픈만 사용(최대 64자). "anthropic", "claude"는 예약어라 사용 불가
description비어 있으면 안 됨(최대 1024자). XML 태그 포함 불가

description은 특히 중요합니다. 클로드가 언제 이 Skill을 불러올지 판단하는 근거가 되기 때문입니다.

좋은 description 작성 팁: "무엇을 하는지"와 "언제 사용하는지"를 모두 포함하세요.

  • 나쁜 예: description: 문서 작업을 도와줍니다
  • 좋은 예: description: PDF에서 텍스트와 테이블을 추출하고, 양식을 작성하고, 문서를 병합합니다. PDF 작업이나 양식·문서 추출이 언급되면 사용하세요.

2. Skill 파일의 위치

클로드 코드에서는 정확한 위치에 SKILL.md를 만들기만 하면 자동으로 등록됩니다.

.claude/skills/원하는-skill-이름/SKILL.md
  • 프로젝트 전용: 프로젝트 루트의 .claude/skills/
  • 모든 프로젝트 공통: ~/.claude/skills/ (사용자 홈)

Skill을 만들거나 수정한 후에는 클로드 코드를 재시작해야 정상적으로 등록/반영됩니다.

3. 실습: 커밋 메시지 생성 Skill 만들기

git 변경 사항을 보고 커밋 메시지를 생성한 뒤 커밋까지 진행하는 Skill을 만들어보겠습니다.

프로젝트에 .claude/skills/commit-message-generator/SKILL.md 파일을 만들고 다음과 같이 작성합니다.

---
name: commit-message-generator
description: git diff에서 명확한 커밋 메시지를 생성하고 커밋을 진행합니다. 커밋이나 커밋 메시지 작성이 언급되면 사용하세요.
---

# Commit Message Generator

## Instructions

1. `git diff --staged`를 실행하여 스테이징된 변경사항 확인
2. 변경사항이 없으면 `git status`로 현재 상태를 확인하고 사용자에게 안내
3. 다음 형식으로 커밋 메시지 생성:
   - 50자 이하의 요약(첫 줄)
   - 빈 줄
   - 상세 설명(무엇을, 왜 변경했는지)
   - 영향받는 컴포넌트 목록
4. 생성한 커밋 메시지를 사용자에게 보여주고 확인 요청
5. 사용자가 승인하면 해당 메시지로 `git commit` 실행

## Commit Message Format

<type>: <한국어 요약>

<한국어 상세 설명>

영향 범위: <컴포넌트 목록>

### Types
- feat: 새로운 기능
- fix: 버그 수정
- refactor: 코드 리팩토링
- docs: 문서 변경
- style: 코드 포맷팅
- test: 테스트 추가/수정
- chore: 기타 변경사항

## Best Practices
- 커밋 메시지는 반드시 한국어로 작성
- 첫 줄 요약은 50자 이하
- 무엇을, 왜 변경했는지 명확하게 설명
- 첫 줄은 명령형으로 작성 (예: "기능 추가", "버그 수정")

❗️ 이 Skill은 예시일 뿐이며, 내용은 필요에 따라 자유롭게 수정할 수 있습니다.

4. Skill 사용하기

클로드 코드를 재시작한 뒤, 다음처럼 평범하게 지시합니다.

커밋 메시지를 생성하고 커밋하세요.

Skill을 쓰라고 따로 언급하지 않아도, 클로드가 description을 보고 commit-message-generator를 자동으로 인식해 실행합니다. 커밋 메시지를 생성해 보여주고, 사용자가 승인하면 커밋을 진행합니다.

다음 장에서는 직접 만들지 않고도 잘 만들어진 Skill을 가져와 쓰는 방법(플러그인 마켓플레이스, skill-creator)을 살펴봅니다.