7강. Skill의 전환 + 종합 실습

0. 학습 목표
→ Claude.ai에서 배운 Skill 개념을 Claude Code로 옮기고, 지금까지 쌓아온 것을 하나의 1차 완성본으로 종합합니다.
0.1 이번 글에서 다룰 내용
이번 글은 종합 실습 강의입니다.
Claude.ai에서 배운 Skill 개념을 Claude Code로 옮기고,
지금까지 쌓아온 것을 하나의 프로젝트로 종합합니다.
6강에서 한 번 해본 백업 절차를
앞으로 매번 반복하는 대신 재사용 가능한 스킬로 묶고,
이 강의를 마치면 CLAUDE.md·재사용 스킬·백업본까지 갖춘 완성된 프로젝트 폴더, 이른바 1차 완성본이 만들어집니다.
0.2 이번 강의 실습 내용
이번 강의에서 직접 해보는 것은 다음과 같습니다.
- 6강의 백업 절차를 재사용 가능한 스킬로 등록하기
- 규모 있는 요청과 사소한 요청으로 스킬 발동 여부를 시험하기
- 폴더 구조를 정리하고 README.md로 1차 완성본을 마무리하기
| 구분 | 내용 |
| 재사용할 것 | Claude.ai의 Skill 개념(항상 적용되는 게 아니라 필요할 때만), 6강의 백업 습관 |
| 만들 것 | 반복 절차를 담은 스킬, 그리고 완성된 1차 완성본 폴더 |
1. Claude.ai에서 배운 Skill의 핵심
→ Instructions와 Skill의 차이를 되짚고, 6강 백업이 왜 Skill감인지 찾아봅니다.
Instructions와 Skill의 차이를 되짚어봅니다.
Instructions는 모든 대화에 항상 적용되며 "내가 누구인지, 기본 말투"를 담습니다.
Skill은 관련 작업이 들어올 때만 적용되며 "특정 작업의 규칙과 처리 순서"를 담습니다.
5강에서 만든 CLAUDE.md는 사실 Instructions와 비슷한 위치입니다.
이 프로젝트라면 항상 적용되는 배경이기 때문입니다.
그렇다면 지금까지 겪은 것 중 "항상 필요한 건 아니고 특정 상황에서만 필요했던 절차"가 있었을까요.
6강에서 새 기능을 추가하기 전에 폴더를 백업하고, 작업 후 diff로 비교했던 그 절차가 딱 그렇습니다.
6강에서는 한 번 손으로 해봤지만, 규모 있는 작업마다 이걸 반복하려면 번거롭습니다.
이런 "특정 상황에서만 필요한 반복 절차"가 바로 Skill로 묶기 좋은 대상입니다.
2. CLAUDE.md와 Skill의 역할 나누기
→ 왜 백업 절차를 CLAUDE.md가 아니라 Skill에 담아야 하는지 확인합니다.
"새 기능 추가 전엔 백업부터"라는 규칙을 5강의 CLAUDE.md에 넣으면, 오타 하나 고치는 사소한 요청에도 이 절차가 매번 끌려 나옵니다. CLAUDE.md는 프로젝트에 늘 적용되는 배경이기 때문입니다. 반면 이것을 Skill로 만들면 규모 있는 기능 추가 작업일 때만 켜집니다. 정리하면 CLAUDE.md는 "항상 유효한 배경"을, Skill은 "특정 작업 유형에서만 필요한 절차"를 담당합니다. 같은 규칙이라도 어디에 두느냐에 따라 늘 켜질지, 필요할 때만 켜질지가 갈립니다.
3. Claude Code에서 스킬은 어떤 모습인가
→ 스킬 파일의 저장 위치와 구조, description의 역할을 확인합니다.
Claude Code에서 이런 재사용 절차는 프로젝트 폴더 안의 .claude/skills/ 폴더에 저장됩니다.
스킬 하나는 그 안에 자기 이름의 폴더를 갖고, 그 안에 SKILL.md라는 파일로 정의됩니다.
예를 들어 백업 절차 스킬이라면 .claude/skills/backup-before-feature/SKILL.md 같은 경로가 됩니다.
SKILL.md 파일의 맨 위에는 이 스킬이 무엇이고 언제 쓰는지를 적는 부분(YAML frontmatter)이 있고,
그 아래에 실제 수행할 절차가 적힙니다. 대략 이런 형태입니다.
---
name: backup-before-feature
description: 규모 있는 기능을 추가하기 전에 프로젝트를 백업하고, 작업 후 변경 내용을 비교하는 절차. 사소한 수정에는 쓰지 않는다.
---
# 기능 추가 전 백업 절차
1. 현재 프로젝트 폴더 전체를 백업본으로 복사한다
2. 요청받은 기능을 추가한다
3. 백업본과 현재 폴더의 차이를 비교해 보여준다
여기서 핵심은 description입니다.
Claude Code는 이 설명을 보고 "지금 요청이 이 스킬을 써야 하는 상황인지"를 스스로 판단합니다.
이는 Claude.ai에서 배운 "Skill의 description이 발동 여부를 결정한다"는 원리와 정확히 같습니다.
이 원리는 나중에 17강에서 나만의 MCP 서버를 만들 때 다시 등장합니다.
4. 실습 — 반복 절차를 스킬로 만들기
→ 6강 백업 절차를 스킬로 등록하고, 발동 여부를 시험합니다.
4.1 스킬 등록하기
inventory-project 폴더에서 Claude Code를 실행하고, 6강에서 손으로 해본 절차를 스킬로 정리해달라고 요청합니다.
cd ~/inventory-project
claude

