첫 Skill 만들기
SKILL.md 파일 계획, 작성, 구성하기
⏱ 예상 ~7분
01 · 읽기
한 줄을 쓰기 전에 먼저 반복되는 작업 흐름을 찾아야 해요.
내가 Claude Code 에게 계속 말하는 것들을 떠올려 봐요: "functional component 를 써." "테스트를 먼저 써." "conventional commit 을 써." "명백한 코드에는 주석을 달지 마."
각각이 skill 후보예요. 가장 좋은 skill 은 매번 따르는 작업 흐름을 잡아내요 - 일회성 요청이 아니라요.
스스로에게 물어봐요: "내가 Claude Code 에게 매주 적어도 한 번은 타이핑하는 지시가 뭘까?" 그게 첫 skill 이에요.
핵심 정리
- 좋은 skill 은 일회성 작업이 아니라 반복되는 작업 흐름을 잡아내요
- 매 Claude Code 세션마다 타이핑하는 지시를 떠올려 봐요
- 한 번에 다 만들지 말고 구체적인 작업 흐름 하나로 시작해요
- Skill 은 분명한 입장을 가져야 해요 - 모호한 제안이 아니라 명확한 규칙으로
02 · 코드 예제
모든 SKILL.md 는 --- 사이의 YAML frontmatter 로 시작해요. 아래는 세 가지 주요 필드예요.
YAML Frontmatter
---
name: Code Reviewer
description: Reviews code for bugs, style, and best practices
instructions: Use this skill when reviewing pull requests or code changes
---
name 은 /skill 목록에서 보이는 skill 이름이에요. description 은 Claude (와 나) 에게 이 skill 이 무엇을 하는지 알려줘요. instructions 는 Claude에게 언제 이 skill 을 활성화하는지 힌트를 줘요. 세 개 다 선택사항이지만, 다 채우는 걸 강력히 권해요.
03 · 퀴즈
표준 YAML frontmatter 필드 세 개를 방금 봤어요. 다음 중 아닌 것은요?
- name
- description
- language
- instructions
04 · 단계별 설명
실제 skill 하나를 단계별로 만들어 봐요. 팀의 리뷰 기준을 강제하는 "Code Reviewer" skill 을 만들 거예요.
1. skill 폴더 만들기
프로젝트 안에 디렉토리 구조를 만들어요. mkdir -p .claude/skills/code-reviewer 를 실행해요. -p 플래그는 부모 디렉토리가 없을 때 만들어줘요. 이렇게 하면 skill 이 프로젝트 안에 놓여서 git 에 커밋할 수 있어요.
2. YAML frontmatter 작성하기
.claude/skills/code-reviewer/SKILL.md 를 열고 metadata 블록을 추가해요. --- 한 줄로 시작해서 name, description, instructions 필드를 넣고, 또 다른 --- 줄로 끝내요.
3. 지시문 본문 추가하기
닫는 --- 아래에 자연어로 리뷰 규칙을 적어요. 마크다운 헤더로 섹션을 정리하고, bullet 로 구체적인 규칙을 적어요. 명확하게요 - "사용자 입력에서 SQL injection 을 확인해" 가 "코드를 리뷰해" 보다 훨씬 나아요.
4. /skill 로 테스트하기
Claude Code 대화에서 /skill 을 타이핑해서 새 skill 이 목록에 있는지 봐요. 선택해서 활성화해요. 이제 Claude에게 코드를 리뷰해 달라고 해봐요 - 내 규칙을 따라야 해요. 안 되면 다듬고 다시 시도해요.
05 · 코드 예제
아래는 완성된 "Code Reviewer" skill 이에요 - 완전한, production-ready SKILL.md 죠.
code-reviewer/SKILL.md
---
name: Code Reviewer
description: Reviews code changes for bugs, security, and style
instructions: Use when asked to review code, PRs, or diffs
---
## Review Checklist
When reviewing code, check for:
- **Security**: SQL injection, XSS, command injection, hardcoded secrets
- **Error handling**: Are errors caught? Are they logged? Do they fail gracefully?
- **Edge cases**: What happens with empty input? Null values? Very large data?
- **Naming**: Are variables and functions named clearly?
- **Tests**: Are there tests for the new code? Do existing tests still pass?
## Output Format
Structure your review as:
1. **Summary** — one sentence overview
2. **Issues** — bullet list, severity (high/medium/low)
3. **Suggestions** — optional improvements (not blockers)
본문은 표준 마크다운을 써요 - 헤더, 볼드, bullet. Claude 는 이걸 지시문으로 받아들이고 따라요. 리뷰 체크리스트는 Claude에게 무엇을 봐야 하는지 알려주고, 출력 형식은 매번 리뷰가 일관되고 구조적이게 해줘요.
06 · 빈칸 채우기
SKILL.md 파일의 YAML frontmatter 는 두 줄의 _____ 로 감싸요
07 · 분류 드래그
SKILL.md 파일은 정해진 구조를 가져요. Claude가 skill 을 불러올 때 가장 먼저 읽는 게 뭔지 생각하면서, 이 부분들을 위에서 아래로 순서대로 놓아 봐요.
(이 섹션은 인터랙티브해요 — JavaScript를 켜 주세요.)
⚠ 전체 인터랙티브 경험에는 JavaScript가 필요해요. JavaScript를 켜고 새로 고침해 주세요.
※ 이 사이트는 독립 운영되는 교육 프로젝트로, Anthropic의 공식 제품이 아니에요. Claude™ 는 Anthropic, PBC 의 상표예요.