심화 12분

Skill 직접 만들기

업데이트

Skill이란?

Skill은 특정 작업이 발생할 때 Claude가 자동으로 참조하는 마크다운 파일입니다. 본문에 절차·규칙·점검 항목을 적어두면 Claude가 그 절차대로 작업합니다.

코드 실행이 필요한 워크플로는 Plugin, 단순한 절차·규칙 표준화는 Skill이 적합합니다.

파일 구조

~/.claude/skills/<skill-name>/
├── SKILL.md          # 필수 — frontmatter + 본문
└── (보조 파일)        # 선택 — 참고 자료, 템플릿 등

SKILL.md 기본 형식

---
name: <skill-name>
description: <Claude가 이 Skill을 호출할 조건을 구체적으로 명시>
---

# Skill 제목

## 언제 사용하나
이 Skill이 호출되어야 하는 상황 명시.

## 절차
1. 첫 단계
2. 두 번째 단계
3. ...

## 점검 항목
- [ ] 항목 1
- [ ] 항목 2

description의 중요성

description은 Claude가 Skill을 호출할지 결정하는 핵심 신호입니다. 좋은 description의 특징:

  • 트리거 조건 명시 — “X 작업 시”, “Y 파일을 다룰 때”
  • 기능명·키워드 포함 — 사용자가 실제로 쓸 표현
  • 부정 조건도 명시 (선택) — “단, Z인 경우는 제외”

좋은 예

description: |
  Use when creating or modifying SQL migration files in db/migrations/.
  Enforces naming convention (timestamp_description.sql), reversibility,
  and schema review checklist. Skip for read-only queries.

나쁜 예

description: Database stuff  # 너무 일반적, 호출 조건 불명확

본문 작성 원칙

1. 절차는 번호 매겨 명시

Claude는 번호 매겨진 절차를 더 정확히 따릅니다.

2. 금지 사항은 굵게

**절대 하지 말 것**:
- 마이그레이션 파일을 직접 삭제
- ALTER TABLE 없이 컬럼 변경

3. 검증 단계 포함

## 검증
- 마이그레이션 적용 후 `npm test`
- 롤백 테스트: `npm run db:rollback && npm run db:migrate`

4. 외부 링크는 절대 경로

본문에 다른 Skill이나 문서를 참조할 때 명확히 표시합니다.

실전 예: 콘텐츠 검토 Skill

---
name: review-content
description: |
  Use when reviewing or modifying content files in src/content/.
  Checks frontmatter schema, ko/en pair consistency, link validity,
  and applies the project quality rules.
---

# Content Review

## 실행 시점
- 콘텐츠 파일을 생성·수정한 후
- 배포 전 최종 검토

## 절차
1. frontmatter 스키마 위반 확인
2. ko/en 페어 정합성 (slug, dates 동일)
3. 외부 링크 유효성
4. 본문 톤 일관성

## 검증
\```bash
npm run build
\```

사용자 단위 vs 플러그인 단위

위치적용 범위배포
~/.claude/skills/<name>/SKILL.md본인만수동
플러그인 내 skills/<name>/SKILL.md플러그인 사용자 전체마켓플레이스

팀이나 공개 배포가 필요하면 플러그인으로 묶어 마켓플레이스에 등록합니다.

흔한 실수

  • ❌ description이 너무 짧음 — Claude가 트리거 못함
  • ❌ 본문이 산문(에세이) 스타일 — 절차로 분리 필요
  • ❌ 너무 광범위한 Skill — 한 Skill = 한 절차 원칙
  • ❌ 다른 Skill과 트리거 조건 충돌 — 명확히 구분

다음 단계

자주 묻는 질문

Skill은 무엇인가요?

특정 작업이 발생할 때 Claude가 자동으로 참조하는 마크다운 파일입니다. frontmatter의 description으로 호출 조건을 정의하고, 본문에 절차·규칙을 적습니다.

Plugin과 무엇이 다른가요?

Skill은 코드 실행 없이 지식만 확장합니다. Plugin은 슬래시 커맨드·훅·에이전트를 포함해 동작 자체를 확장합니다. 한 절차를 표준화하고 싶으면 Skill, 명령으로 실행되는 워크플로면 Plugin이 적합합니다.

어떻게 만들고 어디에 두나요?

`~/.claude/skills/<skill-name>/SKILL.md` 형태로 디렉토리와 파일을 만들면 됩니다. 사용자 단위로 적용되며, 플러그인으로 묶어 배포할 수도 있습니다.

description은 왜 중요한가요?

description은 Claude가 'Skill을 호출할지 말지' 결정하는 핵심 신호입니다. 호출 조건을 구체적으로 적어야 정확하게 발동합니다. 너무 일반적이면 무관한 작업에 호출되거나 반대로 누락됩니다.

기존 Skill 좋은 예시가 있나요?

Anthropic의 superpowers 플러그인에 포함된 Skills(brainstorming, systematic-debugging, writing-plans 등)가 잘 작성된 참고 예시입니다. description, 본문 구조, 절차 명시 방식을 참고할 수 있습니다.