6강에서 내가 손으로 했던 절차
(작업 전 폴더 백업 → 기능 추가 → 백업본과 비교)를
재사용 가능한 스킬로 만들어줘.
조건:
- 어떤 상황에서 이 절차를 써야 하는지 description에 명확히 적어줘
- 단계를 순서대로 나눠줘
- 이 프로젝트의 .claude/skills/ 아래에 등록되는 형태로 만들어줘

4.2 스킬 등록 확인하기
승인 후, .claude/skills/ 폴더 안에 스킬 폴더와 SKILL.md가 생겼는지 확인합니다.
cat .claude/skills/*/SKILL.md
cat은 "파일이 실제로 만들어졌는지"를 보는 방법입니다.
이와 별개로, Claude Code가 그 스킬을 실제로 인식하고 있는지는 세션 안에서 확인할 수 있습니다.
방법은 두 가지입니다. 하나는 슬래시 명령어를 쓰는 것이고, 다른 하나는 지금까지처럼 자연어로 물어보는 것입니다.
/skills
/skills를 입력하면 현재 세션이 인식하는 스킬 목록이 나옵니다.
방금 만든 백업 스킬 이름이 그 목록에 있으면 정상입니다. 명령어가 기억나지 않으면, 그냥 이렇게 물어봐도 됩니다.
지금 이 프로젝트에서 쓸 수 있는 스킬이 뭐가 있어?
파일이 생긴 것(cat)과 Claude Code가 그것을 인식하는 것(/skills)은 다른 확인입니다. 둘 다 맞아야 다음 단계에서 스킬이 제대로 발동합니다.
💡 팁: 파일을 직접 고쳤는데 목록에 바로 안 보이면, 세션이 아직 이전 상태를 물고 있을 수 있습니다. 이럴 때는 /reload-skills로 다시 스캔하거나 세션을 재시작하면 반영됩니다. (슬래시 명령어 이름은 버전에 따라 다를 수 있으니, /만 입력해 뜨는 목록에서 "skill"이 들어간 명령을 찾아도 됩니다.)
4.3 스킬 실행 여부 시험하기
등록한 스킬이 필요할 때만 켜지는지 시험합니다.
3절에서 본 대로, 판단 근거는 스킬의 description입니다.
규모 있는 요청과 사소한 요청을 각각 넣어, 백업 절차가 켜지는 상황과 켜지지 않는 상황을 비교합니다.

재고 수량을 일괄 수정하는 기능을 추가해줘.
이런 규모 있는 작업에는 백업 절차가 먼저 제안되는지 봅니다.

4.3 발동 여부 시험하기
반대로 아래처럼 사소한 요청에는 그 절차가 끌려 나오지 않는지도 확인합니다.

출력 메시지의 오타 하나만 고쳐줘.
▶ 지금 해보세요
- 위 요청문으로 스킬을 만들고,
cat .claude/skills/*/SKILL.md로 등록됐는지 확인합니다. - 규모 있는 요청(일괄 수정)을 넣어 백업 절차가 제안되는지 봅니다.
- 사소한 요청(오타 수정)을 넣어 그 절차가 끌려 나오지 않는지 확인합니다.
✔ 확인 기준: 규모 있는 작업에는 절차가 제안되고, 사소한 작업에는 조용하면 성공입니다. description이 발동을 가른다는 것을 확인한 셈입니다.
5. 종합 실습 — 1차 완성본 만들기
→ 지금까지 쌓은 폴더 구조를 정리하고, README.md로 전체 내용을 기록합니다.
5.1 폴더 구조
이제 inventory-project 폴더가 어떤 구조인지 전체를 짚어봅니다. Claude Code 세션에서 나온 뒤(/exit) 터미널에서 확인하거나, 세션 안에서 "이 폴더 구조를 보여줘"라고 물어도 됩니다.

