시즌 3 · 에이전트에게 일을 맡기기01 / 04다음: 도마를 하나 더 놓기

무료 강의 · 시즌 3 · 1강 / 4

반복을 능력으로 바꾸기

무료 강의 시즌 3의 1강. 시즌 2에서 만든 커스텀 명령어를 스킬로 승격해요. 명령어는 내가 불러야 오지만, 스킬은 에이전트가 알아서 꺼내 씁니다.

끝나면 손에 남는 것: 자연어로 말해도 알아서 실행되는 내 첫 스킬 하나

이 강의 완성 예시 열어보기내가 불러야 오는 명령어와, 알아서 오는 스킬의 차이를 나란히 놓았어요.

시즌 2의 마지막 강의를 이렇게 끝냈어요.

여기까지가 맛보기예요. 커스텀 명령어는 훨씬 깊게 들어갈 수 있는데, 그건 다음 시즌의 이야기예요.

오늘이 그 다음 시즌이에요. 약속을 갚을 차례죠.

시즌 2에서 만든 /deploy 명령어를 기억하나요. 편했지만 한 가지 아쉬웠어요. 내가 불러야만 왔거든요. 오늘 그걸 바꿉니다.

오늘 만들 것

/deploy라고 치지 않고 그냥 "이거 인터넷에 올려줘"라고 말해도, 에이전트가 알아서 절차를 꺼내 쓰는 상태.

그리고 "매번 같은 말을 두 번 하고 있다면 그건 능력으로 만들 후보"라는 감각.

준비물

  • 시즌 2를 마친 상태 (.claude/commands/deploy.mdCHECKUP.md가 있어요)
  • my-page 폴더
  • 30분

없다면 괜찮아요. 시즌 2의 4강으로 잠깐 다녀오세요. 5분이면 만들어요.

따라 하기

1. 요리책을 선반에 꽂아두기

주방을 떠올려 봐요. 요리를 시킬 때마다 레시피를 처음부터 읽어주는 방법이 있어요. 매번 똑같이요.

다른 방법도 있죠. 요리책을 선반에 꽂아두는 거예요. 요리사가 파스타를 만들 차례가 되면 알아서 그 페이지를 펴요. 내가 "27쪽 봐"라고 안 해도요.

시즌 2에서 만든 커스텀 명령어는 첫 번째예요. /deploy라고 불러야 열려요.

스킬은 두 번째예요. 선반에 꽂아두면 필요할 때 알아서 꺼내 읽어요.

2. 파일이 아니라 폴더예요

여기서 딱 하나만 기억하면 돼요. 명령어는 파일이고, 스킬은 폴더예요.

.claude/commands/deploy.md        ← 명령어 (파일 하나)

.claude/skills/deploy/            ← 스킬 (폴더)
└── SKILL.md

왜 폴더냐면, 나중에 참고 자료를 같이 넣을 수 있거든요. 그건 6번에서 해볼게요.

3. 명령어를 스킬로 옮기기

에이전트에게 시키세요.

.claude/commands/deploy.md 파일을 읽어 줘.

그 내용을 .claude/skills/deploy/SKILL.md 로 옮겨 줘.
파일이 아니라 폴더 구조로 만들어야 해.

맨 위에 이런 프런트매터를 넣어 줘:

---
name: deploy
description: 배포·업로드 요청 시 사용. "인터넷에 올려줘", "배포해줘",
  "GitHub에 올려줘" 같은 말이 나오면 이 절차를 따를 것.
---

만든 다음, 폴더 구조를 보여 주고 무엇이 달라졌는지 설명해 줘.

폴더가 생겼나요? 좋아요.

4. description이 전부예요

방금 넣은 description을 다시 보세요. 이게 오늘의 핵심이에요.

에이전트는 대화를 들으면서 이 문장을 계속 곁눈질해요. 내가 하는 말이 여기 적힌 상황과 닮으면, 스스로 이 스킬을 꺼내 읽어요.

그러니 description은 "이 스킬이 뭔지"가 아니라 **"언제 꺼낼지"**를 적어야 해요.

  • 배포 스킬입니다 — 언제 쓰는지 알 수 없어요
  • 배포·업로드 요청 시 사용. "인터넷에 올려줘", "배포해줘" 같은 말이 나오면 — 상황이 적혀 있어요

시즌 2에서 배운 것과 똑같아요. 확인할 수 있는 문장이 지켜지는 문장이었죠.

5. 이름을 부르지 않고 불러내기

먼저 옛날 방식으로 확인해요.

/deploy

잘 되죠. 이제 진짜를 해볼 차례예요. 페이지를 아무거나 한 줄 고치세요. 그다음 명령어를 치지 말고 그냥 말하세요.

이거 인터넷에 올려줘.

에이전트가 스킬을 꺼내 읽고, 그 절차대로 움직여요. /deploy를 친 적이 없는데도요.

