Notice
Recent Posts
Recent Comments
Link
관리 메뉴

김종권의 iOS 앱 개발 알아가기

[AI] 클로드코드 스킬 개념 1 (Claude Code, Skill.md, 필드) 본문

AI

[AI] 클로드코드 스킬 개념 1 (Claude Code, Skill.md, 필드)

jake-kim 2026. 2. 4. 01:21

스킬이란?

  • 클로드코드를 사용할 때 skills 하위 폴더 안에 skill이름을 넣고 md파일을 작성하면 `하나의 기능`으로 사용할 수 있는 것
  • 폴더 위치는 스콥에따라 3가지로 분류
개인 ~/.claude/skills/<skill-name>/SKILL.md 모든 프로젝트
프로젝트 .claude/skills/<skill-name>/SKILL.md 이 프로젝트만
플러그인 <plugin>/skills/<skill-name>/SKILL.md 플러그인이 활성화된 위치
  • .claude/commands/ 안에 정의된 것들보다도 skill이 더욱 우선순위가 높음
  • 클로드코드 쓰임 예시
    • skill-name: gen-test-cases: 특정 컴포넌트나 함수에 대한 단위 테스트(Unit Test) 코드 자동 생성.
    • write-read-me: 폴더 구조와 코드를 읽고 README.md 초안 작성.

실행 원리

  • 저렇게 skill을 명시해놓으면 알아서 클로드코드가 찾아서 수행하기도 하고, 조금 더 명시적으로는 채팅창에 슬래시를 치고 이름을 검색하면됨

ex) /explain-code 스킬을 만들고 싶은 경우

  • 스킬 폴더 하위에 디렉토리 생성
mkdir -p ~/.claude/skills/explain-code
  • skill.md 작성
~/.claude/skills/explain-code/SKILL.md
  • 아래처럼 skill.md파일을 작성 (---를 기준으로 스킬에 대한 설정을 하고 그 하단에 내용을 적는 방식)
    • name: 채팅창에서 /slash-command 로 사용
    • description: Claude가 자동으로 로드할 시기를 결정
---
name: explain-code
description: 시각적 다이어그램과 유추를 사용하여 코드를 설명합니다. 코드가 어떻게 작동하는지 설명하거나, 코드베이스에 대해 가르치거나, 사용자가 "이것이 어떻게 작동하나요?"라고 물을 때 사용합니다.
---

코드를 설명할 때 항상 포함하세요:

1. **유추로 시작**: 코드를 일상 생활의 무언가와 비교합니다.
2. **다이어그램 그리기**: ASCII 아트를 사용하여 흐름, 구조 또는 관계를 표시합니다.
3. **코드 단계별 설명**: 무슨 일이 일어나는지 단계별로 설명합니다.
4. **주의할 점 강조**: 일반적인 실수나 오해는 무엇입니까?

설명을 대화체로 유지합니다. 복잡한 개념의 경우 여러 유추를 사용합니다.
  • 저 스킬을 사용하려면 채팅창에서 /explain-code로 하거나, "이 코드가 어떻게 작동하나요?" 이렇게 사용

skill.md 필드

  • 위에서 살펴본 대로, --- 라는 기호로 스킬의 성격을 정의할 수 있는데 name과 description 말고도 다른 필드도 있음
    • name: 채팅창에서 /slash-command 로 사용
    • description: Claude가 자동으로 로드할 시기를 결정
    • context: 배포, 커밋 또는 코드 생성과 같은 특정 작업에 대한 단계별 지침을 제공
    • disable-model-invocation: Claude가 자동으로 트리거하는 것을 방지
---
name: deploy
description: 애플리케이션을 프로덕션에 배포합니다.
context: fork
disable-model-invocation: true
allowed-tools: Read, Grep
---

애플리케이션 배포:
1. 테스트 스위트 실행
2. 애플리케이션 빌드
3. 배포 대상으로 푸시
  • 전체 필드 내용
필드 필수 설명
name 아니요 기술의 표시 이름입니다. 생략하면 디렉토리 이름을 사용. 소문자, 숫자 하이픈만 사용 가능(최대 64).
description 권장 기술이 하는 것과 사용 시기. Claude 이를 사용하여 기술을 적용할 시기를 결정. 생략하면 마크다운 콘텐츠의 번째 단락을 사용.
argument-hint 아니요 자동 완성 중에 표시되는 힌트로 예상 인수를 나타냄. [issue-number] 또는 [filename] [format].
disable-model-invocation 아니요 Claude 기술을 자동으로 로드하는 것을 방지하려면 true 설정/name으로 수동으로 트리거하려는 워크플로우에 사용. 기본값false.
user-invocable 아니요 / 메뉴에서 숨기려면 false 설정. 사용자가 직접 호출해서는 되는 배경 지식에 사용. 기본값true.
allowed-tools 아니요 기술이 활성화되었을 Claude 권한을 요청하지 않고 사용할 있는 도구.
model 아니요 기술이 활성화되었을 사용할 모델.
context 아니요 포크된 서브에이전트 컨텍스트에서 실행하려면 fork 설정.
agent 아니요 context: fork 설정되었을 사용할 서브에이전트 유형.
hooks 아니요 기술의 수명 주기로 범위가 지정된 훅입니다. 구성 형식은 Hooks 참조.

 

(다음 포스팅 글에서 계속)

 

* 참고

- https://code.claude.com/docs/ko/skills

Comments