inventory-project/
├── CLAUDE.md ← 5강에서 만든 프로젝트 배경·규칙
├── inventory.py ← 3~6강에 걸쳐 기능이 추가된 본체
├── .claude/skills/ ← 이번 강의에서 만든 재사용 절차
└── (project_v1은 홈 폴더에 별도 보관된 6강 백업본)
5.2 README.md
여기에 마지막 한 조각을 더합니다.
지금까지 무엇을 만들었는지 한눈에 보이는 README.md입니다.
Claude Code에 프로젝트 정리를 요청해 문서로 남깁니다.

이 프로젝트의 현재 구조와 지금까지 추가된 기능을
README.md로 정리해줘.

승인 후, 실제로 README.md가 만들어졌는지 확인합니다.
터미널에서 cat README.md로 열어보거나, VS Code 같은 편집기로 열어봐도 됩니다.
프로젝트 설명과 지금까지 추가한 기능이 정리되어 있으면 됩니다.
cat README.md
이 README.md까지 더해지면, 최종 폴더 구조는 다음과 같습니다.
inventory-project/
├── CLAUDE.md ← 5강 프로젝트 배경·규칙
├── inventory.py ← 3~6강 기능이 쌓인 본체
├── README.md ← 7강, 프로젝트 전체 요약
├── .claude/skills/ ← 7강 재사용 절차
└── (project_v1은 홈 폴더의 6강 백업본)
✔ 확인 기준: CLAUDE.md, 기능이 쌓인 inventory.py, 재사용 스킬, README.md, 백업본까지 갖춘 폴더가 완성되면 1차 완성본이 완성된 것입니다. 이 폴더는 사라지지 않고, 이후 MCP·VS Code 트랙을 마친 뒤 그대로 이어받아 확장판으로 발전합니다. 실습 PC에 잘 보관해 두세요.
6. 지금까지 만든 것은 자동화의 어떤 부분인가
→ 오늘까지 만든 조각들을 자동화 관점에서 정리하고, 다음 단계에 필요한 것을 상상해봅니다.
오늘까지 만든 조각들을 자동화 관점에서 정리해봅니다.
CLAUDE.md는 Claude가 "이 프로젝트에서 무엇을 해야 하는지"를 매번 새로 설명하지 않아도 되게 합니다.
4강의 승인 흐름은 사람이 개입해 확인하는 지점으로, 자동화될수록 줄어드는 부분입니다.
6강의 백업 절차는 실수해도 되돌릴 수 있는 안전망으로, 오히려 자동화될수록 더 중요해집니다.
그리고 이번에 만든 스킬은 사람이 짧게 지시만 해도 정해진 절차가 알아서 실행되게 합니다.
이 네 가지 중 "사람이 없어도 알아서 돌아가게" 만드는 데 가장 가까운 것은 스킬입니다.
다만 지금은 여전히 사람이 터미널에 입력해야 시작됩니다.
무언가 정해진 시간이나 외부 신호로 자동 실행되게 하려면 두 가지가 더 필요합니다.
하나는 MySQL이나 email 같은 외부 서비스와 연결하는 방법이고(다음 MCP 트랙),
다른 하나는 정해진 시간에 스스로 실행되게 하는 스케줄링입니다.
▶ 지금 해보세요
- 지금 만든 재고관리 프로젝트를 완전히 자동화한다면 무엇이 사람 개입 없이 돌아가면 좋을지 하나 고릅니다.
- "언제 실행되면 좋은가 / 무엇을 하면 좋은가 / 사람이 꼭 확인해야 할 부분은 어디인가" 세 가지로 나눠 적어봅니다.
- 이 메모는 다음 MCP 트랙에서 다시 꺼내 쓰니 버리지 말고 보관합니다.
✔ 확인 기준: "완전 자동화"도 결국 오늘 배운 조각(CLAUDE.md, 승인 지점, 스킬)의 확장이라는 것, 그리고 "언제 실행되는가"와 "외부와 연결되는가"가 다음 단계의 핵심 질문이라는 걸 느끼면 충분합니다.
→ 다음 강의 (8강): 이 1차 완성본을 외부 세계와 연결하는 첫걸음으로, MCP라는 개념을 이해합니다.