AI ClaudeCode의 'Skills'로 시니어 엔지니어가 알아야 할 확장 기능 원리
요약
본 글은 AI 코딩 도구인 ClaudeCode의 'Skills' 기능을 활용하는 방법을 다룹니다. Skills는 특정 태스크에 필요한 절차서, 스크립트, 문서를 모아 재사용 가능한 지식 패키지 역할을 합니다. 이를 통해 코드 리뷰, 문서 자동 생성, 복잡한 인프라 마이그레이션 등 정형화된 운영 작업을 효율적으로 수행할 수 있습니다.
핵심 포인트
- Skills는 특정 태스크에 필요한 모든 정보를 담은 재사용 가능한 지식 패키지입니다.
- 동적 로드와 점진적 공개를 통해 토큰 효율성이 매우 뛰어납니다.
- 코드 리뷰, API 명세서 생성 등 정형화된 운영 작업을 자동화할 수 있습니다.
- Slack 연동 스킬 예시처럼 외부 도구와의 연동이 용이합니다.
ClaudeCode를 능숙하게 사용하면서, Skills의 효과적인 활용이 필수적이게 됩니다.
아래와 같은 과제들을 확실히 대응하기 위해, Skills를 복습합니다.
마련된 김에 스터디 자료로 만들고자 합니다.
- 특정 릴리스 절차나 배포 플로우(deploy flow)를 AI가 흔들림 없이 실행하게 하고 싶다
- 프로젝트의 규칙을 무엇이든 CLAUDE.md에 적었더니, 토큰 소모량이 늘어나기 시작했다
- 팀원들 사이에서 특정 태스크 자동화 지식을 쉽게 공유하고 싶다
이번에는 Skills의 개요부터 구체적인 Slack 연동 사용 절차, AI 자체에게 스킬을 생성하게 하는 메타적 접근 방식, 그리고 다른 기능과의 차이점까지 실무 관점에서 기재합니다.
Skills (스킬)이란, ClaudeCode에게 '특정 태스크를 어떻게 실행할지'에 대한 절차서, 관련 스크립트, 참조 문서를 한데 모은 재사용 가능한 지식 패키지(폴더 구성)입니다.
- 동적 로드(On-demand loading)
모든 정보를 항상 컨텍스트에 유지하는 것이 아니라, 사용자의 입력이나 맥락으로부터 Claude 스스로가 '지금 이 스킬이 필요하다'고 판단한 순간에만 메모리(컨텍스트 윈도우)에 불러옵니다. - 점진적 공개(Progressive disclosure)
평소에는 스킬의 '이름과 설명(description)'만 가볍게 인식하고, 발동 시에만 SKILL.md 본문이나 동봉된 스크립트를 참조하기 때문에 토큰 효율성이 매우 뛰어납니다. - 리소스 포함
마크다운 지시서뿐만 아니라, 검증용 스크립트(scripts/)나 템플릿(assets/)을 같은 폴더에 함께 넣어 Claude가 직접 실행할 수 있습니다.
실무에서 다음과 같은 시나리오에서 Skills는 큰 힘을 발휘합니다.
-
사내 규정에 따른 코드 리뷰 및 보안 감사
-
특정 보안 체크리스트나 코딩 규칙을 스킬로 만들어, 코드 리뷰를 요청할 때 자동으로 작동시키기
-
정형적인 문서/사양서 생성
-
API 명세서나 DB 설계서 등 팀이 결정한 포맷(템플릿)에 맞춰 마크다운을 자동 생성 및 출력하기
-
복잡한 인프라 마이그레이션 작업
-
실행 순서가 엄격하게 정해져 있는 데이터베이스의 마이그레이션이나 롤백 절차를 안전하게 단계별로 실행시키기
-
외부 도구 자동 연동 (CI/CD, 채팅 도구 등)
-
앞서 언급된 Slack 알림이나 사내 eSa/Notion으로의 자동 게시 등 API가 수반되는 정형 운영 작업
'개발이 어느 정도 마무리된 성과를 팀의 Slack 채널에 자동으로 깔끔하게 통지하는 스킬'을 예로 들어, 실제 디렉토리 구조와 구현 절차를 기재합니다.
프로젝트 루트의 .claude/skills/ 아래에 다음과 같은 폴더와 SKILL.md를 만듭니다.
.claude/
└── skills/
└── slack-notifier/
...
YAML 프런트매터(frontmatter)에 있는 description이 Claude가 스킬을 발동시키는 트리거가 됩니다.
---
name: slack-notifier
description: 중요한 기능 구현이나 버그 수정이 완료했을 때, 성과의 요약본을 작성하여 Slack 채널에 통지하는 스킬. Slack에 게시하고 싶거나 성과 보고 시 사용.
...
세션 중에 사용자가 다음과 같이 지시하거나, Claude가 맥락을 감지합니다:
'이번 리팩토링의 성과를 Slack에 통지해 줘'
그러면, Claude는 자동으로 slack-notifier 스킬을 로드하고, 내부의 Python 스크립트를 안전하게 실행하여 Slack 게시까지 완료합니다. 개발 흐름을 끊지 않고 루틴 작업을 수행할 수 있습니다.
※배치만 하면, Claude Code가 다음 세션부터 자동으로 불러와 인식해 줍니다 (특별한 등록 명령어 등은 불필요).
직접 제로(zero)부터 SKILL.md나 디렉토리 구성을 수동으로 만드는 경우는 거의 없습니다.
ClaudeCode를 사용하여 스킬 자체를 Claude에게 정의/생성하게 합니다.
CLI 프롬프트에서, 아래 예시처럼 요구사항을 전달하여 스킬을 만들게 (대화 형식) 합니다.
앞으로 팀 단위로 마이그레이션 스크립트를 실행할 기회가 늘어날 것입니다. .claude/skills/db-migration/ 경로 아래에 안전한 체크와 실행을 수행하는 스킬을 만들어 주세요. 필요한 SKILL.md나 헬퍼 스크립트도 포함해서 만들어 주세요.
- 트리거(description)를 상세하게 작성하도록 지시: Claude가 '어떤 문맥에서 이 스킬을 사용해야 하는지'를 명확히 스스로 정의하게 합니다.
- 최소한의 구조로 만들기: 스크립트가 필요 없고 지시만으로 종료되는 것은 SKILL.md만 생성하게 하고, 복잡한 경우는 scripts/ 디렉토리도 함께 만들게 합니다.
ClaudeCode에는 'Plugin(플러그인)'이라는 메커니즘도 있습니다.
개인 웹사이트 등을 보면 Skills와 같은 내용이 기재되어 있어 혼동했습니다. 하지만 역할의 범위가 다르므로 주의해야 합니다.
※제가 이해한 바는
- Skills: 개별적인 '편리 도구'
- Plugin: 툴이나 설정을 모아서 남에게 배포하기 위한 '툴박스'
| 항목 | Skills(스킬) | Plugin(플러그인) |
|---|---|---|
| 위치 설정 | 작업별 '절차서/노하우'의 최소 단위 | 여러 스킬이나 슬래시 커맨드, 훅을 모은 '배포 패키지' |
ClaudeCode의 Skills는 종속화되기 쉬운 개발 절차나 정형 작업을 AI가 정확하고 효율적으로 수행하도록 하는 강력한 편리 도구입니다.
항상 메모리를 소비하는 CLAUDE.md와 달리, 필요한 때만 동적으로 호출되는 '온디맨드 지식'으로 설계되었기 때문에 대규모 프로젝트에서도 컨텍스트를 압박하지 않고 운영할 수 있으며 팀과 공유도 가능합니다.
팀의 효율화를 위해 3회 이상 수행할 것으로 예상되는 작업은 처음에 Skills를 만들어서 자동화할 수 없을지 고민하는 습관을 들이고 싶습니다.
참고 (감사)
- AI에게 질문하며
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기