이 순간이 오늘의 전부예요. 명령어는 내가 불러야 오지만, 스킬은 알아서 옵니다.

6. 참고 자료를 같이 넣기

폴더인 이유가 여기서 나와요.

시즌 2에서 만든 CHECKUP.md를 기억하죠. 점검 체크리스트요. 그걸 스킬 폴더 안으로 옮기면, 스킬이 필요할 때만 읽어요.

.claude/skills/ 안에 checkup 이라는 스킬을 새로 만들어 줘.

폴더 구조는 이렇게:
.claude/skills/checkup/
├── SKILL.md
└── checklist.md   ← 기존 CHECKUP.md 내용을 여기로

SKILL.md에는 description과, checklist.md를 읽어서 하나씩 점검하라는
지시만 짧게 적어 줘. 체크리스트 내용을 SKILL.md에 복사하지는 마.

이제 "점검해 줘"라고만 해도 알아서 체크리스트를 펴요. 그리고 안 쓸 때는 안 읽어요. 도마를 아끼는 거죠.

7. 이름이 겹치면 누가 이기나

지금 deploy라는 이름이 두 곳에 있어요. 명령어에 하나, 스킬에 하나.

스킬이 이겨요. 그러니 옛 파일은 지워도 돼요.

.claude/commands/deploy.md 를 지워 줘. 스킬로 옮겼으니까.
지운 다음 /deploy가 여전히 되는지 확인해 줘.

여전히 됩니다. 스킬이 그 자리를 물려받았거든요.

8. 다음 스킬 후보 찾기

오늘 이후로 이렇게 하세요.

같은 말을 두 번 설명하고 있다면 멈추세요. 그게 스킬 후보예요.

시즌 2에서는 같은 규칙을 두 번 말하면 CLAUDE.md에 넣으라고 했죠. 규칙은 짧은 원칙이고, 스킬은 절차예요. "이렇게 해"가 규칙이면, "이 순서대로 해"가 스킬이에요.

막혔을 때

"이거 올려줘"라고 했는데 스킬을 안 써요. description이 모호한 거예요. 실제로 내가 쓸 법한 문장을 그대로 적어 넣으세요. "인터넷에 올려줘", "배포해줘", "올려" 처럼요.

/deploy가 목록에 안 보여요. 폴더 이름과 파일 이름을 확인하세요. .claude/skills/deploy/SKILL.md여야 해요. SKILL.md는 대문자입니다. Claude Code를 껐다 켜보세요.

스킬이 자동으로 튀어나와서 귀찮아요. 반대 문제네요. 사용자가 부를 때만 오게 할 수 있어요. SKILL.md 프런트매터에 disable-model-invocation: true를 넣으면 /deploy로만 열려요.

SKILL.md가 너무 길어졌어요. 500줄을 넘기지 마세요. 길어지면 참고 자료를 옆 파일로 빼고, SKILL.md에는 "그 파일을 읽어라"만 남기세요. 6번에서 한 그대로요.

폴더를 못 찾겠어요. .claude는 점으로 시작해서 숨김 폴더예요. VS Code 왼쪽 파일 목록에는 보이는데 탐색기에서는 안 보일 수 있어요. 에이전트에게 "지금 스킬 폴더 구조를 보여 줘"라고 하면 돼요.

마무리 체크

나가기 전에 하나씩 확인해요:

  • .claude/skills/deploy/SKILL.md가 있어요 (파일이 아니라 폴더 안에)
  • description언제 쓸지가 적혀 있어요
  • /deploy로 불러봤어요
  • 명령어를 치지 않고 그냥 말했는데 알아서 실행됐어요 ← 오늘의 순간
  • 참고 자료를 옆 파일로 뺀 스킬을 하나 더 만들었어요
  • .claude/commands/deploy.md를 정리했어요

네 번째가 오늘의 전부예요. 부르지 않았는데 왔다면, 절차가 능력이 된 거예요.

지금까지는 능력을 붙였어요. 다음 강의에서는 일을 나눠 맡겨요. 시즌 2에서 배운 도마를 기억하나요. 도마를 하나 더 놓을 수 있어요.

직접 만들고 돌아가는 걸 확인했나요? 그럼 완료를 눌러요. 이 브라우저에만 저장돼요 — 주방 밖으로는 아무것도 나가지 않아요.

어느 단계에서 막혔나요?

여기에 바로 물어보세요. 계정은 필요 없어요. 헤맨 단계가 있다면 그건 레슨에 난 구멍이지, 읽는 사람 잘못이 아니에요. 답변은 본문에 반영돼서 다음 사람은 매끄럽게 지나가요.

더 고픈가요?

새 강의가 열리는 대로 메일함에 도착해요. 스팸 없이, 언제든 구독 취소할 수 있어요.