# description이 실력이고, 배포가 신뢰 경계다

> 로딩 시점, 이름 규칙, 호출 주체 제어, 플러그인 검증

- Canonical: https://learning.reopt.ai/courses/claude-code-automation/lessons/ccau-m4-concept
- Language: ko-KR
- HTML: https://learning.reopt.ai/courses/claude-code-automation/lessons/ccau-m4-concept

---

[자동화와 확장](/courses/claude-code-automation) 4. 스킬과 플러그인 배포 7 / 9

# description이 실력이고, 배포가 신뢰 경계다

로딩 시점, 이름 규칙, 호출 주체 제어, 플러그인 검증
개념 학습 45 XP 9분

스킬은 만들기 쉬워서 금세 스무 개가 되고, 그때부터 두 가지가 어긋납니다. 하나는 자동 선택 입니다. 세션 시작 시 컨텍스트에 들어가는 것은 description 과 when_to_use 뿐이고, 본문은 호출 시점에야 로딩되어 세션 내내 남습니다. 다른 하나는 정체성 입니다. 호출 이름은 frontmatter의 name 이 아니라 스킬이 위치한 디렉터리 이름에서 오고, 같은 이름의 스킬은 엔터프라이즈 > 개인 > 프로젝트 순으로 덮어써서 팀원의 개인 스킬이 프로젝트 표준 스킬을 이깁니다.
스킬의 힘은 본문이 아니라 description에 있다 listing에 들어가는 것은 description과 when_to_use이고 합산 1,536자에서 잘리며, 전체 listing 예산은 컨텍스트 윈도우의 1%를 기준으로 계산됩니다. 자동 선택이 안 되면 본문이 아니라 설명 앞부분을 고치고, 호출 후 컨텍스트가 무거우면 본문을 500라인 이하로 줄입니다.

| 제어 수단 | 막는 대상 | 흔한 오해 |
| disable-model-invocation: true | 모델 자동 호출 | 서브에이전트 preload도 함께 막힘 |
| user-invocable: false | 슬래시 메뉴 노출 | Skill tool 호출은 막지 못함 |
| skillOverrides | 가시성 on/name-only/off | 플러그인 스킬에는 적용되지 않음 |
| allowed-tools | 아무것도 막지 않음 | 제한이 아니라 사전 허용 목록 |
| disallowed-tools | 스킬 활성 중 도구 제거 | 다음 메시지를 보내면 해제됨 |

누가 스킬을 부를 수 있는지는 서로 다른 네 수단으로 갈립니다.

- 1 디렉터리부터 정하기 호출 이름은 디렉터리 이름에서 오므로 이름 설계를 디렉터리에서 시작합니다.

- 2 설명 앞부분 설계 description과 when_to_use 앞쪽에 핵심 use case를 배치해 잘림에 대비합니다.

- 3 호출 주체 고정 되돌리기 어려운 절차는 disable-model-invocation: true로 모델 호출을 막습니다.

- 4 배포 전 검증 CI에서 claude plugin validate로 frontmatter와 hooks.json을 검사합니다.

실무에 남길 기준

- 같은 이름 스킬은 개인 스코프가 프로젝트 표준을 덮으므로 충돌은 플러그인 네임스페이스로 푼다
- 플러그인은 사용자 권한으로 임의 코드를 실행하므로 출처와 제거 영향 범위를 먼저 본다
- 마켓플레이스를 제거하면 거기서 설치한 플러그인도 함께 사라진다

[이전](/courses/claude-code-automation/lessons/ccau-m3-checklist) 이해했어요 · 계속

---

에이전트용 사이트 안내: https://learning.reopt.ai/llms.txt · 사이트맵: https://learning.reopt.ai/sitemap.xml · 문의: https://learning.reopt.ai/contact
