tags:


첫 번째 스킬 생성하기

학습 내용

예상 소요 시간: 20분

이 강의를 마치면 다음을 수행할 수 있습니다.

  • 적절한 프런트매터 구조를 사용하여 스킬을 처음부터 생성
  • Claude Code에서 스킬이 올바르게 로드되는지 테스트 및 확인
  • Claude Code가 수신 요청을 사용 가능한 스킬과 일치시키는 방법 설명
  • 스킬 우선순위 계층 구조(엔터프라이즈, 개인, 프로젝트, 플러그인) 설명

첫 번째 스킬 생성하기

(4분)

이 비디오는 PR 설명 스킬(모든 프로젝트에서 작동하는 개인 스킬)을 처음부터 빌드하는 과정을 안내합니다. SKILL.md 파일을 정확히 구조화하고, 테스트하며, Claude Code가 요청을 발견하고 일치시키는 방법을 이해하게 됩니다. 또한 이름이 충돌할 때 어떤 스킬이 승리하는지를 결정하는 우선순위 계층 구조도 다룹니다.

주요 사항

  • 스킬은 프런트매터에 메타데이터(이름, 설명)와 그 아래에 지침이 포함된 SKILL.md 파일을 포함하는 디렉터리입니다.
  • Claude는 시작 시 스킬 이름과 설명만 로드하고, 수신 요청을 해당 설명을 기반으로 시맨틱 매칭을 사용하여 일치시킵니다.
  • Claude가 전체 스킬 콘텐츠를 컨텍스트에 로드하기 전에 확인 프롬프트가 표시됩니다.
  • 이름 충돌에 대한 우선순위: 엔터프라이즈 → 개인 → 프로젝트 → 플러그인
  • 스킬을 업데이트하려면 SKILL.md를 편집합니다. 스킬을 제거하려면 해당 디렉터리를 삭제합니다. 변경 사항을 적용하려면 항상 Claude Code를 다시 시작해야 합니다.

스킬을 처음부터 생성하는 방법을 살펴본 다음, Claude Code가 백그라운드에서 실제로 스킬을 로드하고 일치시키는 방법을 살펴보겠습니다.

스킬 생성

일관된 형식으로 PR 설명을 작성하도록 Claude에게 알려주는 개인 스킬을 빌드해 보겠습니다. 개인 스킬이므로 홈 디렉터리에 상주하며 모든 프로젝트에서 작동합니다.

먼저, 스킬 폴더 내에 스킬을 위한 디렉터리를 만듭니다. 디렉터리 이름은 스킬 이름과 일치해야 합니다.

mkdir -p ~/.claude/skills/pr-description

그런 다음 해당 디렉터리 내에 SKILL.md 파일을 만듭니다. 이 파일은 프런트매터 대시로 구분된 두 부분으로 구성됩니다.

---
name: pr-description
description: PR 설명을 작성합니다. PR을 생성하거나, PR을 작성하거나, 사용자로부터 풀 리퀘스트 요약을 요청할 때 사용합니다.
---

PR 설명을 작성할 때:

1. \`git diff main...HEAD\`를 실행하여 이 브랜치의 모든 변경 사항을 확인합니다.
2. 이 형식을 따라 설명을 작성합니다.

## 무엇을(What)
이 PR이 수행하는 작업을 한 문장으로 설명합니다.

## 왜(Why)
이 변경이 필요한 이유에 대한 간략한 맥락

## 변경 사항(Changes)
- 수행된 특정 변경 사항에 대한 글머리 기호 목록
- 관련 변경 사항 그룹화
- 삭제되거나 이름이 바뀐 파일 언급

name은 스킬을 식별합니다. description은 Claude가 언제 스킬을 사용해야 하는지를 알려줍니다 — 이것이 매칭 기준입니다. 두 번째 대시 세트 이후의 모든 내용은 스킬이 활성화될 때 Claude가 따르는 지침입니다.

스킬 테스트

Claude Code는 시작 시 스킬을 로드하므로 스킬을 만든 후 세션을 다시 시작해야 합니다. 사용 가능한 스킬 목록을 확인하여 스킬이 사용 가능한지 확인할 수 있습니다.

목록에 스킬이 표시되어야 합니다. 테스트하려면 브랜치에서 변경 사항을 만들고 “내 변경 사항에 대한 PR 설명 작성”과 같은 말을 합니다. Claude는 PR 설명 스킬을 사용하고 있음을 나타내고, diff를 확인한 다음, 항상 동일한 형식으로 템플릿에 따라 설명을 작성합니다.

스킬 매칭 작동 방식

Claude Code가 시작될 때 스킬을 찾기 위해 네 군데를 스캔하지만 전체 콘텐츠가 아닌 이름과 설명만 로드합니다. 이것은 중요한 세부 사항입니다.

요청을 보내면 Claude는 사용 가능한 모든 스킬의 설명과 메시지를 비교합니다. 예를 들어, “이 함수가 무엇을 하는지 설명해 줘”는 의도가 겹치기 때문에 “시각적 다이어그램으로 코드 설명”으로 설명된 스킬과 일치합니다.

일단 일치 항목이 발견되면 Claude는 스킬을 로드하도록 확인을 요청합니다. 이 확인 단계는 어떤 컨텍스트를 가져오고 있는지 사용자가 알 수 있도록 합니다. 확인 후 Claude는 전체 SKILL.md 파일을 읽고 지침을 따릅니다.

스킬 우선순위

저장소를 복제했는데 개인 스킬과 이름이 같은 스킬이 있다면 어떤 것이 우선할까요? 명확한 우선순위 순서가 있습니다.

  1. 엔터프라이즈(Enterprise) — 관리되는 설정, 최고 우선순위
  2. 개인(Personal) — 홈 디렉터리(~/.claude/skills)
  3. 프로젝트(Project) — 리포지토리 내의 .claude/skills 디렉터리
  4. 플러그인(Plugins) — 설치된 플러그인, 최저 우선순위

이를 통해 조직은 엔터프라이즈 스킬을 통해 표준을 적용하는 동시에 개별 사용자 정의를 허용할 수 있습니다. 회사에 엔터프라이즈 “코드-리뷰” 스킬이 있고 동일한 이름으로 개인 “코드-리뷰” 스킬을 생성하는 경우 엔터프라이즈 버전이 우선합니다.

충돌을 피하려면 설명적인 이름을 사용하세요. 단순히 “리뷰” 대신 “프런트엔드-리뷰” 또는 “백엔드-리뷰”와 같이 사용하세요.

스킬 업데이트 및 제거

스킬을 업데이트하려면 SKILL.md 파일을 편집합니다. 스킬을 제거하려면 해당 디렉터리를 삭제합니다. 모든 변경 사항이 적용되도록 Claude Code를 다시 시작하세요.

강의 회고

  • 지금 당장 스킬로 만들 수 있는 일일 작업 흐름 중 하나는 무엇입니까? 설명은 어떻게 작성해야 할까요?
  • 우선순위 계층 구조가 팀의 스킬 관리 전략에 어떤 영향을 미칠 수 있을까요? 개인 또는 프로젝트 수준 스킬에 더 의존하게 될까요?

다음 단계

다음 강의에서는 메타데이터 필드, allowed-tools를 사용한 도구 제한 사항, 점진적 공개 및 다중 파일 구성을 사용하여 더 큰 스킬을 구성하는 방법을 포함하여 고급 구성 옵션에 대해 알아봅니다.

피드백

코스를 진행하면서 업무에서 스킬을 어떻게 활용하고 있는지, 그리고 피드백이 있다면 기꺼이 듣고 싶습니다. 여기에서 피드백을 공유해 주세요.