claudekit / guides / build-skill
[ Guide · Advanced · 12분 ]

Skill 직접 만들기

updated

자신만의 Skill을 직접 만드는 방법을 단계별로 안내합니다. 파일 위치, description 작성법, 좋은 예시 참고 방법까지 다룹니다.

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과 트리거 조건 충돌 — 명확히 구분

다음 단계

§ 10

자주 묻는 질문

자주 묻는 질문
§ 10.1
Skill은 무엇인가요?
특정 작업이 발생할 때 Claude가 자동으로 참조하는 마크다운 파일입니다. frontmatter의 description으로 호출 조건을 정의하고, 본문에 절차·규칙을 적습니다.
§ 10.2
Plugin과 무엇이 다른가요?
Skill은 코드 실행 없이 지식만 확장합니다. Plugin은 슬래시 커맨드·훅·에이전트를 포함해 동작 자체를 확장합니다. 한 절차를 표준화하고 싶으면 Skill, 명령으로 실행되는 워크플로면 Plugin이 적합합니다.
§ 10.3
어떻게 만들고 어디에 두나요?
`~/.claude/skills/<skill-name>/SKILL.md` 형태로 디렉토리와 파일을 만들면 됩니다. 사용자 단위로 적용되며, 플러그인으로 묶어 배포할 수도 있습니다.
§ 10.4
description은 왜 중요한가요?
description은 Claude가 'Skill을 호출할지 말지' 결정하는 핵심 신호입니다. 호출 조건을 구체적으로 적어야 정확하게 발동합니다. 너무 일반적이면 무관한 작업에 호출되거나 반대로 누락됩니다.
§ 10.5
기존 Skill 좋은 예시가 있나요?
Anthropic의 superpowers 플러그인에 포함된 Skills(brainstorming, systematic-debugging, writing-plans 등)가 잘 작성된 참고 예시입니다. description, 본문 구조, 절차 명시 방식을 참고할 수 있습니다.