# Create Skill

> Claude Code Skill을 생성하거나 기존 스킬을 개선합니다. 스킬 생성, 스킬 수정, SKILL.md 작성, 새 스킬 만들기, 스킬 개선, 스킬 업데이트 요청 시 활성화.

- Skill: `khw1031/create-skill` (Agent Skill, multi-file: 6 files)
- Install (CLI): `npx skillmds@latest add khw1031/create-skill`
- Raw SKILL.md: https://api.skillmd.com/api/skills/khw1031/create-skill/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: khw1031 (https://skillmd.com/u/khw1031)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/khw1031/create-skill

---


# Skill 생성

Claude Code Skill을 생성하는 가이드입니다.

## Progressive Disclosure 핵심

> **컨텍스트 윈도우는 공공재입니다.** Claude는 이미 충분히 똑똑합니다. Claude가 모르는 정보만 추가하세요.

스킬은 3단계로 정보를 로드합니다. 생성 시 각 단계의 역할을 명확히 분리하세요.

| 단계 | 내용 | 토큰 예산 | 위치 |
|------|------|----------|------|
| 1단계 Discovery | name + description | ~100 | frontmatter |
| 2단계 Activation | 핵심 지침, 사용 방법 | <5000 (<500줄) | SKILL.md 본문 |
| 3단계 Execution | 상세 문서, 스크립트, 리소스 | 무제한 | references/, scripts/, assets/ |

**원칙:** 1단계만으로 "이 스킬이 필요한가?" 판단 가능해야 하고, 2단계만으로 작업 수행이 가능해야 합니다. 3단계는 필요 시에만 로드합니다.

## 디렉토리 구조

```
skill-name/
├── SKILL.md          # Stage 2: 핵심 지침 (필수, <500줄)
├── references/       # Stage 3: 상세 문서 (*.md)
│   └── detail.md
├── scripts/          # Stage 3: 실행 가능한 코드
│   └── main.py
└── assets/           # Stage 3: 템플릿, 설정, 리소스
    └── template.json
```

| 디렉토리 | 역할 | 예시 |
|----------|------|------|
| `references/` | 상세 가이드, 예제, 스키마 문서 | `options.md`, `examples.md` |
| `scripts/` | 스킬이 실행하는 코드 (자체 완결적) | `lint.sh`, `analyze.py` |
| `assets/` | 정적 리소스, 템플릿 파일 | `template.json`, `config.yaml` |

## 필수 요소

| 필드 | 설명 | 제약 |
|------|------|------|
| `name` | 스킬 식별자 | 1-64자, 소문자/숫자/하이픈만, 디렉토리명과 일치 |
| `description` | 무엇 + 언제 | 1-1024자, 트리거 키워드 포함 |

## description 작성 패턴

```yaml
description: >
  [무엇을 하는지 1-2문장]
  [언제/어떤 키워드에 사용하는지]
```

**예시:**
```yaml
description: >
  PDF 파일에서 텍스트와 테이블을 추출합니다.
  PDF 작업, 문서 추출, 폼 처리 요청 시 사용.
```

## 생성 단계

### 1단계: 디렉토리 생성

```bash
mkdir -p skills/{name}/references
# 필요 시 추가
mkdir -p skills/{name}/scripts
mkdir -p skills/{name}/assets
```

### 2단계: Frontmatter 작성

```yaml
---
name: skill-name
description: >
  무엇을 하는지 설명.
  언제 사용하는지 트리거 키워드 포함.
---
```

상세 필드는 [Frontmatter 스키마](references/schema.md) 참조.

### 3단계: 본문 작성

본문은 Stage 2입니다. <500줄, <5000 토큰을 유지하며 핵심만 포함합니다.

**기본 구조:**

```markdown
# 스킬 제목

## 개요
핵심 기능 2-3문장

## 사용 방법
단계별 지침 (핵심만)

## 상세 정보
- [참조 문서](references/detail.md)
```

**판단 기준:** 본문에 넣을지, references/로 분리할지:
- 본문: 매번 참조해야 하는 핵심 규칙, 필수 워크플로우
- references: 예제 모음, 상세 옵션, 엣지 케이스, 배경 설명

상세 가이드는 [본문 작성 가이드](references/body-guide.md) 참조.

### 4단계: 검증

```
□ name이 1-64자, 소문자/숫자/하이픈만 사용하는가?
□ name이 디렉토리명과 일치하는가?
□ description이 무엇+언제를 명확히 설명하는가?
□ SKILL.md 본문이 500줄 이하인가?
□ 본문이 핵심만 포함하고 상세는 references/로 분리되었는가?
□ 파일 참조가 상대 경로이며 1단계 깊이인가?
```

상세 검증/보안 가이드는 [검증 및 보안](references/validation.md) 참조.

## 파일 참조 규칙

스킬 내부 파일을 참조할 때:

- **상대 경로** 사용 (절대 경로 금지)
- **1단계 깊이**만 참조 (`references/file.md` O, `references/sub/file.md` X)
- Markdown 링크 형식: `[표시 텍스트](references/file.md)`

```markdown
# 좋은 예
- [상세 가이드](references/guide.md)
- [스크립트](scripts/analyze.py)

# 나쁜 예
- [가이드](/absolute/path/guide.md)       # 절대 경로
- [가이드](references/sub/deep/guide.md)  # 깊은 중첩
```

## 선택 필드

| 필드 | 용도 | 예시 |
|------|------|------|
| `argument-hint` | 인자 힌트 | `[파일경로]` |
| `disable-model-invocation` | 사용자만 호출 | `true` (부작용 있는 작업) |
| `user-invocable` | Claude만 호출 | `false` (내부 지식) |
| `context` | 서브에이전트 실행 | `fork` |
| `agent` | 서브에이전트 유형 | `Explore`, `Plan`, `general-purpose` |
| `allowed-tools` | 도구 제한 | `Read, Grep` |

## 사용 패턴

| 패턴 | 설정 | 용도 |
|------|------|------|
| 일반 스킬 | 기본값 | 사용자/Claude 모두 호출 |
| 사용자 전용 | `disable-model-invocation: true` | 배포, DB 작업 등 부작용 |
| Claude 전용 | `user-invocable: false` | 내부 컨벤션, 배경 지식 |
| 격리 실행 | `context: fork` | 무거운 분석 작업 |

## 상세 가이드

- [Frontmatter 스키마](references/schema.md)
- [템플릿 모음](references/templates.md)
- [본문 작성 가이드](references/body-guide.md)
- [검증 및 보안](references/validation.md)

